pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

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

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

問題描述

對于這個問題,我使用以下標記:

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

根據 .

解決方案

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

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

p ~ * 選擇一個 跟隨 <p> 的兄弟元素,在您的示例中是最后兩段.p + * 為段落的直接兄弟元素設置樣式,這也是最后兩個 <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.

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

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

相關文檔推薦

CSS selector when :target empty(:target 為空時的 CSS 選擇器)
Does the CSS direct decendant (gt;) not have any value in selectivity?(CSS 直接后代 (gt;) 在選擇性方面沒有任何價值嗎?)
Using querySelectorAll(). Is the result returned by the method ordered?(使用 querySelectorAll().方法返回的結果是否有序?)
Safari bug :first-child doesn#39;t update display:block when items are removed with JS(Safari 錯誤:當使用 JS 刪除項目時,first-child 不更新 display:block)
nth-Child CSS selectors(nth-子 CSS 選擇器)
Using same ID for multiple HTML tags?(對多個 HTML 標簽使用相同的 ID?)
主站蜘蛛池模板: 武汉天安盾电子设备有限公司 - 安盾安检,武汉安检门,武汉安检机,武汉金属探测器,武汉测温安检门,武汉X光行李安检机,武汉防爆罐,武汉车底安全检查,武汉液体探测仪,武汉安检防爆设备 | 温湿度记录纸_圆盘_横河记录纸|霍尼韦尔记录仪-广州汤米斯机电设备有限公司 | 单电机制砂机,BHS制砂机,制沙机设备,制砂机价格-正升制砂机厂家 单级/双级旋片式真空泵厂家,2xz旋片真空泵-浙江台州求精真空泵有限公司 | 防爆型气象站_农业气象站_校园气象站_农业四情监测系统「山东万象环境科技有限公司」 | 武汉森源蓝天环境科技工程有限公司-为环境污染治理提供协同解决方案 | 不锈钢电动球阀_气动高压闸阀_旋塞疏水调节阀_全立阀门-来自温州工业阀门巨头企业 | 旋转/数显粘度计-运动粘度测定仪-上海平轩科学仪器 | 浴室柜-浴室镜厂家-YINAISI · 意大利设计师品牌 | 咿耐斯 |-浙江台州市丰源卫浴有限公司 | 华禹护栏|锌钢护栏_阳台护栏_护栏厂家-华禹专注阳台护栏、楼梯栏杆、百叶窗、空调架、基坑护栏、道路护栏等锌钢护栏产品的生产销售。 | 蓝米云-专注于高性价比香港/美国VPS云服务器及海外公益型免费虚拟主机 | 齿轮减速机电机一体机_齿轮减速箱加电机一体化-德国BOSERL蜗轮蜗杆减速机电机生产厂家 | 科研ELISA试剂盒,酶联免疫检测试剂盒,昆虫_植物ELISA酶免试剂盒-上海仁捷生物科技有限公司 | 变压器配件,变压器吸湿器,武强县吉口变压器配件有限公司 | 影视模板素材_原创专业影视实拍视频素材-8k像素素材网 | 范秘书_懂你的范文小秘书| 潍坊青州古城旅游景点攻略_青州酒店美食推荐-青州旅游网 | 包装机传感器-搅拌站传感器-山东称重传感器厂家-济南泰钦电气 | 广西绿桂涂料--承接隔热涂料、隔音涂料、真石漆、多彩仿石漆等涂料工程双包施工 | 广州印刷厂_广州彩印厂-广州艺彩印务有限公司 | 火锅底料批发-串串香技术培训[川禾川调官网] | 武汉高温老化房,恒温恒湿试验箱,冷热冲击试验箱-武汉安德信检测设备有限公司 | 礼至家居-全屋定制家具_一站式全屋整装_免费量房设计报价 | 制氮设备_PSA制氮机_激光切割制氮机_氮气机生产厂家-苏州西斯气体设备有限公司 | 广州冷却塔维修厂家_冷却塔修理_凉水塔风机电机填料抢修-广东康明节能空调有限公司 | 东莞画册设计_logo/vi设计_品牌包装设计 - 华略品牌设计公司 | 铝镁锰板_铝镁锰合金板_铝镁锰板厂家_铝镁锰金属屋面板_安徽建科 | 软装设计-提供软装装饰和软装配饰及软装陈设的软装设计公司 | 英国公司注册-新加坡公司注册-香港公司开户-离岸公司账户-杭州商标注册-杭州优创企业 | 视频教程导航网_视频教程之家_视频教程大全_最新视频教程分享发布平台 | 企典软件一站式企业管理平台,可私有、本地化部署!在线CRM客户关系管理系统|移动办公OA管理系统|HR人事管理系统|人力 | 闸阀_截止阀_止回阀「生产厂家」-上海卡比阀门有限公司 | 儋州在线-儋州招聘找工作、找房子、找对象,儋州综合生活信息门户! | 葡萄酒灌装机-食用油灌装机-液体肥灌装设备厂家_青州惠联灌装机械 | 手板-手板模型-手板厂-手板加工-生产厂家,[东莞创域模型] | 气力输送设备_料封泵_仓泵_散装机_气化板_压力释放阀-河南锐驰机械设备有限公司 | 郑州墨香品牌设计公司|品牌全案VI设计公司 | 钛板_钛管_钛棒_钛盘管-无锡市盛钛科技有限公司 | 动库网动库商城-体育用品专卖店:羽毛球,乒乓球拍,网球,户外装备,运动鞋,运动包,运动服饰专卖店-正品运动品网上商城动库商城网 - 动库商城 | 山东氧化铁红,山东铁红-淄博科瑞化工有限公司 | 亮化工程,亮化设计,城市亮化工程,亮化资质合作,长沙亮化照明,杰奥思【官网】 | 防腐储罐_塑料储罐_PE储罐厂家_淄博富邦滚塑防腐设备科技有限公司 |