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

命名CSS选择器时使用大写、短划线或下划线[关闭]

  •  22
  • deb  · 技术社区  · 16 年前

    命名CSS选择器时的最佳实践是什么?

    SomeContainerContent
    some_container_content
    some-container-content
    

    我在这里阅读了关于堆栈溢出的其他类似问题,但是在答案中没有普遍的共识。我想知道是否还有其他人需要补充。

    7 回复  |  直到 13 年前
        1
  •  29
  •   Matchu    16 年前

    一般认为使用连字符。实际上,与其他选项之间存在潜在的兼容性问题。

    • 在某些(已授予、旧的、NS4类型)浏览器中,类名或ID中不允许使用下划线。
    • CSS规范没有指定浏览器应该如何处理大小写,因此使用camelcase会使解释变得模棱两可。

    此外,CSS在内部使用连字符处理诸如 first-child .

    虽然在现代浏览器中兼容性问题通常是不存在的,但标准就是这样产生的,我建议您坚持使用它。如果你要偏离,你会很好的,但是为什么要麻烦呢?

        2
  •  5
  •   Dan Lugg mab    13 年前
    .hyphens-for-multi-word-names
    .underscores_for_pseudo_namespacing
    

    结果:

    .grid-system_push-100
     \_________/ \______/
      namespace   object
    

    命名空间和对象可以很容易地用于 BEM 实施。

    .grid-slot { }          /* block */
    
    .grid-slot_size-100 { } /* block-specific modifier */
    
    ._size-100              /* generic modifier */
    

    我的0.02美元

        3
  •  2
  •   Randy Simon    16 年前

    我真的认为这取决于你。然而,重要的是保持一致。例如,我喜欢在ID中使用下划线,在类中使用破折号。

        4
  •  0
  •   AxelEckenberger    16 年前

    这真的不重要,归根结底就是你的个人品味。但是,对于一个项目来说,它应该是一致的!因此,如果已经存在一个CSS,那么就使用这个样式设置的样式。

        5
  •  0
  •   Tom    16 年前

    我对所有HTML/CSS都使用破折号(-),对PHP变量使用下划线。让我的事情井然有序。

        6
  •  0
  •   Austin Fitzpatrick    16 年前

    我用破折号。可能是因为网络上的很多东西都是区分大小写的,我习惯于用小写字母来表示文件名,在网络上工作时就已经这样了。下划线很难看到何时加下划线,所以我也会避开它们。

    不过,似乎大多数人都是驼色的:

    poll on what people use

        7
  •  0
  •   alexnexus    16 年前

    “在CSS中,标识符(包括选择器中的元素名称、类和ID)只能包含字符[A-Za-Z0-9]和ISO 10646字符U+00A1及更高版本,加上连字符(-)和下划线(_u);它们不能以数字或连字符后跟数字开头。标识符还可以包含转义字符和作为数字代码的任何ISO 10646字符(请参见下一项)。例如,标识符“b&w”?可以写为“b \&w \?”或“B\26 W\3F”。