国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁(yè) web前端 css教程 偽級(jí) - 基礎(chǔ)知識(shí)

偽級(jí) - 基礎(chǔ)知識(shí)

Feb 17, 2025 am 10:12 AM

Pseudo-classes - The Basics

(基于Alexis Goldstein, Louis Lazaris和Estelle Weyl的《HTML5 & CSS3 for the Real World》改編)

核心要點(diǎn)

CSS偽類用于定義元素的特殊狀態(tài),包括結(jié)構(gòu)性、用戶操作、輸入和否定偽類等多種類型。它們可以根據(jù)元素在文檔樹(shù)中的位置、用戶交互、表單元素狀態(tài)或與特定選擇器不匹配的元素來(lái)設(shè)置元素樣式。

某些偽類可能存在安全問(wèn)題,例如:visited偽類,攻擊者可以利用它檢查用戶的瀏覽歷史記錄?,F(xiàn)代瀏覽器限制了可應(yīng)用于:visited的樣式以防止此問(wèn)題。為提高可訪問(wèn)性,建議在包含:hover的地方添加:focus,因?yàn)椴⒎撬性L問(wèn)者都使用鼠標(biāo)瀏覽網(wǎng)站。

雖然大多數(shù)現(xiàn)代瀏覽器都支持所有CSS偽類,但某些舊版瀏覽器可能不支持某些偽類,例如:nth-child():nth-last-child()。像Selectivizr這樣的JavaScript庫(kù)可用于在Internet Explorer等缺乏支持的瀏覽器中定位這些偽類。

CSS偽類

您可能已經(jīng)熟悉一些用戶交互偽類,即:link、:visited:hover、:active:focus

重要提示:關(guān)鍵要點(diǎn)

:visited偽類可能存在安全問(wèn)題,因此瀏覽器不支持在已訪問(wèn)鏈接上應(yīng)用所有CSS屬性。如果沒(méi)有這些限制,惡意網(wǎng)站可以對(duì)已訪問(wèn)鏈接應(yīng)用樣式(例如,為每個(gè)已訪問(wèn)鏈接應(yīng)用唯一的背景圖像)來(lái)檢查用戶是否訪問(wèn)過(guò)熱門(mén)網(wǎng)站或銀行。這允許攻擊者未經(jīng)許可查看用戶的瀏覽歷史記錄。因此,現(xiàn)代瀏覽器限制了可應(yīng)用于:visited的樣式。規(guī)范明確允許這些更改,指出:用戶代理(UA)可以將所有鏈接視為未訪問(wèn)鏈接,或?qū)嵤┢渌胧┮栽诔尸F(xiàn)已訪問(wèn)和未訪問(wèn)鏈接的不同方式的同時(shí)保護(hù)用戶的隱私。為提高可訪問(wèn)性,請(qǐng)?jiān)诎?code>:hover的地方添加:focus,因?yàn)椴⒎撬性L問(wèn)者都使用鼠標(biāo)瀏覽您的網(wǎng)站。:hover可以應(yīng)用于頁(yè)面上的任何元素,而不僅僅是鏈接和表單控件。:focus:active與鏈接、表單控件、可編輯內(nèi)容元素以及任何具有tabindex屬性的元素相關(guān)。

