代码之家  ›  专栏  ›  技术社区  ›  nonopolarity

在CSS中,“页脚”标题能否与“内容”标题共存?

  •  1
  • nonopolarity  · 技术社区  · 14 年前

    我准备“嵌套”CSS id 像这样

    #content #caption { color: teal }
      ...
    
    #footer #caption { margin: 2em 1em }
    

    因为这就是s a s s(一个css生成器)可以为…但是在一个HTML文档中,不能有两个 身份证件 是同名的,不是这样的吗,所以上面的嵌套不起作用或不起作用。(esp如果需要document.getElementByID()或$(‘caption’)或$(’caption’)来选择元素)。

    我们可以使用

    #content #content_caption { color: teal }
      ...
    
    #footer #footer_caption { margin: 2em 1em }
    

    但是为什么还要再多筑巢一层呢?为什么不只是

    #content_caption { color: teal }
      ...
    
    #footer_caption { margin: 2em 1em }
    

    ?

    4 回复  |  直到 14 年前
        1
  •  4
  •   Marc    14 年前

    单词“caption”表示它不是唯一标识符。如果是这样,我将把标题声明为类。以下内容完全合法有效:

    #content .caption { color: teal }
    #footer .caption { margin: 2em 1em }
    
        2
  •  1
  •   antpaw    14 年前

    没有理由。ID是一个非常重的选择器,它应该足以更改样式规则。如果没有在获胜规则之前附加内容或更改其选择器。

        3
  •  1
  •   migajek    14 年前

    如果单页上没有id=“caption”的两个元素,那就完全可以了。 但是,从命名(内容和页脚)来看,有不止一个具有id=“caption”,这是非常糟糕的。你应该记住 身份证件 必须 别具一格! 用“class”代替,比如

    #content .caption { }
    #footer .caption { }
    
        4
  •  1
  •   Andrew Vit    14 年前

    首先,“caption”听起来更像是一个类:

    你说: 这是**页脚 (特定ID),但是 这是**A**标题 (普通级)。

    下面是在sass中嵌套选择器的另一种方法:

    .caption
      margin: 2em 1em
      font-weight: bold
      #footer &
        background: teal
      #content &
        background: red
    

    (该“&”引用了其中包含的任何内容。)