欢迎各位兄弟 发布技术文章
这里的技术是共享的
为所有相同的父元素中位于 p 元素之后的所有 ul 元素设置背景:
- p~ul{
- background:#ff0000;
- }
- <p>快乐生活</p>
- <ul>
- <li>生活</li>
- <li>生活</li>
- <li>生活</li>
- </ul>
“~”的定义和用法
p~ul选择器 p之后出现的所有ul。
两种元素必须拥有相同的父元素,但是 ul不必直接紧随 p。
css中“>”是css3特有的选择器,A>B 表示选择A元素的所有子B元素。
与A B的区别在于,A B选择所有后代元素,而A>B只选择一代。
.a,.b{逗号指相同的css样式};
.a .b{空格指后代元素};
.a>.b{大于号指子代元素};
.a+.b{这个“+”是选择相邻兄弟,叫做“相邻兄弟选择器”
如果需要选择紧接在另一个元素后的元素,而且二者有相同的父元素,可以使用相邻兄弟选择器(Adjacent sibling selector)。
例如,如果要增加紧接在 h1 元素后出现的段落的上边距,可以这样写:
h1 + p {margin-top:50px;}
这个选择器读作:“选择紧接在 h1 元素后出现的段落,h1 和 p 元素拥有共同的父元素”。};
来自 https://blog.csdn.net/suoyasong/article/details/80528218
温馨提示:将鼠标放在语句上可以显示对应的英文。 或者 切换至中英文显示
搜索~
字符并不容易。 我查看了一些CSS,发现了这个
.check:checked ~ .content {
}
这是什么意思?
~
选择器实际上是通用同级组合器 (在选择器级别4中重命名为后续同级组合器 ):
通用同级组合器由分隔两个简单选择器序列的“波浪号”(U + 007E,〜)字符组成。 这两个序列所表示的元素在文档树中共享相同的父对象,而第一个序列所表示的元素在第二个所表示的元素之前(不一定紧接)。
考虑以下示例:
.a ~ .b { background-color: powderblue; }
<ul> <li>1st</li> <li>2nd</li> <li>3rd</li> <li>4th</li> <li>5th</li> </ul>
.a ~ .b
与第4个和第5个列表项匹配,因为它们:
是.b
元素
是.a
兄弟姐妹
按HTML源顺序显示在.a
之后。
同样, .check:checked ~ .content
与.check:checked
同级项的所有.content
元素匹配,并出现在其后。
通用同级组合器
通用的同级组合器选择器与相邻的同级组合器选择器非常相似。 不同之处在于,被选择的元素不需要立即在第一个元素之后,而是可以出现在其后的任何位置。
还可以检查该家族中的其他组合器 ,然后回到这个特定的组合器。
ul li
ul > li
ul + ul
ul ~ ul
清单示例:
ul li
- 寻找内部 -选择所有的li
放置(任意位置)的内部元件ul
; 后代选择器
ul > li
向内看 - 仅选择ul
的直接 li
元素; 即它将只选择ul
直子li
; 子选择器或子组合器选择器
ul + ul
向外看 -在ul
立即选择ul
; 它不是在寻找内部,而是在寻找紧随其后的元素。 相邻兄弟选择器
ul ~ ul
- 向外看 -选择所有ul
后面的ul
不要紧,它在哪里,但两者ul
应具有相同父节点; 通用兄弟选择器
我们在这里看到的是通用兄弟选择器
它是General sibling combinator
并在@Salaman的答案中作了很好的解释。
我错过的是+
且与~
密切相关的Adjacent sibling combinator
。
例子是
.a + .b {
background-color: #ff0000;
}
<ul>
<li>1st</li>
<li>2nd</li>
<li>3rd</li>
<li>4th</li>
<li>5th</li>
</ul>
匹配.b
元素
与.a
相邻
在HTML中的.a
之后
在上面的示例中,它将标记为2nd li
而不是4th。
.a + .b { background-color: #ff0000; }
<ul> <li>1st</li> <li>2nd</li> <li>3rd</li> <li>4th</li> <li>5th</li> </ul>
请注意,在属性选择器(例如[attr~=value]
)中,波浪号
表示一个属性名称为attr的元素,其值是一个用空格分隔的单词列表,其中之一就是value 。
https://developer.mozilla.org/zh-CN/docs/Web/CSS/Attribute_selectors