亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > CSS > 正文

使用CSS屬性選擇器來拼接HTML的DNA的方法

2024-07-11 08:59:36
字體:
來源:轉載
供稿:網友

CSS屬性選擇器非常神奇,它們可以幫你避免添加數不勝數的類名,從另一方面來指出你代碼里的一些問題。但是大家不用慌,雖然屬性選擇器復雜且強大,但是很易于學習和使用。在這篇文章,我們將討論它們是如何運行起來的,再教大家一些使用方面的技巧。

一般我們最普遍的使用方法是將HTML屬性放進一個方括號中,稱之為屬性選擇器。例如:

[href] {    color: chartreuse;}

任何具有href屬性且沒有更具體的選擇器的html元素現在都會變成黃綠色。屬性選擇器的特性和類選擇器一致

但是你可以使用屬性選擇器做更多的事情。就像你的DNA一樣,它們具有嵌入式的邏輯,可幫助您選擇各種屬性組合和值。 它們不僅可以精確的匹配標簽,類或id選擇器,而且可以匹配屬性中的任何屬性甚至字符串值。

屬性選擇

屬性選擇器可以獨立存在或更具體一點,比如我們需要選擇具有title屬性的所有div標簽。

div[title]

也可以通過下面操作來選擇具有title屬性的div的子元素:

div [title]

需要明確的是,中間的空格代表著是后臺選擇器,即選擇具有該屬性的元素的子元素。我們也可以更精確一點,來選擇想要的屬性值:

div[title="dna"]

大多數情況下,屬性選擇器不需要引號,但我會使用它們,因為我相信它可以提供可讀性并確保具有良好的兼容性

如果你想從經過空格分割后的列表里選擇具有"dna"字符的屬性值,比如“my beautiful dna”或“mutating dna is fun!”,可以在等號前添加一個波浪號`~`:

div[title~="dna"]

您可以選擇“dontblamemeblamemydna”或“his-stupidity-is-from-upbringing-not-dna”之類的標題,然后使用美元符號`$`來匹配title的結尾:

[title$="dna"]

要匹配屬性值的前面,例如“dnamutants”或“dna-splicing-for-all”的標題,就用插入符號`^`。

[title^="dna"]

如果你想完全匹配一個值開頭的完整單詞,可以使用管道符來做。比如你不想選擇一個“genealogy”的title,但仍然想選擇“gene”和“gene-data”:

[title|="gene"]

還有一個匹配任何子字符串的模糊搜索屬性運算符`*`:

[title*="dna"]

最后要知道的是,您可以添加一個標志,讓屬性搜索不區分大小寫。 在結束方括號之前添加`i`:

[title*="DNA" i]

使這些屬性選擇器更加強大的原因是它們是可堆疊的 —— 允許您選擇具有多個匹配因子的元素。

比如你需要找到 a 標簽,它有一個title屬性,并且有一個以“genes”結尾的class類,該如何寫呢?

a[title][class$="genes"]

我們不僅可以選擇HTML元素的屬性,還可以使用偽“科學”(即偽元素和內容聲明)來打印出文本:

<span class="joke" title="Gene Editing!">What’s the first thing a biotech journalist does after finishing the first draft of an article?</span>.joke:hover:after {   content: "Answer:" attr(title);   display: block;}

上面的代碼在鼠標懸停時將顯示一串自定義的字符串。

現在我們已經看到了如何使用屬性選擇器進行選擇,讓我們看看一些用例。我把它們分為兩類: 一般使用技巧 和 診斷 。

一般使用技巧

輸入類型的設置

您可以不同地設置輸入類型,例如電子郵件與電話:

input[type="email"] {   color: papayawhip;}input[type="tel"] {   color: thistle;}

顯示手機號碼鏈接

您可以隱藏特定尺寸的電話號碼并顯示電話鏈接,以便在電話上輕松撥打電話:

span.phone {   display: none;}a[href^="tel"] {   display: block;}

內部鏈接vs外部鏈接,安全鏈接vs非安全鏈接

您可以區別對待內部和外部鏈接,并將安全鏈接設置為與不安全鏈接不同:

a[href^="http"]{   color: bisque;}a:not([href^="http"]) {  color: darksalmon;} a[href^="http://"]:after {   content: url(unlock-icon.svg);}a[href^="https://"]:after {   content: url(lock-icon.svg);}

下載圖標

HTML5給我們的一個屬性是“下載”,它告訴瀏覽器,你猜對了,下載該文件而不是試圖打開它。這對于您希望人們訪問但不希望它們立即打開的PDF和DOC非常有用。它還使得連續下載大量文件的工作流程更加容易。下載屬性的缺點是沒有默認的視覺效果將其與更傳統的鏈接區分開來。通常這是你想要的,但如果不是,你可以做類似下面的事情:

a[download]:after {    content: url(download-arrow.svg);}

