久久久久久久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?)
主站蜘蛛池模板: 精品国产一区二区三区久久 | 久久天堂| 中文字幕在线观看第一页 | 中文字幕亚洲欧美日韩在线不卡 | 成人免费av在线 | 在线成人免费观看 | 中文字幕亚洲精品在线观看 | 欧美激情国产精品 | 精品一二三| 国产福利精品一区 | 久久久久一区二区 | 免费午夜视频 | 欧区一欧区二欧区三免费 | 一区二区三区在线免费观看 | 精品在线看 | 中文字幕在线播放不卡 | 91小视频| 国产精品色哟哟网站 | 久久精品国产一区二区三区 | 午夜在线影院 | 国产小视频自拍 | 一区二区三区日韩 | 成人教育av| 精品国产不卡一区二区三区 | 欧美激情在线播放 | 黄色精品 | 久久精品视频在线免费观看 | 中文字幕在线视频一区二区三区 | 久久久夜色精品亚洲 | 看片wwwwwwwwwww | 亚洲综合久久网 | 天天艹逼网 | 国户精品久久久久久久久久久不卡 | 激情欧美一区二区三区中文字幕 | 国产91在线精品 | 久久久久久久久毛片 | 天天综合久久网 | 91精品国产欧美一区二区成人 | 国产综合第一页 | 三级视频在线观看 | 中文字幕免费在线 |