网页导航栏 html + css的代码实现
前端之家收集整理的这篇文章主要介绍了
网页导航栏 html + css的代码实现,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_502_0@一般来讲,我们的网页导航栏是这么个模式来构建在结构上:1.首先我们需要给导航栏的div 给个类名 一般为nav2.然后就是一个无序表格3.由于导航栏的文字一般都是链接用来@R283404@面 要在li里面包含一个a
<div class="cnblogs_code">
@H_
502_0@在样式上: 目前我见过的分为两种导航栏的
文字 裸露 也就是没有滑动门的那种比如这种

@H_
502_0@1.首先写网页之前就要取消 网页默认的边距,不然不管你写什么都跟别人的不一样。但是后期就不能这么写了。
* {
margin: 0; // *是
通配选择器 选择所有的
标签
padding: 0;
}
@H_
502_0@2.对于表格中的样式 也就是li中的小点点 要进行初始化因为不同浏览器对小点点的兼容
不支持 而且 小点点也没有那么美观好看 显得很鸡肋
ul {
list-style: none;
}
@H_
502_0@3.对于
链接 我们一般都取消下划线的写法 因为不够美观处理如下
a {
text-decoration: none;
}
@H_
502_0@1.2.3 三点都是写导航栏之前的初始化问题接下来就是让表格里面的li 排列在一行,并且使得li垂直居中,而且要控制之间的距离,我们一般用浮动来做比较好,浮动的最大的作用就是让多个div在一行
显示 并且脱标 不再占有位置。
.nav li {
float: left;
margin: 0 10px;
}
@H_
502_0@4.由于
文字长度不能确定 又因为是纯
文字没有必要转换为块级元素 所以不能够给a转换成块级元素 赋予宽 和 高(高根据字体大小会
自动确定) 把a当作
文字一样用的好处是 容易居中对齐一般垂直居中对齐用的就是行高 等于高 也就是 line-height == height5.接下来再给li之间设置间距有两种写法 在这里使用起来基本没有什么
效果的差距接着复习一下margin 和 padding的区别把padding 会撑开盒子 内边距 如图
@H_
502_0@

@H_
502_0@margin会真正意义上的隔开距离 外边距 如图
@H_
502_0@

@H_
502_0@由于写
博客的人是个菜逼分不清楚用这两个哪个好 大家就问一下大佬们把 问到的也给我说一下哈哈哈哈哈
@H_
502_0@好了接下来是另一种导航栏的写法 有推拉门的那种这种写法跟我上述中讲的不太一样 因为在这里面的 a
标签 需要转换成块级元素转换成块级元素的目的呢 就是滑动门的原理了滑动门的原理简单来讲 是这么个结构
@H_
502_0@通过给
标签a 一个背景
图片定位到左端给
标签span 一个背景
图片定位到右端如图
@H_
502_0@

@H_
502_0@左端绿色部分 作为a的背景 右端绿色部分 作为 span 的背景 (左a 右s)这样实现起来的话 无论
文字有多长都可以滑动刚好是这个样子 大概如微信官网 如图
@H_
502_0@
301ebba688c09f00ff2e1c66.png" alt="">
@H_
502_0@由于字体不一样长而背景又需要相同的样式 也就是滑动门原理跟上述纯
文字 导航栏不同的是 不能够再利用行高=高来垂直居中这些个a了我们在垂直居中的时候就可以利用padding-top 这个
属性来操作(我查了微信的
代码 也是这么做的)不再赘述
代码如下
<
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">
微信,是一种生活方式