Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果祖先匹配,css不适用_Css - Fatal编程技术网

如果祖先匹配,css不适用

如果祖先匹配,css不适用,css,Css,如果祖先不包含“fixed ready”,我想将css规则应用于“specialMenu”。我怎么做 :未(.已修复)。特殊菜单a { 光标:指针; 填充:10px 14px 10px 14px!重要; 颜色:#FFFFFF!重要; 边界半径:24px; 背景色:rgb(17,46,42); } 以下是您当前尝试用自然语言读取的内容(CSS选择器从右向左读取): 针对任何a元素 是具有CSS类的任何元素的后代specialMenu 必须是没有CSS类的任何元素的后代。已修复 现在让我们检查

如果祖先不包含“fixed ready”,我想将css规则应用于“specialMenu”。我怎么做

:未(.已修复)。特殊菜单a
{
光标:指针;
填充:10px 14px 10px 14px!重要;
颜色:#FFFFFF!重要;
边界半径:24px;
背景色:rgb(17,46,42);
}



以下是您当前尝试用自然语言读取的内容(CSS选择器从右向左读取):

  • 针对任何
    a
    元素
  • 是具有CSS类的任何元素的后代
    specialMenu
  • 必须是没有CSS类的任何元素的后代。已修复
  • 现在让我们检查一下您当前的HTML结构:

    
    
    如您所见,在这种情况下,子体选择器
    (空格)不适合您

    相反,使用当前的方法,您必须在子combinator的帮助下,将选择器与实际的DOM结构更紧密地联系起来:

    :not(.fixed-already)>.menu>.specialMenu>a
    
    下面是:

  • 以任何
    元素为目标
  • 这是CSS class
    specialMenu
  • 它是具有CSS类
    菜单的任何元素的子元素
  • 它是任何未修复CSS类的元素的子元素
  • :未(.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