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

首頁 > 網站 > WEB開發 > 正文

選擇器(Selectors)

2024-04-27 15:09:38
字體:
來源:轉載
供稿:網友

資料: 選擇器(Selectors)

CSS有一套用于描述其語言的術語。在前面的教程中,你應該已經寫過這個樣式:

strong { color: red;}

在CSS的術語中,上面這段代碼被稱為一條規則(rule)。這條規則以選擇器strong開始,它選擇要在DOM中哪些元素上使用這條規則。

更多細節

花括號中的部分稱為聲明(declaration)

關鍵字color是一個屬性red 是其對應的值.

同一個聲明中的 屬性和值組成一個名值對(PRoperty-value pairs),名值對用分號分隔.

這個教程中將類似strong的選擇器稱為標簽選擇器(tag selector).CSS規范中稱之為類型選擇器(type selector).

本節將介紹更多的選擇器。

除了標簽名稱,你還可以在選擇器中使用屬性值。這樣你就可以更具體的描述你的規則.

其中 class和 id 兩個屬性具有比較重要的地位。

類選擇器(Class selectors)

通過設置元素的 class 屬性,可以為元素指定類名。類名由開發者自己指定。 文檔中的多個元素可以擁有同一個類名。

在寫樣式表時,類選擇器是以英文句號(.)開頭的。

ID選擇器(ID selectors)

通過設置元素的 id 屬性為該元素制定ID。ID名由開發者指定。每個ID在文檔中必須是唯一的。

在寫樣式表時,ID選擇器是以#開頭的。

例:

下面的p標簽同時具有 class屬性和id屬性:

<p class="key" id="princid 屬性值 principal必須在文檔中是唯一的;但文檔中的其他標簽可以有和p相同的 class 屬性值 key.

在一個CSS樣式表中, 下面的規則將使所有class屬性等于key的元素文字顏色呈現綠色。(這些元素不一定都是 “ 元素。)

.key { color: green;}

下面的規則將使 id 等于 principal 的那個元素的文字變為粗體:

#principal { font-weight: bolder;}

如果多于一個規則指定了相同的屬性值都應用到一個元素上,CSS規定擁有更高確定度的選擇器優先級更高。ID選擇器比類選擇器更具確定度, 而類選擇器比標簽選擇器(tag selector)更具確定度。

更多細節 你也可以將多個選擇器組合起來構成更確定的選擇器。 比如,選擇器.key 選中所有class屬性為 key的元素. 選擇器 p.key 選中所有class屬性為key的

元素。 除了class 和 id,你還可以用方括號的形式指定其他屬性。比如,選擇器 [type=’button’] 選中所有 type 屬性為 button 的元素。

如果樣式中包含沖突的規則,且它們具有相同的確定度。那么,后出現的規則優先級高。

如果你遇到規則沖突,你可以增加其中一條的確定度或將之移到后面以使它具有更高優先級。

偽類選擇器(Pseudo-classes selectors)

CSS偽類(pseudo-class)是加在選擇器后面的用來指定元素狀態的關鍵字。比如,:hover 會在鼠標懸停在選中元素上時應用相應的樣式。

