css 样式文件中的特殊符号 - 波浪号(也叫 tilde,squiggle,twiddle)

举报
汪子熙 发表于 2023/05/15 23:20:56 2023/05/15
【摘要】 例子:.check:checked ~ .content {}~ 选择器实际上是后继同胞组合器(在2017年之前称为一般同胞组合器):后继同胞组合器由“波浪号”(U+007E,~)字符组成,它将两个简单选择器序列分隔开。由这两个序列表示的元素在文档树中具有相同的父级,并且由第一个序列表示的元素位于由第二个序列表示的元素之前(不一定是紧随其后)。看下面这个例子:.a ~ .b { backg...

例子:

.check:checked ~ .content {
}

~ 选择器实际上是后继同胞组合器(在2017年之前称为一般同胞组合器):

后继同胞组合器由“波浪号”(U+007E,~)字符组成,它将两个简单选择器序列分隔开。由这两个序列表示的元素在文档树中具有相同的父级,并且由第一个序列表示的元素位于由第二个序列表示的元素之前(不一定是紧随其后)。

看下面这个例子:

.a ~ .b {
  background-color: powderblue;
}
<ul>
  <li class="b">1st</li>
  <li class="a">2nd</li>
  <li>3rd</li>
  <li class="b">4th</li>
  <li class="b">5th</li>
</ul>

.a ~ .b 匹配第四和第五个列表项,因为它们:

  • 是 .b 元素
  • 是 .a 的同胞元素
  • 在 HTML 源代码中出现在 .a 的后面。

在 CSS 中,波浪号(~)是一种选择器,用于选择指定元素的同胞元素。波浪号选择器通常用于根据特定关系选择元素,例如选择表单输入后的错误消息。

下面是一个具体的例子,假设我们有以下 HTML 代码:

<ul>
  <li class="item">Item 1</li>
  <li class="item">Item 2</li>
  <li class="item">Item 3</li>
  <li class="item important">Important Item 4</li>
  <li class="item">Item 5</li>
  <li class="item">Item 6</li>
</ul>

我们可以使用波浪号选择器来选择 “Important Item 4” 元素后的所有元素,如下所示:

.important ~ .item {
  color: red;
}

在这个例子中,波浪号选择器选择了所有同胞元素,并将它们的颜色设置为红色。这里,".important" 是第一个元素,"~" 表示后面的 “.item” 是 “.important” 的同胞元素,因此所有同级别的 “.item” 都会被选择,并将它们的颜色设置为红色。

另一个常见的用法是选择表单输入后的错误消息,例如:

<label for="name">Name:</label>
<input type="text" id="name" name="name">
<p class="error">Please enter your name</p>

使用以下 CSS 代码可以选择与输入字段相邻的错误消息:

input:focus ~ .error {
  display: block;
}

在这个例子中,当输入字段获得焦点时,波浪号选择器选择了所有同胞元素,并将 “.error” 元素的显示属性设置为 block。因此,当输入字段获得焦点时,相关的错误消息将被显示出来。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。