css3中關於偽類的使用,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();漸層的設定。