css - 如何排除css中的特定值
问题描述
我想排除所有没有“lang”属性设置为“en”的(html)元素。
我知道有 :not (伪元素),
但如果我设置
body[lang=en] span:not([lang=en]) {display: none;}
我得到的结果是使所有没有“lang = en”的跨度元素(无论它们是否有 lang 属性)都不可见,因此不仅<span lang="de">,还有 <span class="myclass">。
我可能只排除具有 lang属性的元素- 与“en”不同?
解决方案
来自评论
span[lang]:not([lang="en"]){display:none;}
看起来像你需要的。它过滤每个具有 lang 属性的跨度,然后排除具有等于 en 值的 lang 属性的跨度。
span[lang]:not([lang="en"]) {
display: none;
}
<span lang="de">Deutch</span><br>
<span class="myclass">myclass 'n no lang</span><br>
<span lang="en">English</span>
这适用于 span ,[lang]:not([lang="en"])
如果选择器规格足够高,则适用于任何元素。小心,如果 body 有除 en 之外的另一种语言,则不会显示任何内容。
推荐阅读
- c# - 我无法使用本微软文档中解释的 GetTokenAsync() 方法
- python - 使用 Groupby 和 Sum 减少数据帧
- angular - Angular - 在单个应用程序中运行多个项目
- reactjs - How can I add an element to a list with a key value using a useState Record type in React typescript?
- c++ - 尝试将 QLayout "" 添加到已具有布局的 convertidorNumericoDialogo ""
- typescript - 这是 TypeScript 错误吗?
- c++ - win32 PIXELFORMATDESCRIPTOR 颜色位计数和颜色位移
- python - 通过 Pool 强制退出 python 多线程
- django - 为什么 Django 在我的 URL 模式中添加美元符号?(无反向匹配)
- ruby-on-rails - 无法安装 RMagick 4.2.3