django练手(六):优化网站导航

在以上几篇,网站的模板功能已经可以使用,但导航的样子还是很原始。在这一篇,我优化一下导航。

一.优化导航的色调

我采用重写bootstrap相关css样式的方式优化导航的色调。知乎上有人给了一个网站:https://work.smarchal.com/twbscolor/css/#css, 可以选定颜色,自动生成重写bootstrap样式的css。我直接使用了这个大神贴出来的css代码。他的代码如下:

.navbar-default {
  background-color: #9b59b6;
  border-color: #8e44ad;
}
.navbar-default .navbar-brand {
  color: #ecf0f1;
}
.navbar-default .navbar-brand:hover,
.navbar-default .navbar-brand:focus {
  color: #ecdbff;
}
.navbar-default .navbar-text {
  color: #ecf0f1;
}
.navbar-default .navbar-nav > li > a {
  color: #ecf0f1;
}
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
  color: #ecdbff;
}
.navbar-default .navbar-nav > li > .dropdown-menu {
  background-color: #9b59b6;
}
.navbar-default .navbar-nav > li > .dropdown-menu > li > a {
  color: #ecf0f1;
}
.navbar-default .navbar-nav > li > .dropdown-menu > li > a:hover,
.navbar-default .navbar-nav > li > .dropdown-menu > li > a:focus {
  color: #ecdbff;
  background-color: #8e44ad;
}
.navbar-default .navbar-nav > li > .dropdown-menu > li.divider {
  background-color: #8e44ad;
}
.navbar-default .navbar-nav .open .dropdown-menu > .active > a,
.navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
.navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
  color: #ecdbff;
  background-color: #8e44ad;
}
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
  color: #ecdbff;
  background-color: #8e44ad;
}
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
  color: #ecdbff;
  background-color: #8e44ad;
}
.navbar-default .navbar-toggle {
  border-color: #8e44ad;
}
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
  background-color: #8e44ad;
}
.navbar-default .navbar-toggle .icon-bar {
  background-color: #ecf0f1;
}
.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
  border-color: #ecf0f1;
}
.navbar-default .navbar-link {
  color: #ecf0f1;
}
.navbar-default .navbar-link:hover {
  color: #ecdbff;
}

@media (max-width: 767px) {
  .navbar-default .navbar-nav .open .dropdown-menu > li > a {
	color: #ecf0f1;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
	color: #ecdbff;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a,
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
	color: #ecdbff;
	background-color: #8e44ad;
  }
}

在static/css文件夹下新建一个css文件,命名为navbar_color.css,把以上代码粘进去。在引入bootstarp的代码下引入这个css文件。引入的代码如下:

<head>
<meta charset="UTF-8">
<title>
    {% block title %}

    {% endblock %}
</title>
<!--引入bootstrap-->
<link rel="stylesheet" href="{% static 'plugin/bootstrap-3.4.1-dist/css/bootstrap.min.css' %}">
<!--引入重写bootstrap的代码-->
<link rel="stylesheet" href="{% static 'css/navbar_color.css' %}">
<!--css代码块开始-->
{% block css %}

{% endblock %}
<!--css代码块结束-->
</head>

引入该代码后导航的样式如下图:
image

二.优化导航的内容

把导航的文字替换成我想要的文字。这一部分内容相对简单,不再贴出代码,把完成后的导航样式展示如下图:
image

posted @ 2023-12-31 11:10  喜气洋洋白云山  阅读(78)  评论(0编辑  收藏  举报