html - :first-child selector on cleared element

标签 html css

ul {
  display: inline-block;
  list-style: none;
  text-align: center;
}

ul::after {
  display: table;
  content: "";
  clear: both;
}

ul:first-child {
  background-color: red;
  margin-left: 2rem;
}

li {
  float: left;
}
<body>
  <ul>
    <li>House</li>
    <li>Dog</li>
  </ul>
</body>

通过上面的代码,发现 :first-child 选择器(伪类)不起作用很奇怪。我会假设带有 House 的 li 会有红色背景。相反,没有红色背景。你们知道为什么吗?

https://codepen.io/anon/pen/zQyVzM

最佳答案

您需要将first-child 伪类添加到li 标记,而不是ul

li:first-child {
  background-color: red;
  margin-left: 2rem;
}

根据 MDN documentation它从同一元素的 sibling 中选择第一个元素。

关于html - :first-child selector on cleared element,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56414764/

上一篇:javascript - 没有PHP的表单提交

下一篇:javascript - 此代码中的错误是什么?javascript 代码不起作用

相关文章:

php - WordPress 使帖子相应地对齐

html - 子菜单必须出现在起点,如上 div

html - 什么决定了未定义的 div 类的宽度?

html - 旋转 anchor 文本?

iphone - iOS5支持datepicker html控件吗?

javascript - IE11,按钮改变背景色后不再有悬停效果

css - bootstrap col 跳出容器

javascript - 防止 Element.scrollIntoView() 函数滚动父元素,其中 Element 在 iframe 中

javascript - Textarea 没有聚焦而是提交

javascript - 无法在js中声明top