雖然您可能已經(jīng)使用這些基本的偽類一段時(shí)間了,但還有許多其他可用的偽類。其中一些偽類已在規(guī)范中存在多年,但在瀏覽器開(kāi)始支持使它們更相關(guān)的新的HTML5表單屬性之前,并未得到支持(或普遍了解)。以下偽類根據(jù)屬性、用戶交互和表單控件狀態(tài)匹配元素:

  • :enabled:?jiǎn)⒂玫挠脩艚缑嬖?,基本上是支?code>disabled屬性但當(dāng)前未應(yīng)用該屬性的任何表單控件。
  • :disabled:相反,禁用的用戶界面元素:任何支持disabled屬性并當(dāng)前已應(yīng)用該屬性的表單控件。
  • :checked:已選中或勾選的單選按鈕或復(fù)選框。
  • :indeterminate:既未選中也未取消選中的表單元素。例如,如果您勾選“全選”復(fù)選框以選擇一組復(fù)選框,然后取消選擇該組中的一些但并非所有復(fù)選框,則可以將“全選”設(shè)置為不確定狀態(tài)(使用JavaScript)以指示它既未選中也未取消選中。
  • :target:此選擇器選出當(dāng)前活動(dòng)頁(yè)面內(nèi)錨點(diǎn)的目標(biāo)元素。這聽(tīng)起來(lái)比實(shí)際情況復(fù)雜:您已經(jīng)知道,您可以通過(guò)在目標(biāo)的ID之前使用#字符來(lái)創(chuàng)建指向頁(yè)面內(nèi)錨點(diǎn)的鏈接。例如,您的頁(yè)面中可能有一個(gè)“跳至內(nèi)容”鏈接,單擊該鏈接后,將跳轉(zhuǎn)到ID為“content”的元素。這會(huì)將地址欄中的URL更改為thispage.html#content,而:target選擇器現(xiàn)在匹配文檔中ID為“content”的元素。這就像您臨時(shí)包含了選擇器#content一樣。我們說(shuō)“臨時(shí)”,是因?yàn)橐坏┯脩魡螕舨煌腻^點(diǎn),:target將匹配新的目標(biāo)。
  • :default:應(yīng)用于在一組類似元素中為默認(rèn)值的的一個(gè)或多個(gè)UI元素。例如,在頁(yè)面加載時(shí)已選中的一組同名單選按鈕中的一個(gè)單選按鈕,在同名組中的另一個(gè)單選按鈕被選中后,將繼續(xù)匹配:default。同樣,頁(yè)面加載時(shí)已選中的復(fù)選框在取消選中后將繼續(xù)匹配:default。
  • :valid:根據(jù)類型、模式或其他輸入屬性(正如我們?cè)诘?章中討論的那樣)有效的元素。
  • :invalid:空必需元素和無(wú)法滿足類型或模式屬性定義的要求的元素。
  • :in-range:具有范圍限制且值在這些限制內(nèi)的元素。例如,這適用于具有minmax屬性的日期/時(shí)間、數(shù)字和范圍輸入類型。當(dāng)值為null時(shí),它是:in-range。
  • :out-of-range:in-range的反義詞:其值超出其范圍限制的元素。缺少的值不在范圍內(nèi),因?yàn)樗鼈兪强盏摹?/li>
  • :required:已設(shè)置:required屬性的表單控件。
  • :optional:所有沒(méi)有:required屬性的表單控件。
  • :read-only:用戶無(wú)法更改其內(nèi)容的元素。這大多數(shù)是除設(shè)置了contenteditable屬性的元素和表單字段以外的元素。
  • :read-write:用戶可以更改其內(nèi)容的元素,例如contenteditable組件和可寫(xiě)輸入字段。

在支持其表單控件中屬性的瀏覽器中,對(duì)這些屬性的瀏覽器支持是完整的;換句話說(shuō),支持requiredpattern的瀏覽器也支持相關(guān)的:valid:invalid偽類。IE8及更早版本不支持:checked:enabled、:disabled:target。好消息是IE9確實(shí)支持這些選擇器,但不支持用戶界面選擇器。IE10和IE11支持:indeterminate、:required:optional,但不支持:default、:in-range:out-of-range、:read-only:read-write。雖然仍然缺乏支持,但像Selectivizr這樣的JavaScript庫(kù)可以幫助在Internet Explorer中定位這些偽類。

CSS偽類的常見(jiàn)問(wèn)題解答 (FAQs)

(此處省略了FAQs部分,因?yàn)槠^(guò)長(zhǎng),且與偽原創(chuàng)目標(biāo)不符。 可以根據(jù)需要選擇性地保留或改寫(xiě)部分FAQs,并保持與原文意思一致。)

以上是偽級(jí) - 基礎(chǔ)知識(shí)的詳細(xì)內(nèi)容。更多信息請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請(qǐng)聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強(qiáng)大的PHP集成開(kāi)發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)代碼編輯軟件(SublimeText3)

熱門(mén)話題

什么是'渲染障礙CSS”? 什么是'渲染障礙CSS”? Jun 24, 2025 am 12:42 AM

CSS會(huì)阻塞頁(yè)面渲染是因?yàn)闉g覽器默認(rèn)將內(nèi)聯(lián)和外部CSS視為關(guān)鍵資源,尤其是使用引入的樣式表、頭部大量?jī)?nèi)聯(lián)CSS以及未優(yōu)化的媒體查詢樣式。1.提取關(guān)鍵CSS并內(nèi)嵌至HTML;2.延遲加載非關(guān)鍵CSS通過(guò)JavaScript;3.使用media屬性優(yōu)化加載如打印樣式;4.壓縮合并CSS減少請(qǐng)求。建議使用工具提取關(guān)鍵CSS,結(jié)合rel="preload"異步加載,合理使用media延遲加載,避免過(guò)度拆分與復(fù)雜腳本控制。

