gpt4 book ai didi

css - 如何选择类为 "A"而不是类 "B"的 div?

转载 作者:数据小太阳 更新时间:2023-10-29 09:10:13 25 4
gpt4 key购买 nike

我有一些div:

<div class="A">"Target"</div>
<div class="A B">"NotMyTarget"</div>
<div class="A C">"NotMyTarget"</div>
<div class="A D">"NotMyTarget"</div>
<div class="A E">"NotMyTarget"</div>

是否有一个 CSS 选择器可以让我得到包含 Target 而不是包含 NotMyTarget 的 div?

解决方案必须适用于 IE7、IE8、Safari、Chrome 和 Firefox

编辑:到目前为止,尼克是最接近的。这很笨拙,我不喜欢这个解决方案,但至少它有效:

.A
{
/* style that all divs will take */
}
div.B
{
/* style that will override style .A */
}

最佳答案

您可以使用属性选择器来匹配只有一个类的div:

div[class=A] {
background: 1px solid #0f0;
}

如果要选择另一个具有多个类的 div,请使用引号:

div[class="A C"] {
background: 1px solid #00f;
}

一些浏览器不支持属性选择器语法。像往常一样,“某些浏览器”是 IE 6 及更早版本的委婉说法。

另请参阅:http://www.quirksmode.org/css/selector_attribute.html

完整示例:

<!DOCTYPE html>
<html>
<head>
<style>
.A { font-size:22px; }
.B { font-weight: bold; border: 1px solid blue; }
.C { color: green; }

div[class="A"] {
border: 1px solid red;
}
div[class="A B"] {
border: 3px solid green;
}
</style>
</head>
<body>
<div class="A">"Target"</div>
<div class="A B">"NotMyTarget"</div>
<div class="A C">"NotMyTarget"</div>
<div class="A D">"NotMyTarget"</div>
<div class="A E">"NotMyTarget"</div>
</body>
</html>

EDIT 2014-02-21:四年后,:not 现在已广泛使用,尽管在这种特定情况下很冗长:

.A:not(.B):not(.C):not(.D):not(.E) {
border: 1px solid red;
}

不幸的是,这在问题中指定的 IE 7-8 中不起作用:http://caniuse.com/#search=:not

关于css - 如何选择类为 "A"而不是类 "B"的 div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2481414/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com