久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

兄弟選擇器 * + * 和 * ~ * 背后的邏輯是什么?

What is the logic behind sibling selectors * + * and * ~ *?(兄弟選擇器 * + * 和 * ~ * 背后的邏輯是什么?)
本文介紹了兄弟選擇器 * + * 和 * ~ * 背后的邏輯是什么?的處理方法,對(duì)大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

問題描述

對(duì)于這個(gè)問題,我使用以下標(biāo)記:

<body><p>1</p><!-- 第1段--><p>2</p><!-- 第2段--><p>3</p><!-- 第 3 段 --></身體>

根據(jù) .

解決方案

* + * 為從文檔根開始的任何元素的直接兄弟元素設(shè)置樣式 - 由于 <head> 實(shí)際上是正文的緊前同級(jí)(盡管在您的代碼中不可見),此選擇器針對(duì)正文和最后兩段,因?yàn)榈谝欢尾皇蔷o跟在另一個(gè)同級(jí)元素之后.由于正常流程中塊級(jí)后代的 text-decoration 的性質(zhì),所有三個(gè)段落都加了下劃線.

* ~ * 這基本上和上面一樣,除了使用 通用兄弟組合器 .. 它設(shè)置出現(xiàn)在 <head> 之后的下游兄弟元素,無論它們是否是直接兄弟.由于 <body> 是唯一的兄弟,所以它與上面的選擇器具有相同的效果.由于繼承,第一段為斜體.

p ~ * 選擇一個(gè) 跟隨 <p> 的兄弟元素,在您的示例中是最后兩段.p + * 為段落的直接兄弟元素設(shè)置樣式,這也是最后兩個(gè) <p> 元素.

For this question I'm using the following markup:

<body>
    <p>1</p> <!-- Paragraph 1 -->
    <p>2</p> <!-- Paragraph 2 -->
    <p>3</p> <!-- Paragraph 3 -->
</body>

From the Selectors Level 3 specification, the following selector rules apply:

*        any element
E + F    an F element immediately preceded by an E element
E ~ F    an F element preceded by an E element

Based on this, the following should occur:

body + * { } /* Selects nothing as no elements precede body */
body ~ * { } /* As above. */
p + *    { } /* Selects Paragraph 2 and Paragraph 3 as these are preceded by p */
p ~ *    { } /* As above. */
* + *    { } /* As above. */
* ~ *    { } /* As above. */

False!

* + * and * ~ * are somehow able to select Paragraph 1 along with 2 and 3! Paragraph 1 isn't preceded by anything, so should be impossible to access:

body + * { background: #000; }
body ~ * { background: #000; }
p ~ *    { color: #f00; }
p + *    { font-weight: bold; }
* + *    { text-decoration: underline; }
* ~ *    { font-style: italic; }

Result:

As you can see, paragraph 1 isn't preceded by the body or a phantom p, yet it is apparently preceded by something. It should have no custom styling applied to it at all, yet is somehow affected by those last two selectors. What is the logic behind this?

JSFiddle example.

解決方案

* + * Styles any element that is an immediate sibling of any element starting from the document root - Since the <head> is actually an immediate preceding sibling of the body (despite not being visible in your code) this selector targets the body and the last two paragraphs, since the first paragraph isn't immediately following another sibling element. All three paragraphs happened to be underlined due to the nature of text-decoration on block-level descendants in the normal flow.

* ~ * This is basically the same thing as above, except using the general sibling combinator .. it styles downstream sibling element(s) that appear after the <head> regardless of whether they're immediate siblings or not. Since the <body> is the only sibling, this has the same effect as the above selector. The first paragraph is italicized due to inheritance.

p ~ * selects a sibling element that is following a <p> which in your example is the last two paragraphs. p + * styles any element that is immediate sibling of a paragraph, which would also be the last two <p> elements.

這篇關(guān)于兄弟選擇器 * + * 和 * ~ * 背后的邏輯是什么?的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請(qǐng)聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

CSS selector when :target empty(:target 為空時(shí)的 CSS 選擇器)
Does the CSS direct decendant (gt;) not have any value in selectivity?(CSS 直接后代 (gt;) 在選擇性方面沒有任何價(jià)值嗎?)
Using querySelectorAll(). Is the result returned by the method ordered?(使用 querySelectorAll().方法返回的結(jié)果是否有序?)
Safari bug :first-child doesn#39;t update display:block when items are removed with JS(Safari 錯(cuò)誤:當(dāng)使用 JS 刪除項(xiàng)目時(shí),first-child 不更新 display:block)
nth-Child CSS selectors(nth-子 CSS 選擇器)
Using same ID for multiple HTML tags?(對(duì)多個(gè) HTML 標(biāo)簽使用相同的 ID?)
主站蜘蛛池模板: 精品国产不卡一区二区三区 | 天堂资源最新在线 | 特级黄色毛片 | 在线日韩欧美 | 天天色官网 | 自拍视频一区二区三区 | 精品亚洲一区二区三区 | 精品日韩一区二区三区 | 欧美午夜精品理论片a级按摩 | 精品在线观看一区 | 成人欧美一区二区三区黑人孕妇 | 精精国产xxxx视频在线野外 | 国产精品国产三级国产aⅴ中文 | 一区二区亚洲 | 久久日韩粉嫩一区二区三区 | 久久久久久999 | 国产精品精品久久久 | 国产色片 | 久久久久成人精品 | 一区二区三区免费 | 精品一二三区在线观看 | 午夜免费在线观看 | 久久福利网站 | 中文字幕电影在线观看 | 毛片一区二区三区 | 爱草在线 | 日韩精品1区2区 | 日韩中文字幕在线播放 | 天天射天天干 | 影视一区 | a级黄色片视频 | 国产精品一区二区三区在线播放 | 国产一级在线 | 特级生活片 | 羞羞在线观看视频 | 亚洲一区欧美 | 先锋资源网站 | 黄色三级免费网站 | 九九免费观看视频 | 美女天天干天天操 | 国产精品99久久久久久人 |