举个例子,假设我有一张桌子。标准对齐行为(不确定这是html规范还是我使用的浏览器?)似乎是左对齐主体元素和居中对齐头部元素。
因此,如果我希望所有内容保持一致,那么编写
的效率会降低#MyTable td {
text-align: left;
}
而不是写
#MyTable tbody td {
text-align: left;
}
或者它真的没有任何区别吗?
在这种情况下,最佳做法是什么?
我想我的问题实际上是关于如何设置“默认”样式。如果在css中找不到匹配的样式,它们是否实际上是由浏览器显式设置的?或者,当没有样式时,它们是真正的默认行为。
答案 0 :(得分:6)
您可以使用firebug / webkit内置检查器查看浏览器的默认和计算样式。选择器匹配从右到左。理论上,首先应该更快。 在实践中几乎没有任何差异。即使是~100个元素。 但是如果你想编写高效的选择器,规则很简单: 尽可能具体地选择最右边的选择器。
答案 1 :(得分:2)
默认情况下,除非另有说明,否则所有内容都是左对齐的(尽管某些语言(如阿拉伯语)可能会有所不同)。 HTML元素有suggested stylesheet,但它不是规范的一部分。
如果您为每个表单独覆盖text-align
,那么可能会有点问题。浏览器从右到左匹配CSS,因此根据您的规则,他们将首先找到所有td
元素并向上搜索以查找具有该ID的父级。最好的方法是简化:
td {
text-align: left;
}
但是老实说,对于对齐与默认对象不同的元素,例如<th>
元素,这可能是值得的。