通常来说,咱们的网页导航栏
是这么个模式来构建
在结构上:
1.首先咱们须要给导航栏的div 给个类名 通常为nav
2.而后就是一个无序表格
3.因为导航栏的文字通常都是连接用来跳转页面 要在li里面包含一个ahtml
<div class="nav"> <ul> <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><a href="#">关于云道</a></li> </ul> </div>
在样式上: 目前我见过的分为两种
导航栏的文字 裸露 也就是没有滑动门的那种
好比这种浏览器
1.首先写网页以前就要取消 网页默认的边距,否则无论你写什么都跟别人的不同。可是后期就不能这么写了。微信
* { margin: 0; // *是通配选择器 选择全部的标签 padding: 0; }
2.对于表格中的样式 也就是li中的小点点 要进行初始化
由于不一样浏览器对小点点的兼容不支持 并且 小点点也没有那么美观好看 显得很鸡肋字体
ul { list-style: none; }
3.对于连接 咱们通常都取消下划线的写法 由于不够美观处理以下ui
a { text-decoration: none; }
1.2.3 三点都是写导航栏以前的初始化问题
接下来就是让表格里面的li 排列在一行,而且使得li垂直居中,并且要控制之间的距离,咱们通常用浮动来作比较好,浮动的最大的做用就是让多个div在一行显示 而且脱标 再也不占有位置。url
.nav li { float: left; margin: 0 10px; }
4.因为文字长度不能肯定 又由于是纯文字没有必要转换为块级元素 因此不可以给a转换成块级元素 赋予宽 和 高(高根据字体大小会自动肯定) 把a看成文字同样用的好处是 容易居中对齐
通常垂直居中对齐用的就是行高 等于高 也就是 line-height == height
5.接下来再给li之间设置间距
有两种写法 在这里使用起来基本没有什么效果的差距
接着复习一下margin 和 padding的区别把
padding 会撑开盒子 内边距 如图spa
、scala
margin会真正意义上的隔开距离 外边距 如图 code
因为写博客的人是个菜逼 分不清楚用这两个哪一个好 你们就问一下大佬们把 问到的也给我说一下哈哈哈哈哈htm
好了接下来是另外一种导航栏的写法 有推拉门的那种
这种写法跟我上述中讲的不太同样 由于在这里面的 a标签 须要转换成块级元素
转换成块级元素的目的呢 就是滑动门的原理了
滑动门的原理简单来说 是这么个结构
<a> <span> </span> </a>
经过给 标签a 一个背景图片定位到左端
给标签span 一个背景图片定位到右端
如图
左端绿色部分 做为a的背景 右端绿色部分 做为 span 的背景 (左a 右s)
这样实现起来的话 不管文字有多长均可以滑动恰好是这个样子 大概如微信官网 如图
因为字体不同长而背景又须要相同的样式 也就是滑动门原理
跟上述纯文字 导航栏不一样的是 不可以再利用行高=高来垂直居中这些个a了
咱们在垂直居中的时候就能够利用padding-top 这个属性来操做(我查了微信的代码 也是这么作的)
再也不赘述 代码以下
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>微信,是一种生活方式</title>
<style>
/*标题导航栏开始*/
* {
margin: 0; padding: 0; } body { background: url(wx.jpg) repeat-x; } li { list-style: none ; } a { text-decoration: none; } .nav li { float: left; margin: 0 40px; padding-top:21px; } .nav a{ height: 33px; background: url("to.png") no-repeat left; padding-left: 10px; color: #fff; display: block; line-height: 33px; font-weight: 700; font-size:14px; } .nav span { height: 33px; display: block; background: url("to.png") no-repeat right; padding-right: 10px; } .nav a:hover { background: url("ao.png") no-repeat left; } .nav a:hover span { background: url("ao.png") no-repeat right; } </style> </head> <body> <div class="top"> <div class="nav"> <ul> <li><a href="#"><span>首页</span></a></li> <li><a href="#"><span>联系电话</span></a></li> <li><a href="#"><span>活动中心</span></a></li> <li><a href="#"><span>用户指导</span></a></li> <li><a href="#"><span>关于咱们</span></a></li> </ul> </div> </div> </body> </html>