您還可以使用不同的圖標(如PDF與DOCX與ODF等)來傳達文件類型:

a[href$="pdf"]:after {   content: url(pdf-icon.svg);}a[href$="docx"]:after {   content: url(docx-icon.svg);}a[href$="odf"]:after {   content: url(open-office-icon.svg);}

您還可以通過堆疊屬性選擇器確保這些圖標僅在可下載鏈接上:

a[download][href$="pdf"]:after {   content: url(pdf-icon.svg);}

覆蓋或重新使用已廢棄/棄用的代碼

我們都遇到了過時代碼的舊網站,在HTML5之前,您可能需要覆蓋甚至重新應用作為屬性實現的樣式:

<div bgcolor="#000000" color="#FFFFFF">Old, holey genes</div>div[bgcolor="#000000"] { /*override*/   background-color: #222222 !important;}div[color="#FFFFFF"] { /*reapply*/   color: #FFFFFF;}

顯示文件類型

默認情況下,文件類型輸入標簽的可接受文件列表是不可見的。通常,我們使用偽元素來公開它們,雖然你不能在大多數輸入標簽上(或者在Firefox或Edge中)使用偽元素,但是你可以在文件輸入上使用它們:

<input type="file" accept="pdf,doc,docx">[accept]:after {   content: "Acceptable file types: " attr(accept);}

html手風琴菜單

details 和 summary 標簽是一種只用HTML做擴展/手風琴菜單的方法, details 包括了 summary 標簽和手風琴打開時要展示的內容。點擊 summary 會展開 details 標簽并添加 open 屬性,我們可以通過open屬性輕松地為打開的 details 標簽設置樣式:

<details>  <summary>List of Genes</summary>    Roddenberry    Hackman    Wilder    Kelly    Luen Yang    Simmons</details>details[open] {   background-color: hotpink;}

打印鏈接

a[href]:after {   content: " (" attr(href) ") ";}

自定義工具

使用屬性選擇器創建自定義工具提示既有趣又簡單:

[title] {  position: relative;  display: block;}[title]:hover:after {  content: attr(title);  color: hotpink;  background-color: slateblue;  display: block;  padding: .225em .35em;  position: absolute;  right: -5px;  bottom: -5px;}

診斷

這些選項用于幫助我們在構建過程中或在嘗試修復問題時在本地識別問題。將這些內容放在我們的生產網站上會使用戶產生錯誤。

沒有controls屬性的audio

我不經常使用音頻標簽,但是當我使用它時,我經常忘記包含controls屬性。 結果:沒有顯示任何內容。如果您在Firefox中工作,如果您隱藏了音頻元素,或者語法或其他一些問題阻止它出現(僅適用于Firefox),此代碼可以幫助您解決問題:

audio:not([controls]) {  width: 100px;  height: 20px;  background-color: chartreuse;  display: block;}

沒有alt替代文字

沒有alt屬性的圖片是可訪問性的噩夢,只需查看頁面就很難找到它們,但如果添加它們,它們就會彈出來(當頁面圖片加載失敗時,alt文字可以更好的解釋圖片的作用):

img:not([alt]) { /* no alt attribute */   outline: 2em solid chartreuse; }img[alt=""] { /* alt attribute is blank */   outline: 2em solid cadetblue; }

異步Javascript文件

web頁面可以是內容管理系統和插件,框架和代碼的集合,Ted 在度假時寫道,確定哪些JavaScript異步加載以及哪些不加載可以幫助您專注于提高頁面性能:

script[src]:not([async]) {  display: block;  width: 100%;  height: 1em;  background-color: red;}script:after {  content: attr(src);}

Javascript事件

您還可以突出顯示具有JavaScript事件屬性的元素,我在這里舉例OnMouseOver屬性,但它適用于任何JavaScript事件屬性:
 

[OnMouseOver] {   color: burlywood;}[OnMouseOver]:after {   content: "JS: " attr(OnMouseOver);}

總結

以上所述是小編給大家介紹的使用CSS屬性選擇器來拼接HTML的DNA的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩av日韩在线观看| 国内精品400部情侣激情| 69精品小视频| 亚洲高清色综合| 日韩激情在线视频| 中文字幕亚洲一区二区三区五十路| 8x拔播拔播x8国产精品| 久久久精品在线观看| 国产精品午夜一区二区欲梦| 国产精品美女无圣光视频| 日韩欧美一区二区三区| 亚州av一区二区| 68精品久久久久久欧美| 视频在线观看99| 精品国产一区二区三区久久久狼| 欧美高清理论片| 亚洲性生活视频在线观看| 亚洲欧美在线一区二区| 国产精品久久电影观看| 中文字幕在线成人| 精品久久久久久| 欧美激情中文字幕乱码免费| 一二美女精品欧洲| 国产精品久久久久久久久免费看| 久久久久久久国产| 高潮白浆女日韩av免费看| 亚洲午夜精品视频| 国产在线精品一区免费香蕉| 国产成人精品久久| 亚洲一区二区三| 伊是香蕉大人久久| 92看片淫黄大片看国产片| 久久久久久有精品国产| 精品国产乱码久久久久酒店| 日韩亚洲欧美中文高清在线| 在线观看中文字幕亚洲| 一区二区三区动漫| 久久电影一区二区| 成人在线播放av| 亚洲性视频网站| 91禁外国网站| 久久精品国产99国产精品澳门| 日韩在线免费高清视频| 欧美一级高清免费播放| 一本大道香蕉久在线播放29| 欧洲成人免费视频| 91精品国产91久久久久久最新| 国产精品美乳一区二区免费| 欧美在线视频观看免费网站| 国产精品亚洲网站| 色哟哟亚洲精品一区二区| 日韩av在线导航| 日韩视频免费看| 色播久久人人爽人人爽人人片视av| 色与欲影视天天看综合网| 欧美色欧美亚洲高清在线视频| 91伊人影院在线播放| 亚洲欧美日韩久久久久久| 日本成人在线视频网址| 欧美精品videos性欧美| 亚洲女同性videos| 色先锋久久影院av| 欧美精品久久久久久久免费观看| 91在线高清免费观看| 91精品久久久久久| 精品视频在线观看日韩| 亚洲精品国产美女| 欧美天堂在线观看| 中日韩午夜理伦电影免费| 日韩欧中文字幕| 欧美亚州一区二区三区| 久久福利网址导航| 91精品国产免费久久久久久| 亚洲成人动漫在线播放| 久久99国产精品自在自在app| 久久伊人精品一区二区三区| 国产视频久久久久| 国产香蕉一区二区三区在线视频| 日韩一区二区三区国产| 亚洲欧美另类中文字幕| 在线视频精品一| 亚洲视频自拍偷拍| 不卡在线观看电视剧完整版| 亚洲a在线播放| 日本一本a高清免费不卡| 91精品在线观看视频| 黑人极品videos精品欧美裸| 日韩在线免费视频| 国产自产女人91一区在线观看| 欧美夫妻性生活xx| 成人午夜激情免费视频| 亚洲jizzjizz日本少妇| xxav国产精品美女主播| 亚洲国产精品人人爽夜夜爽| 国产在线观看一区二区三区| 欧美大荫蒂xxx| 亚洲欧洲一区二区三区在线观看| 91沈先生在线观看| 国产精品欧美一区二区三区奶水| 97**国产露脸精品国产| 久久久国产一区| 性色av一区二区三区在线观看| 欧美—级a级欧美特级ar全黄| 国产一区二区三区在线看| 丝袜亚洲欧美日韩综合| 一本色道久久88亚洲综合88| 色综合久久天天综线观看| 久久久久久久999精品视频| 中文字幕日韩av综合精品| 久久99久久亚洲国产| 欧美激情精品久久久久久久变态| 日韩中文av在线| 亚洲精品99久久久久| 日韩欧美精品中文字幕| 亚洲女人被黑人巨大进入| 麻豆一区二区在线观看| 欧美电影免费看| 亚洲少妇激情视频| 亚洲free性xxxx护士白浆| 国产91精品不卡视频| 欧美丝袜美女中出在线| 亚洲一区亚洲二区| 日韩精品极品在线观看播放免费视频| 91亚洲国产成人久久精品网站| 亚洲精品国产拍免费91在线| 欧美激情亚洲国产| 久久久久久久影视| 中文字幕v亚洲ⅴv天堂| 欧美国产亚洲视频| yellow中文字幕久久| 在线播放亚洲激情| 国产午夜精品一区二区三区| 美女999久久久精品视频| 国产成人一区二区| 亚洲天堂av电影| 亚洲欧美日韩一区二区三区在线| 欧美日韩免费区域视频在线观看| 欧美日韩激情视频8区| 亚洲人成77777在线观看网| 丝袜美腿精品国产二区| 91国产精品视频在线| 欧美精品激情在线观看| 九九热这里只有精品免费看| 成人av在线天堂| 国产精品久久久久不卡| 在线观看成人黄色| 亚洲色图欧美制服丝袜另类第一页| 日韩精品福利网站| 日韩三级成人av网| 一本色道久久88综合亚洲精品ⅰ| 日韩中文娱乐网| 欧美巨猛xxxx猛交黑人97人| 日韩电视剧在线观看免费网站| 高清在线视频日韩欧美| 欧美人在线观看| 91国自产精品中文字幕亚洲| 欧美激情一区二区三级高清视频| 欧美黄色片视频| 97精品久久久中文字幕免费| 2019亚洲日韩新视频| 欧美在线视频观看| 成人国产精品久久久| 91福利视频在线观看| 精品久久久一区|