既然說(shuō)到偽類,這里就用足夠的代碼給表現(xiàn)一下他們的神奇用法。從簡(jiǎn)單到復(fù)雜,可以清晰的看清到偽類的諸多使用方法,對(duì)于有些功能近似的就取其一舉例了:
:first-letter為第一個(gè)字添加樣式,這里用一個(gè)首字下沉的例子來(lái)演示一下:
:first-line中國(guó)是以華夏文明為源泉
p:first-letter{ display: block; float: left; margin-right: .2em; font-size: 1.7em; }
為段落的第一行添加樣式:
::selection (CSS3)錦瑟
p:first-line{ font-weight: bold; font-size: 1.7em; }
錦瑟無(wú)端五十弦,一弦一柱思華年。
莊生曉夢(mèng)迷蝴蝶,望帝春心托杜鵑。
滄海月明珠有淚,藍(lán)田日暖玉生煙。
此情可待成追憶?只是當(dāng)時(shí)已惘然。
設(shè)置文字被選中是的狀態(tài),還是上面那段文字:
.select::selection{ background-color: yellowgreen; }:empty (CSS3)
內(nèi)容為空的元素樣式
我有內(nèi)容div{ width: 60px; height: 40px; background-color: lightgray; margin: 5px; } div:empty{ background-color: darkgray; }
如果中間沒(méi)有內(nèi)容,把href的值作為內(nèi)容:
a:empty:before{ content: attr(href); }:focus
當(dāng)元素獲得焦點(diǎn)時(shí)的樣式
input[type="text"]:focus{ border: 1px purple solid; box-shadow: 0 0 15px black; }:disabled :enabled (CSS3)
被禁用元素的樣式
input:disabled{ background-color: red; } input:enabled{ background-color: yellow; }:checked :read-only :read-write :indeterminate :invalid :valid (CSS3)
偽類 | 描述 |
---|---|
:checked | input中選中的radio、checkbox和select |
:read-only | 有readonly屬性的input、select和textarea元素(firefox不支持) |
:read-write | 沒(méi)有readonly屬性的input、select和textarea可寫(xiě)元素(firefox不支持) |
:indeterminate | 沒(méi)有任一項(xiàng)被選中的radio組(firefox不支持) |
:invalid | input表單驗(yàn)證不通過(guò)的元素 |
:valid | input表單驗(yàn)證通過(guò)的元素 |
:required :optional :in-range :out-of-range :default (CSS3)
input[type="checkbox"]:checked{ outline: 2px solid red; } input:read-only{ background-color: yellow; } input:read-write{ background-color: lightgreen; } input:indeterminate{ outline: 1px solid blue; } input[type="email"]:invalid{ background-color: red; color: #fff; } input[type="email"]:valid{ background-color: #lightgreen; }
偽類 | 描述 |
---|---|
:required | 具有required屬性的input、select和textarea元素 |
:optional | 沒(méi)有required屬性的可編輯的input、select和textarea元素 |
:in-range | 在規(guī)定范圍內(nèi)的合法輸入 |
:out-of-range | 不在規(guī)定范圍內(nèi)的合法輸入 |
:default | 默認(rèn)樣式(僅firefox支持) |
:link :hover :active :visited
:default{ background-color: green; } input:required{ background-color: yellow; } input:optional{ background-color: orange; } input:in-range{ background-color: lightgreen; } input:out-of-range{ background-color: red; color: white; } input:indeterminate{ outline: 1px solid blue; }
:link 錨點(diǎn)的樣式
:hover 鼠標(biāo)浮動(dòng)在元素上方時(shí)的樣式(任何元素)
active 鼠標(biāo)點(diǎn)擊下去的樣式(任何元素)
:visited 鼠標(biāo)點(diǎn)擊過(guò)后的顏色(任何元素)
百度 a:link{ text-decoration: none; font-weight: bold; color: black; } a:hover{ text-decoration: underline; color: blue; } a:active{ text-decoration: none; color: purple; } a:visited{ text-decoration: none; color: darkgray; }:first-child :last-child :nth-child :not :only-child
:first-child 第一個(gè)元素樣式
:last-child 最后一個(gè)元素樣式
:nth-child(n) 第n個(gè)元素樣式(這個(gè)還能玩出花樣的)
:not(selector) 不符合selector選擇器的樣式
ul li{ list-style: none; background-color: skyblue; color: white; text-align: center; width: 100px; height: 20px; margin: 5px auto; float: left; } ul li:first-child{ color: blue; } ul li:last-child{ color: red; } ul li:nth-child(3){ color: darkgreen; } ul li:not([name="except"]){ font-style: italic; }
/*下面實(shí)現(xiàn)偶數(shù)部分樣式變化*/ ul li:nth-child(2n){ /*2n+1可以表示奇數(shù)的*/ background-color: blue; }
/*下面實(shí)現(xiàn)連續(xù)部分樣式變化*/ ul li:nth-child(n+3):nth-child(-n+8){ background-color: blue; } /* :nth-child(n+3)表示第三個(gè)以后的元素 :nth-child(-n+8)表示第8個(gè)以前的元素 因此這里選擇了選擇第三到第八的元素 */
:only-child 放在下一節(jié)和:only-of-type比較講解
:first-of-type :last-of-type :nth-of-type :nth-last-of-type :only-of-type此外CSS3中:first-of-type :last-of-type :nth-of-type(n) :nth-last-of-type(n)用法與上述相似,作用也一致,其中:nth-last-of-type(n)表示倒數(shù)第n個(gè)元素。type和child的兩種具有以下差別:
//偽代碼div1中的唯一子元素h3
div2中的第1個(gè)h3
div2中的第1個(gè)h4
div2中的第2個(gè)h3
h3:nth-of-type(2){ color: #00f; } h4:nth-child(4){ color: #ff0; } h4:only-of-type{ background-color: #ff0; } h3:only-child{ background-color: #f0f; }div3中的第1個(gè)h3
div3中的第1個(gè)h4
div3中的第2個(gè)h3
div3中的第2個(gè)h4
div3中的第3個(gè)h3
div3中的第3個(gè)h4
上面例子中還有 :only-child和CSS3中的:only-of-type兩個(gè)偽類,表示多帶帶的元素,也就是前后沒(méi)有與之相同的元素。具體效果見(jiàn)下圖:
:target:target 選擇器可用于選取當(dāng)前活動(dòng)的目標(biāo)元素(即url中的錨元素)。
下面用target做一個(gè)選項(xiàng)卡的樣式(點(diǎn)擊切換):before :after#tab .title a{ float: left; text-decoration: none; width: 100px; height: 35px; line-height: 35px; text-align: center; border:1px solid black; } #tab .title a:nth-child(n+2){ border-left:none; } #tab .content{ clear:both; position:relative; } #tab .content li{ width:302px; height:300px; border:1px solid black; border-top: none; background-color: white; position:absolute; left:0; top:0; } #tab .content li:target{ z-index:1; }
- 內(nèi)容一
- 內(nèi)容二
- 內(nèi)容三
這個(gè)是最值得一提的,在元素的前后添加內(nèi)容,當(dāng)然也可以添加一個(gè)塊元素,這個(gè)塊變化就無(wú)窮了,下面舉幾個(gè)例子:
首當(dāng)其沖的就是清除浮動(dòng)了
1234*{ margin:0; padding:0; } .float{ width: 40px; height: 40px; background-color: blue; margin: 5px; float: left; color: yellow; } .clr:after{ content: ""; clear: both; overflow: hidden; height: 0; display: block; }自動(dòng)計(jì)數(shù)
hello
world!
world!
world!
world!
world!
hello
world!
world!
world!
world!
world!
h3{ counter-increment: myNumH3; counter-reset: myNumH4; } h3:before{ content: "第"counter(myNumH3)"章 "; color: #08f; } h4{ counter-increment: myNumH4; margin-left: 20px; } h4:before{ content: "第"counter(myNumH3)"-"counter(myNumH4)"節(jié) "; color: #00f; }圖片右上角標(biāo)簽:
new.new,img{ width: 300px; height: 200px; } .new span{ position: relative; display: block; letter-spacing: 2px; font-size:20px; width:30px; height:20px; color: white; top: -190px; left: 262px; z-index:1; transform: rotate(45deg); } .new:after{ content:""; display:block; font-size:20px; width: 0; height: 0; border:solid 35px transparent; border-top-color: red; border-right-color: red; position:relative; top: -224px; left: 230px; }按鈕點(diǎn)擊范圍擴(kuò)大:
按鈕.button{ width:80px; height: 40px; border:2px solid dimgray; background-color: dodgerblue; color: #202020; text-align: center; line-height: 40px; font-size: 20px; margin:20px; } .enlarge:after{ content:""; display: block; height: 60px; width: 100px; position: relative; top: -50px; left: -10px; background-color: rgba(100, 100, 100, 0.4);/*用顏色表示一下區(qū)域,應(yīng)該透明*/ }按鈕右上角提示:
按鈕.cor_num:after{ content: attr(data-num); padding:0; line-height: 22px; position: relative; display: block; background-color: red; top: -50px; left: 68px; width: 24px; height: 24px; border-radius: 12px; color: white; font-size:14px; }對(duì)話框樣式
這是一個(gè)對(duì)話框.dialog{ background-color: pink; border: 2px solid gray; text-align: center; line-height: 80px; width: 150px; height: 80px; margin-bottom: 40px; } .dialog:after{ content:""; display: block; background: inherit; border: inherit; border-top: 0; border-left: 0; position: relative; width:30px; height: 30px; top: -15px; left: 20px; transform: rotate(45deg); }一個(gè)福,我自己寫(xiě)著玩的
福.luck{ float: left; width: 100px; height: 100px; margin:30px; margin-bottom: 45px; } .luck span{ color: gold; position: relative; font-size: 4em; width:70px; height: 70px; transform: rotate(180deg); display: block; top: -80px; left: 16px; } .luck:before{ content:""; display:block; width: 100px; height: 100px; background-color: red; transform: rotate(45deg); }不足之處請(qǐng)多指點(diǎn)。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/113875.html
摘要:出于美化和統(tǒng)一視覺(jué)效果的需求,的自定義就被提出來(lái)了。這里對(duì)實(shí)現(xiàn)方法做個(gè)總結(jié)。實(shí)現(xiàn)思路純實(shí)現(xiàn)的主要手段是利用標(biāo)簽的模擬功能。個(gè)人建議用的和偽元素和是一個(gè)東西。向擁有鍵盤輸入焦點(diǎn)的元素添加樣式。向已被訪問(wèn)的鏈接添加樣式。 checkbox應(yīng)該是一個(gè)比較常用的html功能了,不過(guò)瀏覽器自帶的checkbox往往樣式不怎么好看,而且不同瀏覽器效果也不一樣。出于美化和統(tǒng)一視覺(jué)效果的需求,chec...
摘要:出于美化和統(tǒng)一視覺(jué)效果的需求,的自定義就被提出來(lái)了。這里對(duì)實(shí)現(xiàn)方法做個(gè)總結(jié)。實(shí)現(xiàn)思路純實(shí)現(xiàn)的主要手段是利用標(biāo)簽的模擬功能。個(gè)人建議用的和偽元素和是一個(gè)東西。向擁有鍵盤輸入焦點(diǎn)的元素添加樣式。向已被訪問(wèn)的鏈接添加樣式。 checkbox應(yīng)該是一個(gè)比較常用的html功能了,不過(guò)瀏覽器自帶的checkbox往往樣式不怎么好看,而且不同瀏覽器效果也不一樣。出于美化和統(tǒng)一視覺(jué)效果的需求,chec...
摘要:偽元素被當(dāng)做的樣式來(lái)進(jìn)行展現(xiàn),用法和普通的元素用法是一樣的。中的偽元素使用個(gè)冒號(hào),在中,為了區(qū)分偽類和偽元素,規(guī)定偽元素使用個(gè)冒號(hào)。偽元素的特點(diǎn)優(yōu)點(diǎn)不占用節(jié)點(diǎn),減少節(jié)點(diǎn)數(shù)。不僅塊級(jí)元素可以設(shè)置偽元素,大部分行級(jí)元素也可以。 1 什么是偽元素? CSS 在渲染文檔的時(shí)候,偽元素可以通過(guò) css 給 HTML 添加一個(gè)元素(叫標(biāo)簽也行),這個(gè)元素在文檔樹(shù)中是找不到的。偽元素被當(dāng)做 CSS ...
摘要:規(guī)則命名慣例規(guī)則由選擇符和聲明兩部分組成,其中選擇符用于指出規(guī)則所要選擇的元素,聲明則又由兩部分組成屬性和值。用于選擇作為指定祖先元素后代的標(biāo)簽。維基百科在其引證中大量使用了偽類。維基百科的引證鏈接就是正文里那些不起眼的數(shù)字鏈接。 1.為文檔添加樣式的三種方法 行內(nèi)樣式(寫(xiě)在特定 HTML 標(biāo)簽的 style 屬性里) 嵌入樣式(嵌入的 CSS 樣式是放在 HTML 文檔的 hea...
摘要:注意,鼠標(biāo)點(diǎn)擊后不松開(kāi),此偽類一直激活,直到松開(kāi)鼠標(biāo)。哪些偽類會(huì)同時(shí)激活并影響顯示效果第一,其實(shí)和兩個(gè)偽類之間順序無(wú)所謂。此時(shí)鏈接依然存在,只是已經(jīng)被訪問(wèn)過(guò),所以偽類不再激活。 博主的博客地址:Stillwater的個(gè)人博客轉(zhuǎn)載請(qǐng)注明原文鏈接 一、標(biāo)簽常用的偽類概述 a:link{color:blue} ...
閱讀 1629·2023-04-25 18:19
閱讀 2078·2021-10-26 09:48
閱讀 1079·2021-10-09 09:44
閱讀 1730·2021-09-09 11:35
閱讀 3027·2019-08-30 15:54
閱讀 2020·2019-08-30 11:26
閱讀 2284·2019-08-29 17:06
閱讀 884·2019-08-29 16:38