外部與內(nèi)部CSS:最好的方法是什么? 外部與內(nèi)部CSS:最好的方法是什么? Jun 20, 2025 am 12:45 AM

thebestapphachforcssdepprodsontheproject'sspefificneeds.forlargerprojects,externalcsSissBetterDuoSmaintoMaintainability andReusability; forsMallerProjectsorsingle-pageApplications,InternaltCsmightBemoresobleable.InternalCsmightBemorese.it.it'sclucialtobalancepopryseceneceenceprodrenceprodrenceNeed

什么是AutoPrefixer,它如何工作? 什么是AutoPrefixer,它如何工作? Jul 02, 2025 am 01:15 AM

Autoprefixer是一個(gè)根據(jù)目標(biāo)瀏覽器范圍自動(dòng)為CSS屬性添加廠商前綴的工具。1.它解決了手動(dòng)維護(hù)前綴易出錯(cuò)的問(wèn)題;2.通過(guò)PostCSS插件形式工作,解析CSS、分析需加前綴的屬性、依配置生成代碼;3.使用步驟包括安裝插件、設(shè)置browserslist、在構(gòu)建流程中啟用;4.注意事項(xiàng)有不手動(dòng)加前綴、保持配置更新、非所有屬性都加前綴、建議配合預(yù)處理器使用。

CSS案例靈敏度:了解重要的 CSS案例靈敏度:了解重要的 Jun 20, 2025 am 12:09 AM

cssismostlycaseminemintiment,buturlsandfontfamilynamesarecase敏感。1)屬性和valueslikeColor:紅色; prenotcase-sensive.2)urlsmustmustmatchtheserver'server'scase,例如

什么是圓錐級(jí)函數(shù)? 什么是圓錐級(jí)函數(shù)? Jul 01, 2025 am 01:16 AM

theconic-Gradient()functionIncsscreatesCircularGradientsThatRotateColorStopSaroundAcentralPoint.1.IsidealForPieCharts,ProgressIndicators,colordichers,colorwheels和decorativeBackgrounds.2.itworksbysbysbysbydefindefingincolordefingincolorstopsatspecificains off.

CSS教程,用于創(chuàng)建粘性標(biāo)頭或頁(yè)腳 CSS教程,用于創(chuàng)建粘性標(biāo)頭或頁(yè)腳 Jul 02, 2025 am 01:04 AM

TocreatestickyheadersandfooterswithCSS,useposition:stickyforheaderswithtopvalueandz-index,ensuringparentcontainersdon’trestrictit.1.Forstickyheaders:setposition:sticky,top:0,z-index,andbackgroundcolor.2.Forstickyfooters,betteruseposition:fixedwithbot

CSS自定義屬性的范圍是什么? CSS自定義屬性的范圍是什么? Jun 25, 2025 am 12:16 AM

CSS自定義屬性的作用域取決于其聲明的上下文,全局變量通常定義在:root中,而局部變量則定義在特定選擇器內(nèi),以便組件化和隔離樣式。例如,定義在.card類中的變量?jī)H對(duì)匹配該類的元素及其子元素可用。最佳實(shí)踐包括:1.使用:root定義全局變量如主題色;2.在組件內(nèi)部定義局部變量以實(shí)現(xiàn)封裝;3.避免重復(fù)聲明同一變量;4.注意選擇器特異性可能引發(fā)的覆蓋問(wèn)題。此外,CSS變量區(qū)分大小寫(xiě),且應(yīng)在使用前定義以避免錯(cuò)誤。若變量未定義或引用失敗,則會(huì)采用回退值或默認(rèn)值initial。調(diào)試時(shí)可通過(guò)瀏覽器開(kāi)發(fā)者工

解鎖CSS動(dòng)畫(huà)的潛力:深度潛水 解鎖CSS動(dòng)畫(huà)的潛力:深度潛水 Jun 20, 2025 am 12:14 AM

cssanimationsenhancewebpagesbyimprovinguserexperienceandsiteFunctionallity.1)usetransitionsforsmoothstylechanges,asinthebuttoncolorexample.2)losplyKeyKeyframesforeSfordEteTailEdAnimations.3)

See all articles