如果祖先匹配,css不适用
如果祖先不包含“fixed ready”,我想将css规则应用于“specialMenu”。我怎么做如果祖先匹配,css不适用,css,Css,如果祖先不包含“fixed ready”,我想将css规则应用于“specialMenu”。我怎么做 :未(.已修复)。特殊菜单a { 光标:指针; 填充:10px 14px 10px 14px!重要; 颜色:#FFFFFF!重要; 边界半径:24px; 背景色:rgb(17,46,42); } 以下是您当前尝试用自然语言读取的内容(CSS选择器从右向左读取): 针对任何a元素 是具有CSS类的任何元素的后代specialMenu 必须是没有CSS类的任何元素的后代。已修复 现在让我们检查
:未(.已修复)。特殊菜单a
{
光标:指针;
填充:10px 14px 10px 14px!重要;
颜色:#FFFFFF!重要;
边界半径:24px;
背景色:rgb(17,46,42);
}
以下是您当前尝试用自然语言读取的内容(CSS选择器从右向左读取):
a
元素specialMenu
如您所见,在这种情况下,子体选择器
(空格)不适合您
相反,使用当前的方法,您必须在子combinator的帮助下,将选择器与实际的DOM结构更紧密地联系起来:
:not(.fixed-already)>.menu>.specialMenu>a
下面是:
元素为目标
specialMenu
菜单的任何元素的子元素
:未(.fixed ready)>。菜单>.specialMenu>a
{
光标:指针;
填充:10px 14px 10px 14px!重要;
颜色:#FFFFFF!重要;
边界半径:24px;
背景色:rgb(17,46,42);
}
在您的情况下,更改结构将导致与您在我的答案中发现的问题相同的问题。例如,没有特殊菜单包装链接或链接周围没有跨距也会破坏css。在任何情况下,都有必要为给定的html提供足够具体的css。我认为,在别人发布的答案中添加代码,这样他们就不起作用了,这不是正确的做法,因为你的答案很容易做到这一点too@JarlikStepsto不同之处在于,在您的情况下,环境可能会破坏您的样式定义。此外,正如我所解释的“相反,使用当前的方法,您必须将选择器与实际的DOM结构更紧密地联系起来”,将CSS直接与所涉及元素的内部结构联系起来是在给定环境中使用:not(.class name)
的唯一方法。这并不是说OP在HTML方面采取了很好的方法。
:not(.fixed-already)>.menu>.specialMenu>a