【问题标题】:HTML/CSS:CamelCase vs Underscores [closed]HTML / CSS:CamelCase vs Underscores [关闭]
【发布时间】:2025-12-15 01:35:01
【问题描述】:

我已经阅读了很多关于 camelCase 和 Underscore 命名约定的优缺点的文章。我一直更喜欢 camelCase,主要是因为它可以节省字节数。

但是学习 BEM,我真的很困惑。 BEM 命名更具可读性,但 '_'、'__' 和长名称会增加文件大小。我也找不到任何 js 插件。那么哪一个更适合合格的网页呢?

附:抱歉英语不好。任何意见表示赞赏

【问题讨论】:

    标签: html css camelcasing bem


    【解决方案1】:

    对于 css,我不记得我曾经见过骆驼案(在专业工作中)。

    对我来说,我在处理私人项目时使用 BEM。我倾向于使用双下划线,例如.banner__image.banner__image--large(如果您阅读the BEM specs,就会明白)。

    在工作中,我们的团队使用 BEM 进行了修改,但只有一个下划线或连字符(用于修饰符).banner_image.banner_image-large

    如果不使用 BEM,您可能应该使用连字符 (-) 编写类。像这样.banner-image.banner-image-large。例如,您可以查看Twitters bootstrap structure with class names,或任何其他网站。

    【讨论】:

    • 谢谢!但是我应该怎么做,如果我使用 BEM 但必须导入主要不使用 BEM 的 js/jq 插件?
    • @FrontDev 大多数插件允许你使用你自己的类来设置你的图像滑块,比如$('.banner__container').slider();,如果你必须使用一个没有的特定插件,首先它的结构很差,而且你应该寻找其他选择。其次,如果您必须使用它,可以有一个与您的命名约定不匹配的类。希望这会带来清晰。还是您现在指的是实际文件上的名称?
    • 谢谢!清除。我刚刚被要求在整个项目中使用 BEM,我认为这会限制我使用不同插件的能力。如果没问题,比 np.我想您对此很有经验,文件大小比呢?它比可读的名称更重要吗?
    • @FrontDev 在编写 css 时我不太担心文件大小。当然,您仍然不会编写 .banner_image_previous_arrow_left_middle_thirdy_pixel_gray 之类的类,但也许是 .banner_previous_arrow。您为生产 css/js 进行了缩小,这通常对文件大小有好处。维护代码/html/css/js时,拥有更明显的名称非常值得。
    • 您可以使用 CamelCaseBlock__camelCaseElem 表示法,这很好。如果我们有机会从头开始一切,我们可能会为自己做同样的事情(我说的是 Yandex 团队,发明了 BEM)。