css3制作炫酷导航栏效果
今天主要利用hover选择器。鼠标滑过查看效果。
一。普通导航栏
- Home
- Content
- Service
- Team
- Contact
对于这种普通的导航栏,只是鼠标滑过的时候颜色会变,所以思路变得很简单。
(1)使用ul标签布局
(2)鼠标经过事件
- <div id="demo1">
- <ul>
- <li>Home</li>
- <li>Content</li>
- <li>Service</li>
- <li>Team</li>
- <li>Contact</li>
- </ul>
- </div>
- *{
- padding:;
- margin:;
- list-style:none;
- text-decoration:none;
- }
- a{
- color:#fff;
- }
- #demo1{
- width:600px;
- }
- #demo1 ul li{
- float:left;
- width:100px;
- height:50px;
- text-align:center;
- background:#ccc;
- line-height:50px;
- color:#FFF;
- }
- #demo1 ul li:hover{
- background:#999;
- }
(二)括号类导航栏
对于导航栏的排版这里就不多说了,可以看到当鼠标经过的时候会从文字中出现括号,思路:
(1)当无鼠标经过事件时,括号其实是有的,只不多它处于隐形状态在文字中间
(2)当鼠标经过时,括号从中间移动到两边,并且从隐形变为显示。
- <div id="demo2">
- <ul>
- <li><a href="#">Home</a></li>
- <li><a href="#">Content</a></li>
- <li><a href="#">Service</a></li>
- <li><a href="#">Team</a></li>
- <li><a href="#">Contact</a></li>
- </ul>
- </div>
- #demo2{
- width:600px;
- height:50px;
- margin:20px auto;
- }
- #demo2 ul li{
- position:relative;
- float:left;
- width:100px;
- height:50px;
- text-align:center;
- line-height:50px;
- background:#000;
- }
- #demo2 ul li a:before{
- content:"[";
- margin-right:10px;
- transform:translateX(20px);
- -webkit-transform:translateX(20px);
- -moz-transform:translateX(20px);
- -ms-transform:translateX(20px);
- }
- #demo2 ul li a:after{
- content:"]";
- margin-left:10px;
- transform:translateX(-20px);
- -webkit-transform:translateX(-20px);
- -moz-transform:translateX(-20px);
- -ms-transform:translateX(-20px);
- }
- #demo2 ul li a:before,#demo2 ul li a:after{
- display:inline-block;
- opacity:;
- transition:transform 0.3s, opacity 0.2s;
- -moz-transition:transform 0.3s, opacity 0.2s;
- -webkit-transition:transform 0.3s, opacity 0.2s;
- -ms-transition:transform 0.3s, opacity 0.2s;
- }
- #demo2 ul li a:hover::before,#demo2 ul li a:hover::after,#demo2 ul li a:focus::before,#demo2 ul li a:focus::after {
- opacity:;
- -webkit-transform: translateX(0px);
- -moz-transform: translateX(0px);
- transform: translateX(0px);
- }
三。滑动导航栏
从演示效果来看要注意两点
(1)鼠标经过时有横向从上到下
(2)鼠标经过时文字从上到下并且变换颜色
这就和上一个例子很像了
(1)横线其实是存在的,只不过鼠标没有经过时是在文字上方且透明的,鼠标经过时横线由上到下。
(2)文字这里就要定义一个动画了,因为在鼠标经过时它体现了三种状态:
①文字从现位置划下
②文字从出现在上方
③文字从上方滑到现位置
- <div id="demo3">
- <ul>
- <li><a href="#"><span>Home</span></a></li>
- <li><a href="#"><span>Content</span></a></li>
- <li><a href="#"><span>Service</span></a></li>
- <li><a href="#"><span>Team</span></a></li>
- <li><a href="#"><span>Contact</span></a></li>
- </ul>
- </div>
- #demo3 ul li{
- float:left;
- margin:0 25px;
- position:relative;
- }
- #demo3 ul li a{
- color:#D8761E;
- font-family:'Righteous', cursive;
- display:block;
- padding:10px 0;
- }
- #demo3 ul li span{
- display:block;
- }
- #demo3 ul li a:before{
- content:"";
- position:absolute;
- width:100%;
- height:3px;
- background:#D8761E;
- bottom:;
- opacity:;
- -webkit-transform: translate3d(0, -40px, 0);
- transform: translate3d(0, -40px, 0);
- -webkit-transition: -webkit-transform 0s 0.3s, opacity 0.2s;
- transition: transform 0s 0.3s, opacity 0.2s;
- }
- #demo3 ul li a:hover::before{
- opacity:;
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- -webkit-transition: -webkit-transform 0.5s, opacity 0.1s;
- transition: transform 0.5s, opacity 0.1s;
- -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
- }
- #demo3 ul li a:hover span{
- color:#510301;
- -webkit-animation: anim-francisco 0.3s forwards;
- animation: anim-francisco 0.3s forwards;
- }
- @-webkit-keyframes anim-francisco {
- 50% {
- opacity:;
- -webkit-transform: translate3d(0, 100%, 0);
- transform: translate3d(0, 100%, 0);
- }
- 51% {
- opacity:;
- -webkit-transform: translate3d(0, -100%, 0);
- transform: translate3d(0, -100%, 0);
- }
- 100% {
- opacity:;
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
- }
- @keyframes anim-francisco {
- 50% {
- opacity:;
- -webkit-transform: translate3d(0, 100%, 0);
- transform: translate3d(0, 100%, 0);
- }
- 51% {
- opacity:;
- -webkit-transform: translate3d(0, -100%, 0);
- transform: translate3d(0, -100%, 0);
- }
- 100% {
- opacity:;
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
- }
这里注意的是不能给标签设置宽高,因为一旦设置宽高会影响文字滑动路线,变得很夸张。这里加span也是这个原因,鼠标经过a时让span以a为参照进行滑动。
里面的标签就不解释了,自己查效果会更好哦。
我好无奈呀,用这个显示效果a标签和li的默认样式竟然不能取消,谁能告诉我为什么/(ㄒoㄒ)/~~ 不过自己编译的话在浏览器里是正常的
css3制作炫酷导航栏效果的更多相关文章
- css3 之炫酷的loading效果
css3 之炫酷的loading效果 今天实现了一个炫酷的loading效果,基本全用css来实现,主要练习一下css3的熟练运用 js需要引入jquery 只用到了一点点js 先看效果图 html: ...
- css3实现炫酷的文字效果_空心/立体/发光/彩色/浮雕/纹理等文字特效
这篇文章主要整理一些css3实现的一些文字特效,分享给大家, 相信您看完会有不少的收货哦! 一.css3 空心文字 <style> .hollow{ -webkit-text-stroke ...
- 简单使用CSS3实现炫酷读者墙效果
读者墙,在很多网站上都有,没有遇到过的,可以参考度娘:读者墙http://www.baidu.com/s?wd=%B6%C1%D5%DF%C7%BD 使用基础的Html和CSS写出雏形 需要一提的是头 ...
- 简单CSS3实现炫酷读者墙
如题,给大家介绍和讲解几个常用的CSS3属性,并用到实处. 先看demo(请使用Chrome或者Firefox浏览,IE的靠边): 点此查看实例 觉得爽的可以继续阅读下面的知识点,感觉不爽的可绕行. ...
- css制作最简单导航栏
css制作最简单导航栏
- 【分享】纯jQuery实现星巴克官网导航栏效果
前言 大冬天的没得玩,只能和代码玩. 所以就无聊研究了一下星巴克官网,在我看来应该是基本还原吧~ 请各位大神指教! 官网效果图 要写的就是最上方的会闪现的白色条条 效果分析 1.在滚动条往下拉到一定距 ...
- 移动端如何用swiper实现导航栏效果
在移动端如何用swiper实现导航栏效果 我们在写移动端的时候会有滑动和点击导航后滑动到目标页面功能:而这个功能如果自己写的话会很麻烦,所以我在这推荐一下swiper这个插件. 其实swiper中的官 ...
- 【方法】纯jQuery实现星巴克官网导航栏效果
前言 大冬天的没得玩,只能和代码玩. 所以就无聊研究了一下星巴克官网,在我看来应该是基本还原吧~ 请各位大神指教! 官网效果图 要写的就是最上方的会闪现的白色条条 效果分析 1.在滚动条往下拉到一定距 ...
- 一个炫酷的Actionbar效果
今天在网上看到一个炫酷的Actionbar效果,一个老外做的DEMO,目前很多流行的app已经加入了这个效果. 当用户初始进入该界面的时候,为一个透明的 ActiionBar ,这样利用充分的空间显示 ...
随机推荐
- Android Studio 编译单个module
前期自己要把gradle环境变量配置好 在Terminal中gradle命令行编译apk 输入gradle assembleRelease 会编译全部module编译单个modulecd ./xiru ...
- SVN的使用
- SEO:权重如何做到从0到1
SEO:权重如何做到从0到1 [写于2016年9月]我真的好久好久没到我的博客上去看过了,今天突然登上 seo.chinaz.com,搜索 dkplus.iteye.com,发现自己的博客在百度收录中 ...
- 我将系统从Windows迁移至Linux下的点点滴滴
一.写在最前 由于本人的技术水平有限,难免会出现错误.本文对任何一个人有帮助都是我莫大的荣幸,任何一个大神对我的点拨,我都会感激不尽. 二.技术选型 在2013年8月低的时候,公司中了XXX市场监督局 ...
- 简述 OAuth 2.0 的运作流程
本文将以用户使用 github 登录网站留言为例,简述 OAuth 2.0 的运作流程. 假如我有一个网站,你是我网站上的访客,看了文章想留言表示「朕已阅」,留言时发现有这个网站的帐号才能够留言,此时 ...
- 在 Linux 打造属于自己的 Vim
Linux 系统中很多东西都是以脚本代码.配置文件的形式存在,使用 Linux 系统时,需经常对这些文件进行编辑.很显然,如果没有文本编辑器,江湖之路寸步难行. 我的选择是 Vim.Vim 是 Lin ...
- 分段二次插值——用Python进行数值计算
事实上在实际使用中,高次插值显然是很不适合的,高次插值将所有样点包涵进一个插值函数中,这是次幂高的原因.高次计算复杂,而且刚开始的一点误差会被方的很大.因此将整个区间分为若干个小区间,在每一个小区间进 ...
- javascript继承的三种模式
javascript继承一般有三种模式:组合继承,原型式继承和寄生式继承: 1组合继承:javascript最为广泛的继承方式通过原型链实现对原型属性和方法的继承,通过构造函数实现对实例属性的继承,同 ...
- 前端开发面试题收集(html部分)
1.问:<keygen>是正确的HTML5标签吗? 答:是. <keygen> 标签规定用于表单的密钥对生成器字段.当提交表单时,私钥存储在本地,公钥发送到服务器. 2.问:& ...
- Sql Server系列:SQL语句查询数据库中表、视图、存储过程等组成
1. 查看用户表 select name from sys.tables select name from sys.objects where type='U' select name from sy ...