偽類和偽元素(pseudo-elements)不僅可以讓你為符合某種文檔樹結構的元素指定樣式,還可以為符合某些外部條件的元素指定樣式:瀏覽歷史(比如是否訪問過 (:visited), 內容狀態(如 :checked ), 鼠標位置 (如:hover). 完整列表參見 CSS3 Selectors working spec.

語法

selector:pseudo-class { property: value;}

偽類列表

:link:visited:active:hover:focus:first-child:nth-child:nth-last-child:nth-of-type:first-of-type:last-of-type:empty:target:checked:enabled:disabled

資料: 基于關系的選擇器

CSS還有多種基于元素關系的選擇器。通過它們你可以更精確的選擇元素。

選擇器 選擇的元素
A E 元素A的任一后代元素E (后代節點指A的子節點,子節點的子節點,以此類推)
A > E 元素A的任一子元素E(也就是直系后代)
E:first-child 任一是其父母結點的第一個子節點的元素E
B + E 元素B的任一下一個兄弟元素E
B ~ E B元素后面的擁有共同父元素的兄弟元素E

你可以任意組合以表達更復雜的關系。

你還可以使用星號(*)來表示”任意元素“。

一個HTML表格有id 屬性,但是它的行和單元格沒有單獨的id:

<table id="data-table-1">...<tr><td>Prefix</td><td>0001</td><td>default</td></tr>...

下面的規則使表格每行的第一個單元格字體為粗體,使第二個單元格使用等寬字體。這條規則只影響id為data-table-1的表格:

#data-table-1 td:first-child {font-weight: bolder;} #data-table-1 td:first-child + td {font-family: monospace;}

最終效果:

Prefix 0001 default

更多細節

一般情況下,如果你提高了某個選擇器的的確定度,你便提高它的優先級。

使用這個技巧,可以避免為大量標簽指定 class 或 id 屬性。CSS(引擎)會幫你做的。

在復雜設計中速度非常重要,避免使用復雜的依賴元素關系的規則可以使你的樣式更有效率。

更多關于表格的例子,見 Tables。

實例: 使用類選擇器和ID選擇器

創建一個HTML文件

將下面內容拷貝到HTML文件中

<!doctype html><html> <head> <meta charset="UTF-8"> <title>Sample document</title> <link rel="stylesheet" href="style1.css"> </head> <body> <p id="first"> <strong class="carrot">C</strong>ascading <strong class="spinach">S</strong>tyle <strong class="spinach">S</strong>heets </p> <p id="second"> <strong>C</strong>ascading <strong>S</strong>tyle <strong>S</strong>heets </p> </body></html>

創建style1.css:

strong { color: red; }.carrot { color: orange; }.spinach { color: green; }#first { font-style: italic; }

保存文件,在瀏覽器中查看效果:

**C**ascading **S**tyle **S**heets
**C**ascading **S**tyle **S**heets

重新組織樣式中規則的順序,你會發現改變這幾條規則的順序不會影響最終效果。

類選擇器 .carrot 和.spinach 比標簽選擇器 strong 擁有更高優先級。

ID 選擇器 #first 比類選擇器和標簽選擇器更優先。

## 實例: 使用偽類選擇器

創建如下 HTML:

<!doctype html> <html> <head> <meta charset="UTF-8"> <title>Sample document</title> <link rel="stylesheet" href="style1.css"> </head> <body> <p>Go to our <a class="homepage" title="Home page">Home page</a>.</p> </body> </html>

編輯CSS:

“` a.homepage:link, a.homepage:visited { padding: 1px 10px 1px 10px; color: #fff; background: #555; border-radius: 3px; border: 1px outset rgba(50,50,50,.5); font-family: georgia, serif; font-size: 14px; font-style: italic; text-decoration: none; }

a.homepage:hover, a.homepage:focus, a.homepage:active { background-color: #666; } “`

保存文件用瀏覽器查看HTML文件 (將鼠標放到鏈接上查看效果):

Go to our Home page

實例: 使用基于關系的選擇器和偽類選擇器

通過使用基于關系的選擇器和偽類選擇器,你可以構造出復雜的疊加算法。這是一個常用的技巧,比如可以用來創建純CSS無javaScript的下拉菜單(pure-CSS dropdown menus)。關鍵點就是創建下面這類規則:

div.menu-bar ul ul { display: none;}div.menu-bar li:hover > ul { display: block;}

然后將這些規則應用到下面的HTML結構中:

<div class="menu-bar"> <ul> <li> <a href="example.html">Menu</a> <ul> <li> <a href="example.html">Link</a> </li> <li> <a class="menu-nav" href="example.html">Submenu</a> <ul> <li> <a class="menu-nav" href="example.html">Submenu</a> <ul> <li><a href="example.html">Link</a></li> <li><a href="example.html">Link</a></li> <li><a href="example.html">Link</a></li> <li><a href="example.html">Link</a></li> </ul> </li> <li><a href="example.html">Link</a></li> </ul> </li> </ul> </li> </ul></div>
上一篇:創建可讀性良好的 CSS

下一篇:顏色

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品999| 自拍偷拍亚洲一区| 原创国产精品91| 国产精品www| 揄拍成人国产精品视频| 日韩电影免费观看在线| 欧美精品一区三区| 亚洲精品一区在线观看香蕉| 综合av色偷偷网| 欧美成人sm免费视频| 亚洲国产成人精品久久久国产成人一区| 色香阁99久久精品久久久| 少妇久久久久久| 国产精品国内视频| 国产精品日韩在线| 国产97在线播放| 欧美大肥婆大肥bbbbb| 国产精品吹潮在线观看| 91精品国产综合久久香蕉的用户体验| 亚洲欧美日韩天堂一区二区| 久久久av免费| 亚洲成人久久网| 亚洲精品中文字| 久久久久久久久中文字幕| 亚洲精品小视频| 亚洲成av人片在线观看香蕉| 在线亚洲国产精品网| 欧美国产欧美亚洲国产日韩mv天天看完整| 国模私拍视频一区| 亚洲成人精品久久久| 欧美国产日本在线| 亚洲美女在线看| 中文字幕亚洲二区| 性欧美xxxx交| 国产精品久久久久av免费| 国产日韩欧美电影在线观看| 日韩一区av在线| 97视频国产在线| 在线精品播放av| 久久综合伊人77777| 亚洲国产黄色片| 国产精品无av码在线观看| 欧美黄色片视频| 国产做受高潮69| 欧洲中文字幕国产精品| 91精品国产综合久久久久久久久| 日本一区二三区好的精华液| 亚洲娇小xxxx欧美娇小| 日韩视频亚洲视频| 亚洲四色影视在线观看| 神马久久桃色视频| 欧美乱妇40p| 第一福利永久视频精品| 亚洲精品美女免费| 亚洲日本欧美中文幕| 亚洲跨种族黑人xxx| 日韩av中文字幕在线播放| 中文字幕日韩在线播放| 一区二区三区高清国产| 欧美一区二粉嫩精品国产一线天| 国产欧美日韩亚洲精品| 欧美黑人国产人伦爽爽爽| 欧美亚洲国产日韩2020| 亚洲精品天天看| 欧美黑人性猛交| xvideos国产精品| 久久综合网hezyo| 91精品国产综合久久男男| 91精品国产乱码久久久久久蜜臀| 成人啪啪免费看| 日韩欧美在线视频| 狠狠做深爱婷婷久久综合一区| 精品人伦一区二区三区蜜桃网站| 久久影视电视剧免费网站| 精品久久久香蕉免费精品视频| 精品二区三区线观看| 国产91精品高潮白浆喷水| 国产精品吹潮在线观看| 亚洲女人天堂色在线7777| 国产69久久精品成人| 亚洲欧洲国产一区| 亚洲日韩欧美视频| 91av在线看| 亚洲天堂av图片| 国产精品国内视频| 九九热精品视频在线播放| 国产成人精品综合久久久| 欧美午夜精品久久久久久人妖| 日韩高清人体午夜| 国产精品成人免费电影| 2021国产精品视频| 欧美制服第一页| 91久久久久久久一区二区| 精品福利在线看| 日韩精品视频免费专区在线播放| 日韩电影中文字幕| 国产一区二区三区在线看| 91亚洲精品在线| 最新亚洲国产精品| 亚洲福利视频免费观看| 久久精品色欧美aⅴ一区二区| 亚洲精品美女久久久久| 亚洲欧美国产视频| 国产午夜精品全部视频在线播放| 亚洲韩国欧洲国产日产av| 亚洲欧美日韩中文视频| 国产精品久久久久aaaa九色| 精品国产1区2区| 疯狂做受xxxx高潮欧美日本| 2019国产精品自在线拍国产不卡| 国产日韩中文在线| 精品中文视频在线| 成人妇女淫片aaaa视频| 亚洲精品mp4| 国产美女主播一区| 亚洲一区制服诱惑| 国产黑人绿帽在线第一区| 久久精品国产91精品亚洲| 国产91成人video| 日韩精品中文字幕有码专区| **欧美日韩vr在线| 精品国偷自产在线视频| 中文字幕在线观看亚洲| 中文字幕av一区| 日本精品一区二区三区在线| 美女视频黄免费的亚洲男人天堂| 国产欧美一区二区三区在线看| 精品自拍视频在线观看| 日韩av片永久免费网站| 不卡中文字幕av| 国产日产欧美精品| 欧美日韩一区二区免费在线观看| 亚洲精品一区二三区不卡| 欧美精品福利视频| 欧美野外猛男的大粗鳮| 91精品在线观看视频| 欧美一区二区大胆人体摄影专业网站| 国产精品尤物福利片在线观看| 亚洲国产一区自拍| 亚洲精品乱码久久久久久金桔影视| 欧美高清理论片| 福利精品视频在线| 国产精品wwwwww| 亚洲成人教育av| 日韩中文在线视频| 欧美激情网友自拍| 欧美高清视频在线观看| 国产精品免费看久久久香蕉| 一区二区三区在线播放欧美| 国产精品人成电影| 国内自拍欧美激情| 日韩黄色av网站| 欧美亚洲激情视频| 97超级碰碰碰久久久| 国产精品日日摸夜夜添夜夜av| 成人www视频在线观看| 久久视频精品在线| 久久久久久com| 久久综合久久88| 成人性生交大片免费观看嘿嘿视频| 亚洲iv一区二区三区| 亚洲一区二区三区毛片| 68精品国产免费久久久久久婷婷| 国产成人欧美在线观看|