搜尋

CSS選擇符

Feb 22, 2017 pm 01:21 PM
css選擇符

CSS選擇符

【通配選擇符】

*星號選擇器將匹配頁面裡的每一個元素,但我建議你永遠不要再生產程式碼中使用它。它給瀏覽器帶來大量不必要的負擔。

*{

margin:0;

padding:0;

}

【標籤選擇子】(也叫類型選擇符):也就是把html標籤名稱當作選擇符

demo: ul {}

#【id選擇子】:應該慎重使用ID選擇器。

給所需樣式標籤自訂id名.然後在css檔案內寫上#自訂id名{CSS樣式}.注意:每個id名都必須不同.

## IDname {width: 960px; margin: auto; }

id選擇符是唯一的,不允許重複使用。如果可能的話,先嘗試使用一個標籤名稱,一個新的HTML5元素,甚至是偽類別。

【類別選擇子】(class)

自訂class名稱,使用方法:在css檔案內寫上.class名稱{css樣式}.

.className {border-color: blue; font-size:16px;}

注意:一個標籤可以用多個class名稱,一個class名稱可以供多個標籤使用。

id和class的區別

id選擇符,一個id名只能用一次,不得重複。  getElementById('')

class選擇符,一個class名稱可重複使用,例如頁面中的多個元素,都可以使用同一個樣式定義。

【群組選擇符】:同時控制多個標籤。標籤名用,隔開

a,p,span{}

【組合選擇子】:我們也可以透過標籤名,id名,class名混搭的方式來選擇,加入樣式

p .p {} 表示p標籤下的所有class為p的標籤。

p,#a {}  表示id為a的標籤和所有的p標籤。

【關係選擇子】:關係選擇詞可分為

選擇符  名稱                   說明        #  選擇所有被E元素包含的F元素。 CSS1  (Descendant combinator)這個也有叫後代選擇器的

 E>F   子選擇符    選擇所有作為E元素的子元素F。 CSS2  (Child combinator)

 E+F   鄰近選擇符  選擇緊貼在E元素之後F元素。   CSS2  (Adjacent sibling combinator)

 E~F   兄弟選擇符  選擇E元素所有兄弟元素F。 CSS3  (General sibling combinator)

【偽類選擇子】

不是所有的標籤都能使用偽類選擇子,在此處我們只講a標籤的偽類選擇符


