gpt4 book ai didi

html - CSS 不是选择器不工作

转载 作者:太空狗 更新时间:2023-10-29 13:07:19 24 4
gpt4 key购买 nike

我的 HTML 是由 wordpress 生成的。

<div class="header-main">
<h1 class="site-title"><a href="http://wp-themes.com/" rel="home">Theme Preview</a></h1>

<div class="search-toggle active">
<a href="#search-container" class="screen-reader-text">Search</a>
</div>

<nav id="primary-navigation" class="site-navigation primary-navigation" role="navigation">
<h1 class="menu-toggle">Primary Menu</h1>
<a class="screen-reader-text skip-link" href="#content">Skip to content</a>
<div class="nav-menu"><ul><li class="page_item page-item-2"><a href="http://wp-themes.com/?page_id=2">About</a></li><li class="page_item page-item-46 page_item_has_children"><a href="http://wp-themes.com/?page_id=46">Parent Page</a><ul class="children"><li class="page_item page-item-49"><a href="http://wp-themes.com/?page_id=49">Sub-page</a></li></ul></li></ul></div>
</nav>
</div>

我想隐藏所有元素,但带有 .page-item-2 的元素所以我使用:

.header-main .nav-menu li:not(.page-item-2) {
display:none;
}

这可行,但我还想从选择器中排除 .page-item-46:

.header-main .nav-menu li:not(.page-item-2) :not(.page-item-46) {
display:none;
}

虽然这不起作用。

最佳答案

元素 .page-item-46 不是后代,因此您将删除 :not 伪类之间的空格:

.header-main .nav-menu li:not(.page-item-2) :not(.page-item-46) {
/* remove this ^ */
display:none;
}

EXAMPLE HERE


有关更基本的示例,请考虑以下内容:

<ul>
<li class="one">one..</li>
<li class="two">two</li>
<li class="three">three</li>
</ul>

使用以下将从选择中排除.one/.two:(example)

ul li:not(.one):not(.two) {
color:red;
}

以下不是:(example)

ul li:not(.one) :not(.two) {
color:red;
}

这也不行:(example)

ul li:not(.one,.two) {
color:red;
}

这也不起作用,因为它实际上选择了所有元素,因为两个选择器并不互斥。 (example)

ul li:not(.one),
ul li:not(.two) {
color:red;
}

关于html - CSS 不是选择器不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22342600/

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