目標:css
css中after僞類,last-child僞類的使用。以及部分css3的屬性。html
過程:css3
在製做導航時。經常會遇到在每一個li後面加入一個切割符號,到最後一個元素的時候,切割符就會去掉的一種效果。web
如圖ide
那麼製做這種一個效果。怎麼用純css很是easy的完畢了。這裏用到了css的僞類。動畫
html部分spa
<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; }
background:linear-gradient(to bottom ,#f82f87,#bo363f,#f82f87) //css3中的漸變樣式code
對每一個li後面加入了一個漸變後,需要清除最後一個li的。orm
這裏面使用了.nav li:last-child:after的僞類,將其寬高設置爲0。htm
結果:
經過對僞類的使用,很是easy的製做了導航中經常碰到的問題。
案例中,還有css3中的transition動畫的使用。transform變形。background:linear-gradient();漸變的設置。