使用CSS制作立体导航栏
css制作的立体导航栏,具体实现代码如下所示
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>CSS制作立体导航</title> <link rel="stylesheet" href="http://.w3cplus./demo/css3/base.css"> <style> body{ background: #ebebeb; } .nav{ width:560px; height: 50px; font:bold 0/50px Arial; text-align:center; margin:40px auto 0; background: #f65f57; /制作导航圆角/ border-radius: 8px; /制作导航立体效果/ box-shadow: 0 7px 0 #ba4a45; } .nav a{ display: inline-block; / a元素的过渡属性1、设置所有a标签过渡;2、过渡时间;3、速度曲线以慢速开始的过渡效果 / -webkit-transition: all 0.2s ease-in;/ Safari 和 Chrome / -moz-transition: all 0.2s ease-in;/ Firefox / -o-transition: all 0.2s ease-in;/ Opera / -ms-transition: all 0.2s ease-in;/ IE 9 / transition: all 0.2s ease-in; } .nav a:hover{ / 鼠标移上时的效果;定义2D旋转10度 / -webkit-transform:rotate(10deg); -moz-transform:rotate(10deg); -o-transform:rotate(10deg); -ms-transform:rotate(10deg); transform:rotate(10deg); } .nav li{ position:relative; display:inline-block; padding:0 16px; font-size: 14px; text-shadow:1px 2px 4px rgba(0,0,0,.5); list-style: none outside none; } /制作导航分隔线效果/ .nav li::before, .nav li::after{ content:""; position:absolute; :14px; height: 25px; width: 1px; } .nav li::after{ right: 0; / 线性渐变 / background: -moz-linear-gradient(, rgba(255,255,255,0), rgba(255,255,255,.2) 50%, rgba(255,255,255,0)); background: -webkit-linear-gradient(, rgba(255,255,255,0), rgba(255,255,255,.2) 50%, rgba(255,255,255,0)); background: -o-linear-gradient(, rgba(255,255,255,0), rgba(255,255,255,.2) 50%, rgba(255,255,255,0)); background: -ms-linear-gradient(, rgba(255,255,255,0), rgba(255,255,255,.2) 50%, rgba(255,255,255,0)); background: linear-gradient(, rgba(255,255,255,0), rgba(255,255,255,.2) 50%, rgba(255,255,255,0)); } .nav li::before{ left: 0; background: -moz-linear-gradient(, #ff625a, #9e3e3a 50%, #ff625a); background: -webkit-linear-gradient(, #ff625a, #9e3e3a 50%, #ff625a); background: -o-linear-gradient(, #ff625a, #9e3e3a 50%, #ff625a); background: -ms-linear-gradient(, #ff625a, #9e3e3a 50%, #ff625a); background: linear-gradient(, #ff625a, #9e3e3a 50%, #ff625a); } /删除导航第一个导航项左边的分隔线/ .nav li:first-child::before{ background: none; } /删除导航一个导航右边的分隔线/ .nav li:last-child::after{ background: none; } .nav a, .nav a:hover{ color:#fff; text-decoration: none; } </style> </head> <body> <ul class="nav"> <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> </body> </html>
效果图
1、body部分用无序列表
2、(1)hover
鼠标移上时的效果。
(2)疑问::before和:before的区别
简单来说单冒号(:)用于CSS3伪类,双冒号(::)用于CSS3伪元素。
w3c关于css选择器的规范
A pseudo-element is made of two colons (::) followed by the name of the pseudo-element.
This :: notation is introduced by the current document in order to establish a discrimination between pseudo-classes and pseudo-elements. For patibility with existing style sheets, user agents must also aept the previous one-colon notation for pseudo-elements introduced in CSS levels 1 and 2 (namely, :first-line, :first-letter, :before and :after). This patibility is not allowed for the new pseudo-elements introduced in CSS level 3.
简单翻译伪元素由双冒号和伪元素名称组成。双冒号是在当前规范中引入的,用于区分伪类和伪元素。不过浏览器需要支持旧的已经存 在的伪元素写法,比如:first-line、:first-letter、:before、:after等,而新的在CSS3中引入的伪元素则不允许再支持旧的单冒号的写法。
那么现在就可以完整的回答标题中的问题了,对于CSS2之前已有的伪元素,比如:before,单冒号和双冒号的写法::before作用是一样的。
所以,如果你的网站只需要兼容webkit、firefox、opera等浏览器,建议对于伪元素采用双冒号的写法,如果不得不兼容IE浏览器,还是用CSS2的单冒号写法比较安全。
以上所述是长沙网络推广给大家介绍的使用CSS制作立体导航栏,希望对大家有所帮助,如果大家有任何疑问请给我留言,长沙网络推广会及时回复大家的。在此也非常感谢大家对狼蚁SEO网站的支持!
长沙网站设计
- 如何进行东阳SEO关键词优化?
- 边坝哪有关键词排名优化:提升你的网站流量与
- 安国百度优化服务:提升您的在线可见性
- 阜康新手做SEO怎么做
- 山西seo网站排名关键词优化:提升您网站曝光率
- 临沂seo网站排名关键词优化:提高你的网站可见
- 广西SEO网站推广怎样付费比较合理
- 双辽SEO网站推广:提升你的网站可见性与流量
- 辽宁企业网站优化购买方式有哪些
- 提升宝清百度SEO排名的实用技巧与策略
- 静宁百度SEO排名:提升您网站曝光率的关键策略
- 彭州百度SEO排名的提升策略和实施指南
- 广南百度关键词SEO:提升网站排名的关键策略
- 辽宁关键词优化怎么做论坛营销
- 吉林百度seo排名如何做到让用户满意
- 内黄百度优化服务:提升在线可见性的关键