css3中关于伪类的使用

目标:

css中after伪类,last-child伪类的使用。以及部分css3的属性。

过程:

在制作导航时,经常会遇到在每一个li后面添加一个分割符号,到最后一个元素的时候,分割符就会去掉的一种效果。

如图

那么制作这样的一个效果,怎么用纯css很简单的完成了。这里用到了css的伪类。

html部分

<body>
	<ul class="nav">
    	<li><a href="">Home</a></li>
    	<li><a href="">About Me</a></li>
    	<li><a href="">Portfolio</a></li>
    	<li><a href="">Blog</a></li>
    	<li><a href="">Resources</a></li>
    	<li><a href="">Contact Me</a></li>
	</ul>
</body>
然后调用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;
		}
		/*使用伪元素制作导航列表项分隔线*/
		<span style="color:#ff0000;">.nav li:after</span>{
    	<strong> content:"";
         position:absolute;
         top:15px;
         right:0px;
         width:1px;
         height:15px;
         background:linear-gradient(to bottom, #f82f87,#B0363F,#f82f87);</strong>
		}
        /*删除第一项和最后一项导航分隔线*/
		<span style="color:#ff0000;">.nav li:last-child:after</span>{
    <strong>	 width:0px;
         height:0px;</strong>
		}
		.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();渐变的设置。



郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。