导航栏实现
一、导航栏展示
二、导航栏实现思路
导航栏在不同的屏幕大小下呈现不同的样式,移动端下使用手风琴菜单(有现成的代码),在sm屏幕下,除了微金所图标和个人中心外,其余都不可见。
三、相关代码
- HTML代码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
<title>导航栏</title>
<link href="./lib/css/bootstrap.css" rel="stylesheet">
<link rel="stylesheet" href="./css/webFont.css">
<link rel="stylesheet" href="./css/index.css">
<!-- HTML5 shim 和 Respond.js 是为了让 IE8 支持 HTML5 元素和媒体查询(media queries)功能 -->
<!-- 警告:通过 file:// 协议(就是直接将 html 页面拖拽到浏览器中)访问页面时 Respond.js 不起作用 -->
<!--[if lt IE 9]>
<script src="https://cdn.jsdelivr.net/npm/html5shiv@3.7.3/dist/html5shiv.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/respond.js@1.4.2/dest/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="wjs_nav">
<nav class="navbar navbar-default">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<!-- 手风琴组件 -->
<button type="button" class="navbar-toggle collapsed wjs_toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand wjs_icon" href="#">
<span class="wjs_font wjs_logo"></span>
<span class="wjs_font wjs_word"></span>
</a>
</div>
<div class="collapse navbar-collapse " id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav wjs_navbar hidden-sm">
<li class="active"><a href="#">我要投资<span class="sr-only">(current)</span></a></li>
<li><a href="#">投资介绍</a></li>
<li><a href="#">投资看点</a></li>
<li><a href="#">我要融资</a></li>
<li><a href="#">内容介绍</a></li>
<li><a href="#">用心推荐</a></li>
</li>
</ul>
<ul class="nav navbar-nav navbar-right wjs_navbar">
<li><a href="#">个人中心</a></li>
</ul>
</div>
</div>
</nav>
</div>
<!-- jQuery (Bootstrap 的所有 JavaScript 插件都依赖 jQuery,所以必须放在前边) -->
<script src="./lib/js/jquery.min.js"></script>
<!-- 加载 Bootstrap 的所有 JavaScript 插件。你也可以根据需要只加载单个插件。 -->
<script src="./lib/js/bootstrap.min.js"></script>
</body>
</html>
- less代码
//导航
.wjs_nav{
.wjs_icon{
height:80px;
line-height: 50px;
text-align: center;
> .wjs_font{
font-size: 40px;
}
>span:first-of-type{
color:red;
}
>span:last-of-type{
color: #0f0f0f;
}
}
.wjs_navbar{
>li{
>a{
line-height: 50px;
font-size: 16px;
&:active,&:focus{
color: #777;
background-color: transparent;
border-bottom: 2px solid red;
box-sizing: border-box;
}
}
}
.active{
>a, a:hover,a:focus{
background-color: transparent;
border-bottom: 2px solid red;
}
}
}
.wjs_toggle{
margin-top: 12px;
}
}
四、相关知识总结
- 加边框后要想不影响盒子的宽高,要添加 box-sizing: border-box;
- 导航栏的高度不应该固定,应该让它的内容撑开其高度