转行学开发,代码100天——2018-03-29

见过这么多网页,没有导航栏的几乎没见过。因此,对导航栏的练习非常之必要。

导航栏的实现,基本上都是通过链接列表实现,即ul->li->a标签的使用,通过CSS样式控制垂直导航或者水平导航。

 <ul>
<li><a href="#1">导航1</a></li>
<li><a href="#1">导航1</a></li>
<li><a href="#1">导航1</a></li>
</ul>

改导航栏保留基本样式,一般为了美观需要重写设置其样式。

基本步骤:

1.去除a标签的下划线,ul,li标签的圆点标签,去除页面边距等

       *{
margin: 0px;
padding: 0px;
}
li
{
list-style:none;
}
a{
text-decoration: none;
}

2.增加a标签内容样式,字体,背景颜色,边距,行高,居中等;ul,li标签的背景颜色,边距等

a: font-size;background-color;margin;line-height;text-align

li: width,height,background-color;margin;display

因为本例中同时创建了垂直导航和水平导航,所以在li中需要区别对待,水平导航需要设置inline,float

3.标签操作美化,主要针对边框,鼠标移动样式

案例中边框可设置圆角,a标签可增加:hover样式以增加用户体验。

4.CSS内容优化-OOCSS

如果仅是普通的样式要求,至此可以说基本上完成了导航栏标签的样式设置。

但是实际应用中,往往网站的内容很多,样式设置远比这些复杂,因此样式中会产生大量重复样式,造成文件占用资源较多。

鉴于今天学习了OOCSS,也就是面向对象的CSS样式,特对文中样式进行了优化。避免大量重复样式的编写。

<style type="text/css">
*{
margin: 0px;
padding: 0px;
}
ul{
list-style: none;
background-color: #f1f1f1;
} li,a
{
display: block;
color: #000;
text-decoration: none;
width: 100px;
height: 50px;
font-size: 16px;
line-height: 50px;
text-align: center;
}
li
{
margin-right: 10px;
} li,a:hover
{
background-color: #555;
border-radius: 8px;
} #Vnav li
{
display: block;
margin-top: 10px;
margin-left: 10px;
background-color: #f1f1f1;
} #Hnav li
{
display: inline;
background-color: #ccc;
float: left;
} </style>

优化之后较之前的CSS内容,减少了很多,看起来也更加清爽。最后呈现的效果如下:

对于OOCSS,简单地说,需要注意以下几点:

day13—CSS之导航栏的更多相关文章

  1. 谈谈一些有趣的CSS题目(八)-- 纯CSS的导航栏Tab切换方案

    开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...

  2. 巧妙使用checkbox制作纯css动态导航栏

    前提:很多时候.我们的网页都需要一个垂直的导航栏.可以分类.有分类.自然就有展开.关闭的功能.你还在使用jquery操作dom来制作吗?那你就out了! 方案:使用checkbox 的 checked ...

  3. 第8天:CSS制作导航栏

    今天主要学习了网页导航栏的制作.注意:引入外部CSS样式时,如果使用background:url(../images/1.png),一定记得用..跳出当前文件夹,回到上级目录. 一.导航栏实现步骤: ...

  4. Css之导航栏学习

    Css: ul { list-style-type:none; margin:; padding:; overflow:hidden; background-color:blue; /*固定在顶部*/ ...

  5. CSS 笔记——导航栏、下拉菜单、提示工具

    8. 导航栏.下拉菜单.提示工具 (1)导航栏 垂直导航栏 <!DOCTYPE html> <html lang="en"> <head> &l ...

  6. HTML/CSS:导航栏水平和垂直

    1.垂直导航栏 导航栏 = 链接列表导航栏基本上是一个链接列表,因此使用 <ul> 和 <li> 元素是非常合适的.如需构建垂直导航栏,我们只需要定义 <a> 元素 ...

  7. HTML+CSS实现导航栏二级下拉菜单完整代码

    工具是vs code 代码如下 <!DOCTYPE html> <html lang="en"> <head> <meta charset ...

  8. CSS实现导航栏底部动态滚动条效果

    预习了CSS3部分的新知识,想着在不使用JS的情况下实现导航栏滚动条效果,如下: 实现滚动条效果,其实就是在<li></li>标签中让<span>元素的宽度由0变化 ...

  9. html css二级导航栏

    二级导航栏制作: 1.将一级导航栏去除列表样式(list-style:none),并给予浮动,使其横向排列(float:left) 2.给每个li中添加一个<a></a>标签, ...

随机推荐

  1. Redis数据类型:Hashes、Geo操作指令

    Redis数据类型:Hashes.Geo操作指令 Hashes常用操作指令 Redis Hashes是一个键值对的映射表,最对能存储2^32-1(约40亿)个键值对. HSET HGET HSET:将 ...

  2. C程序优化

    1 优化内存使用 后期程序优化的时候看内存分配是否浪费:是否留有安全裕量:有些内存是否分配过多,有些内存是否分配了没使用:尤其是创建对象的时候

  3. 以区间DP为前提的【洛谷p1063】能量项链

    (跑去练习区间DP,然后从上午拖到下午qwq) 能量项链[题目链接] 然后这道题也是典型的区间DP.因为是项链,所以显然是一个环,然后我们可以仿照石子合并一样,把一个有n个节点的环延长成为有2*n个节 ...

  4. 【题解】Oh My Holy FFF

    题目大意   有\(n\)个士兵(\(1 \leq n \leq 10^5\)),第\(i\)个士兵的身高为\(h_{i}\),现在要求把士兵按照原来的顺序分成连续的若干组,要求每组的士兵数量不超过\ ...

  5. python学习三十九天filter() map()用法及lambda搭配使用

    python函数中的 filter() map() 前者是过滤的,后者是映射关系,需要与函数搭配使用,这时候匿名函数派上用场了,用简单的表达式就可以显示比较复杂的功能 1,python函数 filte ...

  6. IOC详解

    Ioc--控制反转详解(转载  http://www.cnblogs.com/qinqinmeiren/archive/2011/04/02/2151697.html) 本文转载与百度知道,简单例子让 ...

  7. 帝国CMS 列表内容模板[!--empirenews.listtemp--]改写为灵动标签[e:loop={}]

    需求描述: 1.将专题列表下的列表单元,自动根据专题页标题或者页面关键词来匹配展示: 2.第一个精确匹配,后面十一个模糊匹配,总数12个: 正文模板中,引入部分为: [!--empirenews.li ...

  8. for循环延伸

    经典面试题解析: for(var i = 1 ; i < 5 ; i++){ console.log(i) } //1 2 3 4 ------------------------------- ...

  9. 2018-8-10-sublime-Text-正则替换

    title author date CreateTime categories sublime Text 正则替换 lindexi 2018-08-10 19:16:52 +0800 2018-2-1 ...

  10. C# 异常处理最佳实践,解决代码分析提示CA1031:不要捕捉一般异常类型的解决办法

    异常类型 异常一般分为系统异常 和 应用异常.系统异常有无法连接数据库,而应用异常是业务逻辑异常,比如授权失败. 在 C# 中异常基于 System.Exception,派生出 System.Syst ...