开发者社区> 问答> 正文

为何推荐使用 class 而不用 id 来定义样式?

用 id 会导致什么问题吗?

展开
收起
a123456678 2016-05-27 10:50:38 2012 0
2 条回答
写回答
取消 提交回答
  • 说的简单点,网页中有很多样式是重复的,可以重复利用,但是文档中的ID事唯一的,所以用class比较方便

    2019-07-17 19:17:19
    赞同 展开评论 打赏
  • 为什么css选择器钩子大多数用class?这个问题可仅从css的方面出发来回答:

    1、相对于class选择器,id选择器的权重实在太重了(100),这在一些项目中会造成灾难性的样式污染,以及权重陷阱。
    
    2、id在文档内必须是唯一的,而样式很多具有复用性。当然,使用id也意味着你的css选择器完全不需要嵌套:
    
    body #a{color:red} // 不必要的写法,除了额外增加选择器权重没有任何必要。
    
    #a{color:red} // 这样即可

    至于为什么大多数js使用id作为钩子,主要因为js通过id查询dom的速度是最快的。

    id是不是一定会和js挂钩,这个是未必的,以下情况可能必须使用class:

    循环插入若干组件,不同组件内绑定dom相同Function时。

    2019-07-17 19:17:18
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载