来源:自学PHP网 时间:2015-04-14 14:51 作者: 阅读:次
[导读] 目标:css中after伪类,last-child伪类的使用。以及部分css3的属性。过程:在制作导航时,经常会遇到在每一个li后面添加一个分割符号,到最后一个元素的时候,分割符就会去掉的一种效...
|
目标: css中after伪类,last-child伪类的使用。以及部分css3的属性。 过程: 在制作导航时,经常会遇到在每一个li后面添加一个分割符号,到最后一个元素的时候,分割符就会去掉的一种效果。 如图 那么制作这样的一个效果,怎么用纯css很简单的完成了。这里用到了css的伪类。 html部分 然后调用css样式 body{
background: #ebebeb;
}
.nav{
width:560px;
height: 50px;
font:bold 0/50px Arial;
text-align:center;
margin:40px auto 0;
background: #f65f57;
/*制作圆*/
border-radius:9px;
/*制作导航立体风格*/
box-shadow:0px 5px #911;
}
.nav a{
display: inline-block;
-webkit-transition: all 0.2s ease-in;
-moz-transition: all 0.2s ease-in;
-o-transition: all 0.2s ease-in;
-ms-transition: all 0.2s ease-in;
transition: all 0.2s ease-in;
}
.nav a:hover{
-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: 13px;
text-shadow:1px 2px 4px rgba(0,0,0,.5);
list-style: none outside none;
}
/*使用伪元素制作导航列表项分隔线*/
.nav li:after{
content:"";
position:absolute;
top:15px;
right:0px;
width:1px;
height:15px;
background:linear-gradient(to bottom, #f82f87,#B0363F,#f82f87);
}
/*删除第一项和最后一项导航分隔线*/
.nav li:last-child:after{
width:0px;
height:0px;
}
.nav a,
.nav a:hover{
color:#fff;
text-decoration: none;
}
css中的.nav li:after表明了在每一个li后面添加一个元素,正是content内容(制作渐变时,不需要有内容被添加,所以为空)。 background:linear-gradient(to bottom ,#f82f87,#bo363f,#f82f87) //css3中的渐变样式 对每一个li后面添加了一个渐变后,需要清除最后一个li的。 这里面使用了.nav li:last-child:after的伪类,将其宽高设置为0。
结果: 通过对伪类的使用,很简单的制作了导航中经常碰到的问题。 案例中,还有css3中的transition动画的使用,transform变形,background:linear-gradient();渐变的设置。
|
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com