Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.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_Css Selectors - Fatal编程技术网

Css 未按预期影响第一个元素的第一个子元素

Css 未按预期影响第一个元素的第一个子元素,css,css-selectors,Css,Css Selectors,为什么规则不影响第一个div?(带有“更新1”文本) 。更新div{ 宽度:100%; 身高:25%; 边框顶部:1px虚线{颜色:背景标题}; 填充物:5px; 颜色:{color:links-nav}; 光标:指针; } .update div:第一个孩子{ 边界:无; } .update div:悬停{ 颜色:{color:links导航悬停}; } .update div:hover>.symbol{ 颜色:{color:links-nav}; } ×更新1 ×更新2 ×更新3 ×更

为什么规则不影响第一个div?(带有“更新1”文本)

。更新div{
宽度:100%;
身高:25%;
边框顶部:1px虚线{颜色:背景标题};
填充物:5px;
颜色:{color:links-nav};
光标:指针;
}
.update div:第一个孩子{
边界:无;
}
.update div:悬停{
颜色:{color:links导航悬停};
}
.update div:hover>.symbol{
颜色:{color:links-nav};
}

×更新1
×更新2
×更新3
×更新4

代码中没有任何div是
.update
div的第一个子项。您需要执行以下操作:

.update a:first-child > div {
   border:none;
}
尽管HTML5允许在内联元素中包含像div这样的块元素,但我自己不会这么做。也许可以考虑跨距。


进一步解释“第一个孩子”的概念:在代码中,每个
a
元素都是
.update
div的子元素。这些
a
元素中的div不是
.update
div的子元素;相反,它们是
a
元素的子元素。但是,代码中的每个
a
元素只有一个子div;每个子div都有另一个子div。因此,要使一个元素成为子元素,它必须直接位于父元素的下一层。

更新

有一些错误:

color
的值为 我以前从未见过
{color:links nav}
作为值。。。这真的有效吗

正如@torazaburo和@Ralph.M所指出的,您的div仅符合
第一个孩子
第一个
类型
,因此您的
.update
不是任何div的直接祖先(即父级)。因此,您需要通过查看层次结构的每个级别来获得更多的特殊性

  • div.update.nav
  • a
  • div
  • 试试这个:

      .update a:first-child div:first-of-type
    
    注意:在您的情况下
    第一个孩子
    第一个类型
    的工作原理相同,我认为可能需要考虑的区别是,如果您使用
    第一个孩子
    第n个孩子
    变量计数不同于
    第n个类型的

    CSS中的
    :first of type
    选择器允许您针对容器中元素的第一次出现

    。更新div{
    宽度:100%;
    身高:25%;
    边框顶部:2个红色虚线;/*这是一个颜色名称*/
    填充物:5px;
    背景色:rgb(0,0,0);/*这是rgb*/
    光标:指针;
    颜色:rgba(250250.7);/*这是rgba*/
    }
    .更新a:类型的第一个div:类型的第一个{
    边界:无;
    }
    .update div:悬停{
    颜色:hsl(240,60%,50%);/*这是hsl*/
    }
    .update div:hover>.symbol{
    颜色:hsla(324,100%,50%,0.8);/*这是hsla*/
    }
    
    ×更新1
    ×更新2
    ×更新3
    ×更新4
    
    什么是
    颜色:{color:links-nav}平均值?这里的预期结果是什么?您提供的代码可以正常工作,因为没有一个div有边框,但我怀疑这不是您想要的。但是他的CSS不要求div是
    .update
    的子对象,只要求它们是后代。@torazaburo我同意,但出于某种原因,我必须更具体地说明
    .update
    的后代。CSS选择器
    .update div
    根本没有针对任何div。为了获得我使用的div上的任何边框,请更新div
    。我错过什么了吗?内联中的块是否会改变选择器行为?不管怎样,这里有一个输入错误0_oDisregard,有一个输入错误0_owh这是怎么解决问题的?正如文章在第一句中所说:>CSS中的
    :first of type
    选择器允许您将元素的第一次出现作为其容器中的目标。但是这里的所有div都是第一个子元素和第一个类型。