CSS - 基本特异性

标签 css

我有一个包含许多列的 HTML 表格。我想在除一列之外的所有列上设置 text-align: center

我听说使用 !important 和不必要的嵌套都不受欢迎。实现这一目标的“最佳”方法是什么?

  1. 使用 !important:
#my-table td {
    padding: 5px;
    text-align: center;
}

.my-table-special-td {
    text-align: left !important;
}
  1. 不必要的嵌套:
#my-table td {
    padding: 5px;
    text-align: center;
}

#my-table .my-table-special-td {
    text-align: left;
}

还是其他一些方法?

我所说的“最佳”是指: * 符合 CSS 最佳实践 * 性能良好

最佳答案

为了提高性能,请为所有 CSS 使用内联样式。这是谷歌邮件 (Gmail) 中使用的技术,我认为 Yahoo!邮件也是如此。所以如果它是你想要的速度。对所有内容使用内联样式。老实说,我不会走那条路,因为它不提供干净且可重用的代码。

所以我会选择最简洁的解决方案,即为元素提供类名并避免使用 !important。这绝对是不受欢迎的,而且不必老实说。该表将在您的表元素上尊重您的类名。这最终提供了适用于所有浏览器的更简洁的 CSS。如果您在一般情况下重写类,则意味着您可能需要重新考虑 CSS 的架构。我并不是说你做错了,但我们正在谈论最好的做事方式,不是吗? :)

编码愉快!

关于CSS - 基本特异性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21984188/

相关文章:

html - 无法让导航栏在屏幕上拉伸(stretch)

html - 为什么带有空行内 block 的 div 具有高度?

html - 阻止页脚 div 隐藏在内容 div 后面

css - Opera 选择背景图像不显示

html - :hover function not opening popup

css - P 标签内容在 float 图像下渗出

css - 基础 6,空列

jquery - 有特定的按钮隐藏div

css - 视口(viewport)单位字体大小和缩放错误 : which browsers are affected?

html - 是否可以在 URL 中添加 CSS 代码?