a:link {color: #FF0000; text-decoration: none}         //未访问的链接
a:visited {color: #00FF00; text-decoration: none}     //已访问的链接
a:hover {color: #FF00FF; text-decoration: underline}   //鼠标在链接上
a:active {color: #0000FF; text-decoration: underline}  //激活链接

✪注意:以上的偽類別你可以寫1個或寫多個。但一定要照順序寫,不然會出問題!

 

選擇                   版本          描述  a在未被訪問前的樣式。

E:visited             CSS1     設定超連結a已在其連結位址上存取過時的樣式。

E:hover               CSS1/2  設定元素在其滑鼠停留時的樣式。

E:active               CSS1/2  設定元素在被使用者啟動(滑鼠點選與釋放之間發生的事件)時的樣式。

E:focus                CSS1/2  設定元素在成為輸入焦點(該元素的onfocus事件發生)時的樣式。

E:lang(fr)            CSS2    搭配使用特殊語言的E元素。很少用

E:not(s)               CSS3    配對不含s選擇子的元素E。

E:root                  CSS3    在文件中配對一個根的元素。常指html元素

E:first-child          CSS2    配對父元素的第一個子元素E。

E:last-child           CSS3    與父親元素配對的最後一個子元素E。

E:only-child           CSS3    與父親元素配對僅有的一個子元素E。

E:nth-child(n)       CSS3     符合父元素的第n個子元素E。

E:nth-last-child(n)   CSS3    配對父元素的倒數第n個子元素E。

E:first-of-type         CSS3    配對同類型中的第一個同級兄弟元素E。

E:last-of-type          CSS3    搭配同類型中的最後一個同級兄弟元素E。

E:only-of-type         CSS3    搭配同類型中唯一的一個同級的兄弟元素E。

E:nth-of-type(n)     CSS3    匹配同类型中的第n个同级兄弟元素E。

E:nth-last-of-type(n) CSS3    匹配同类型中的倒数第n个同级兄弟元素E。

E:empty                 CSS3    匹配没有任何子元素(包括text节点)的元素E。

E:checked              CSS3    匹配用户界面上处于选中状态的元素E。(用于input type为radio与checkbox时)

E:enabled               CSS3    匹配用户界面上处于可用状态的元素E。

E:disabled              CSS3    匹配用户界面上处于禁用状态的元素E。

E:target                  CSS3    匹配相关URL指向的E元素。

 

  ★first-child 与first-of-type的区别:

举例:

<p>
</p><p>第一个子元素</p>
<h1 id="第二个子元素">第二个子元素</h1>
<span>第三个子元素</span>
<span>第四个子元素</span>

语法说明:

p:first-child        匹配到的是p元素,因为p元素是p的第一个子元素;

h1:first-child      匹配不到任何元素,因为在这里h1是p的第二个子元素,而不是第一个;

span:first-child       匹配不到任何元素,因为在这里两个span元素都不是p的第一个子元素;

p:first-of-type      匹配到的是p元素,因为p是p的所有为p的子元素中的第一个,事实上这里也只有一个为p的子元素;

h1:first-of-type       匹配到的是h1元素,因为h1是p的所有为h1的子元素中的第一个,事实上这里也只有一个为h1的子元素;

span:first-of-type    匹配到的是第三个子元素span。这里p有两个为span的子元素,匹配到的是第一个。

所以,通过以上两个例子可以得出结论:

:first-child      匹配的是某父元素的第一个子元素,可以说是结构上的第一个子元素。

:first-of-type   匹配的是某父元素下相同类型子元素中的第一个,比如 p:first-of-type,就是指所有类型为p的子元素中的第一个。这里不再限制是第一个子元素了,只要是该类型元素的第一个就行了。

✪注意:当然这些元素的范围都是属于同一级的,也就是同辈的。

同样类型的选择器 :last-child  和 :last-of-type、:nth-child(n)  和  :nth-of-type(n) 也可以这样去理解。

【属性选择符】

选择符              版本     描述

E[att]                 CSS2  选择具有att属性的E元素。

E[att="val"]       CSS2  选择具有att属性且属性值等于val的E元素。

E[att~="val"]    CSS2  选择具有att属性且属性值为一用空格分隔的字词列表,其中一个等于val的E元素。

E[att^="val"]    CSS3  选择具有att属性且属性值为以val开头的字符串的E元素。

E[att$="val"]    CSS3  选择具有att属性且属性值为以val结尾的字符串的E元素。

E[att*="val"]    CSS3  选择具有att属性且属性值为包含val的字符串的E元素。

E[att|="val"]     CSS2  选择具有att属性且属性值为以val开头并用连接符"-"分隔的字符串的E元素。

【伪对象选择符】

选择符                                  版本     描述

E:first-letter/E::first-letter   CSS1/3  设置对象内的第一个字符的样式。

E:first-line/E::first-line        CSS1/3  设置对象内的第一行的样式。

E:before/E::before      CSS2/3  设置在对象前(依据对象树的逻辑结构)发生的内容。用来和content属性一起使用

E:after/E::after                   CSS2/3  设置在对象后(依据对象树的逻辑结构)发生的内容。用来和content属性一起使用

E::placeholder                       CSS3    设置对象文字占位符的样式。

E::selection                         CSS3    设置对象被选择时的颜色。    

 

✪注意:CSS3的语法改成:: ,原本CSS1是: ,故还是直接用两个冒号为妥。

举例:

html:

<input type="search" placeholder="测试">

css:

input::-webkit-input-placeholder {color: green;}

 

更多CSS选择符 相关文章请关注PHP中文网!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
Draggin&#039;和droppin&#039;在反應中Draggin&#039;和droppin&#039;在反應中Apr 17, 2025 am 11:52 AM

React生態系統為我們提供了許多庫,所有庫都集中在拖放的相互作用上。我們有反應,反應,可愛dnd,

快速軟件快速軟件Apr 17, 2025 am 11:49 AM

最近有一些關於快速軟件的完美互連的事情。

帶有背景折疊的嵌套梯度帶有背景折疊的嵌套梯度Apr 17, 2025 am 11:47 AM

我可以說我經常使用背景折疊。 IT Wager IT幾乎從未在日常CSS工作中使用。但是在斯特凡·朱迪斯(Stefan Judis)的帖子中,我想起了它,

使用React Hooks使用requestAnimationFrame使用React Hooks使用requestAnimationFrameApr 17, 2025 am 11:46 AM

使用RequestAnimationFrame進行動畫化應該很容易,但是如果您還沒有徹底閱讀React的文檔,那麼您可能會遇到一些事情

需要滾動到頁面頂部嗎?需要滾動到頁面頂部嗎?Apr 17, 2025 am 11:45 AM

向用戶提供此鏈接的最簡單方法是針對元素上的ID的鏈接。如此...

最好的(GraphQl)API是您編寫的API最好的(GraphQl)API是您編寫的APIApr 17, 2025 am 11:36 AM

聽著,我不是GraphQL專家,但我確實喜歡與之合作。作為前端開發人員,它向我曝光數據的方式非常酷。它就像一個菜單

在保留邊框半徑的同時,擴展盒子的各種方法在保留邊框半徑的同時,擴展盒子的各種方法Apr 17, 2025 am 11:19 AM

我最近注意到Codepen的一個有趣的更改:在懸停在主頁上的筆時,有一個矩形,圓角在後面擴展。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前By尊渡假赌尊渡假赌尊渡假赌
威爾R.E.P.O.有交叉遊戲嗎?
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。