在CSS中,将一个id嵌套在另一个id(如“C”)中有意义还是合法#主#显示img{…}”;

在CSS中,将一个id嵌套在另一个id(如“C”)中有意义还是合法#主#显示img{…}”;,css,sass,Css,Sass,在CSS中,如果是 #main #display img { height: 80px } 这意味着id为的元素中的所有图像都显示在id为main的另一个元素中。但这有意义吗?还是合法,因为id似乎只是全球名称 这是因为SASS实际上允许嵌套,有些代码可能会像这样嵌套它 #main width: 700px #display img height: 80px 即“id中的id” 更新:这是因为,据推测,不应该有 #main #display img { heig

在CSS中,如果是

#main #display img { height: 80px }
这意味着id为
的元素中的所有图像都显示在id为
main
的另一个元素中。但这有意义吗?还是合法,因为id似乎只是全球名称

这是因为SASS实际上允许嵌套,有些代码可能会像这样嵌套它

#main
  width: 700px

  #display
    img
      height: 80px
即“id中的id”

更新:这是因为,据推测,不应该有

#main #display img { height: 80px }
#sidebar #display img { height: 80px }
也就是说,决不能有两个元素具有id
显示
。所以通常情况下,不是写作

#main #display img { height: 80px }
你不妨写信

#display img { height: 80px }

当然-如果您在多个页面上有一个样式表,则可能存在这样的情况(“如果
#display
#main
的子级,则以这种方式显示图像,否则以那种方式显示图像”)


这绝对是合法的,没问题。

这是有道理的。这很有限制性,但这可能正是你想要的


例如,如果相同的CSS用于许多不同的文档,而这些文档的结构可能会有所不同。

Re您的更新:同一页面上不应该有这两个元素。然而,可能在两个不同的页面上,
#display
在其中一个页面上是
#main
的子页面,在另一个页面上是
#sidebar
的子页面。@Pekka您的意思是“#main#display”很好,因为它适合匹配第一个场景,但不匹配第二个场景,所以“#main#display”是一个非常好和有用的选择器。它可以是一个非常好和有用的选择器,是的。