10個css3偽類使用技巧

2021-08-22 19:06:29 字數 2551 閱讀 7041

偽類經常與偽元素混淆,偽元素的效果類似於通過新增乙個實際的元素才能達到,而偽類的效果類似於通過新增乙個實際的類來達到。實際上css3為了區分兩者,已經明確規定了偽類用乙個冒號來表示,而偽元素則用兩個冒號來表示。偽類與偽元素的本質區別就是是否抽象創造了新元素。具體的偽類和偽元素相關知識本文就不深入,下面介紹一下從青銅到王者10個css3偽類使用技巧和運用。直擊案例**

眾所周知,animate/transition box-shadow 可以使用box-shadow屬性來實現盒子陰影效果,但repaint消耗較多,於是這裡提出通過修改偽元素的透明度來實現盒子陰影

實現原理:

通過改變透明度,這樣從乙個非預設值更新它的值,就不需要承擔任何重繪(參見:

(ps:貌似莫名的解鎖了乙個關於前端css優化,壞笑壞笑)

這裡設定乙個空的偽元素設定陰影透明度為0隱藏,再通過滑鼠懸停恢復它的透明度,下面是傳統和偽類實現的**對比

animate/transition box-shadow 可以使用box-shadow屬性來實現盒子陰影效果,但重繪消耗較多

通過修改偽元素的透明度來實現同樣的效果,沒有重繪消耗

複製**

.before 

.before:hover

.after

.after:before

.after:hover:before

複製**

複製**
ul.breadcrumb 

ul.breadcrumb li

ul.breadcrumb li+li:before

ul.breadcrumb li a

複製**

效果:效果:(完整**見後文鏈結)

實現原理:三邊設定邊框,箭頭指向的那個方向的border不用設定,位於箭頭兩邊的邊框顏色為透明(transparent),對邊為主體邊框顏色(較大的)/主體背景顏色(較小的),因為我們要有邊框顏色的三角箭頭,當第乙個箭頭(較大的)被第二個箭頭(較小的)通過準確覆蓋之後剩下沒被覆蓋的邊緣就是合成三角箭頭的邊框了,其顏色就是較大的那個三角箭頭的顏色,可調。而較小的那個三角箭頭的顏色要設定成主體顏色,進行負值定位偏移時要把主體邊框蓋住,從而與主體合在一起了

複製**

.arrow-left:before 

複製**

原理:修改webkit-transform: skewy屬性來修改傾斜度(旋轉也是一樣的道理)

.edge--bottom 

.edge--bottom:after

.edge--bottom:after

複製**

tooltip top

lorem ipsum dolor sit amet

複製**

.tooltip .tooltip-content::after 

.tooltip.top .tooltip-content

.tooltip.top .tooltip-content::after

複製**

原理:typing animation with pseudo-elements 看起來是打字,其實是使用偽元素覆蓋在字串上,然後逐漸減少偽元素覆蓋寬度來實現的視覺效果

webdesign

複製**

.tagline-skill_inner:after 

複製**

h1 

h1:before

複製**

a 

a::before

a::after

複製**

1、ie8不支援css3中很多特性,比如偽元素nth-child,可以使用+號(代表相鄰元素)來實現相同功能

2、google的ie9.js是解決ie5.5到ie8 css3特性相容性問題的js庫

css的世界很美好,每個知識點都可以值得深入研究和實踐,對於偽類、偽元素也有很多土味特效可以寫出來,比如說遮罩、背景模糊,更多高階的滑鼠經過事件特效等等,上邊的10個案例是我個人工作上總結和參考踏得網上資源整理,希望對大家有所幫助

如何使用 CSS3 偽類

在 這些新的 css3 偽類之前,先簡要回顧追溯一下這些在 web 應用中常常被誤解的 css 選擇器。在 1996 年,當 css1 的規範完成後,一些偽類選擇器已被囊括在內,其中許多你幾乎每天都在使用。例如 這些狀態都可以被應用到某個元素,通常是以 a 偽類名 css2 來了和 lang 新偽類...

CSS3 新增偽類

p first of type 父元素中第乙個p子元素 p lastt of type 父元素中最後乙個p子元素 p only of type 父元素中唯一乙個p子元素 p nth of type n 父元素中第n個p型別的p元素 p nth last of type n 父元素中倒數第n個p型別的...

CSS3 新增偽類

p first of type 選擇屬於其父元素的首個 元素的每個 元素。p last of type 選擇屬於其父元素的最後 元素的每個 元素。p only of type 選擇屬於其父元素唯一的 元素的每個 元素。p only child 選擇屬於其父元素的唯一子元素的每個 元素。p nth c...