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 ...
- https 安全验证问题
最近为了满足苹果的 https 要求, 经过努力终于写出了方法 验证 SSL 证书是否满足 ATS 要求 nscurl --ats-diagnostics --verbose https://你的域名 ...
- win10系统下连接无线网络掉线问题解决办法
打开驱动精灵----系统诊断 找一个可修复的驱动点击 选择连不上网中的查看更多 有连不上网络,网络连接受限,解决无线间歇性掉网问题 进入计算机管理----设备管理 修改无线网络属性(名称含有wirel ...
- TypeScript
TypeScript: Angular 2 的秘密武器(译) 本文整理自Dan Wahlin在ng-conf上的talk.原视频地址: https://www.youtube.com/watch? ...
- 四、可空类型Nullable<T>到底是什么鬼
值类型为什么不可以为空 首先我们都知道引用类型默认值都是null,而值类型的默认值都有非null. 为什么引用类型可以为空?因为引用类型变量都是保存一个对象的地址引用(就像一个url对应一个页面),而 ...
- 判断一个对象是jQuery对象还是DOM对象
今天调试一段代码的时候,看到其中一个变量,想知道它到底是jquery对象还是dom对象. 虽然直接console出这个对象,看它的内部可以判断出来.但是我想有没有什么更方便的方法呢. 后来我想到了一个 ...
- Memcached简介
在Web服务开发中,服务端缓存是服务实现中所常常采用的一种提高服务性能的方法.其通过记录某部分计算结果来尝试避免再次执行得到该结果所需要的复杂计算,从而提高了服务的运行效率. 除了能够提高服务的运行效 ...
- 使用CSS3的box-shadow实现双透明遮罩层对话框
box-shadow介绍 在我之前的一篇文章<从天猫和支付宝身上学习opcity与rgba>中,介绍了实现双透明遮罩层效果的两种方法,分别是opacity和rgba.他们需要分别依赖于不同 ...
- 是时候搁置Grunt,耍一耍gulp了
也算是用了半年Grunt,几个月前也写过一篇它的入门文章(点此查看),不得不说它是前端项目的一个得力助手.不过技术工具跟语言一样日新月异,总会有更好用的新的东西把旧的拍死在沙滩上(当然Grunt肯定没 ...
- Unity3D和Egret3D的基情
Unity3D依靠多平台发布这个核心特点,目前如日中天,屌丝引擎之王绝无来者.Egret白鹭引擎,也着实在微信上刷了一屏又一屏.这二者似乎风马牛不相及,但是这个无处不搞基的年代,让一切皆有可能. U3 ...