首页 > 解决方案 > CSS .not(selector) 不适用于 span 标签

问题描述

我有一个标题,其中包含一个跨度标记,其中包含一个日期和一些文本。文本应为粗体,日期应保持正常。

在我使用的 CSS 文件:not(cls)中,日期也以某种方式被格式化。

.parent {
  display: flex;
}

.parent:not(.date) {
  font-weight: bold;
}

.date {
  padding-right: 20px;
}
<div class="parent">
  <span class="date">the date</span> title goes here
</div>

这里有什么问题?

标签: htmlcss

解决方案


.parent:not(.date)意思是“一个元素,它是类类的成员,而不是类数据的成员”。

由于您没有具有 的元素,因此class="parent date"这使得该:not()部分毫无意义。

无论如何,选择器永远不会应用于跨度(因为跨度没有class="parent")。


查看浏览器内置的 DOM 检查器中的元素。

DOM 检查器屏幕截图

font-weightspan 元素上的属性的默认值为inherit,因此它将获取父元素所具有的任何内容。

如果您不想让它变得粗体,那么您需要明确地说出来。

.parent {
  display: flex;
}

.parent {
  font-weight: bold;
}

.date {
  font-weight: normal;
  padding-right: 20px;
}
<div class="parent">
  <span class="date">the date</span> title goes here
</div>


推荐阅读