Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.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_Element - Fatal编程技术网

如何在css中访问元素中的元素?

如何在css中访问元素中的元素?,css,element,Css,Element,在下面的代码中,我将如何处理CSS中的“img”元素?我很难让它工作 <div id="random1"> <div id="random2"> <div id="random3"> <img src="images/image.jpg"> </div> </div> </div> 像这样使用直接后代选择器: #random3 > img{ /* Css Rules */ } 使用直接后代选择器,如

在下面的代码中,我将如何处理CSS中的“img”元素?我很难让它工作

<div id="random1">
<div id="random2">
<div id="random3">
<img src="images/image.jpg">
</div>
</div>
</div>

像这样使用
直接后代选择器:

#random3 > img{
  /* Css Rules */
}

使用
直接后代选择器,如下所示:

#random3 > img{
  /* Css Rules */
}

有几种方法可以做到这一点。如果这是标记(HTML)的范围,则可以在CSS中使用元素选择器(
img
div
是元素的示例):

如果您的标记将在以后展开,则可以使用类(用于多个实例)或ID(用于唯一实例)。我会给你看课程和ID

HTML:

对于ID,HTML:


如果要选择img作为div
#random3
的子项,可以使用直系后代选择器:

#random3 > img {
    width: 500px;
}

有几种方法可以做到这一点。如果这是标记(HTML)的范围,则可以在CSS中使用元素选择器(
img
div
是元素的示例):

如果您的标记将在以后展开,则可以使用类(用于多个实例)或ID(用于唯一实例)。我会给你看课程和ID

HTML:

对于ID,HTML:


如果要选择img作为div
#random3
的子项,可以使用直系后代选择器:

#random3 > img {
    width: 500px;
}

您应该能够嵌套列表:

#random1 {
//stuff
}

#random3 img{
//other stuff for the image
}
等等。
这将为random3单独定位img,并且不会影响其他img标记。

您应该能够嵌套列表:

#random1 {
//stuff
}

#random3 img{
//other stuff for the image
}
等等。
这将分别为random3定位img,而不会影响其他img标签。

在此展开一些理论。。。选择器越具体,优先级就越高。事情不止这些,但这是总的要点

选择器之间的空格基本上表示“任意深度的子对象”,而大于符号(>)表示“仅限直接子对象”。直接子选择器比任何深度选择器更具体

在您的示例中,以下任何一项都可以设置图像的样式:

#random1 #random2 #random3 img { blah }
#random1 img { blah }
#random2 img { blah }
#random3 img { blah }
这也是可能的(因为img是#random 3的直系后代):

但这会失败,因为img不是立即在random2内,而是在random3内random2内:

#random2 > img { blah }
因此,你可以从随机1 img开始。如果无法坚持,则按建议随机3>img。如果这碰巧也失败了,那就说得越来越具体。例如,每一行都变得越来越具体

#random3 > img {}
#random2 > #random3 img {}
#random1 > #random2 > #random3 > img {}

如果最后一个不起作用,你真的需要看看一些古怪的CSS,因为3个直接的儿童选择器有点疯狂。。。选择器越具体,优先级就越高。事情不止这些,但这是总的要点

选择器之间的空格基本上表示“任意深度的子对象”,而大于符号(>)表示“仅限直接子对象”。直接子选择器比任何深度选择器更具体

在您的示例中,以下任何一项都可以设置图像的样式:

#random1 #random2 #random3 img { blah }
#random1 img { blah }
#random2 img { blah }
#random3 img { blah }
这也是可能的(因为img是#random 3的直系后代):

但这会失败,因为img不是立即在random2内,而是在random3内random2内:

#random2 > img { blah }
因此,你可以从随机1 img开始。如果无法坚持,则按建议随机3>img。如果这碰巧也失败了,那就说得越来越具体。例如,每一行都变得越来越具体

#random3 > img {}
#random2 > #random3 img {}
#random1 > #random2 > #random3 > img {}

如果最后一个不起作用,你真的需要看看一些古怪的CSS,因为3个直接儿童选择器有点疯狂。

非常感谢!工作得很好!非常感谢你!工作得很好!非常有用,非常有趣。很高兴它有帮助!你可能会想接受达瓦尔·马特克的答案,因为它对你有用:)非常有用,非常有趣。很高兴它能帮上忙!您可能希望接受Dhaval Marthak的答案,因为它对您有效:)