2010-09-07 82 views
23

我想在表格的每一列上使用不同的样式。我读过你可以使用<colgroup><col>这样做,但我没有运气。我有一个例子here,似乎没有任何改变。难道我做错了什么?这将工作在XHTML?HTML表格colgroup元素不工作?

我知道我可以在每个<td>上添加一个“class”属性,但这似乎很弱。

回答

32

这是正确的。虽然colgroup本身是由所有浏览器支持的,this isn't true for the attributes of the inner col element。在可能的属性中,所有浏览器仅支持width。但与CSS不同,<col width="">仅支持像素和百分比宽度。

请勿使用它。相反,创建CSS类并将它们分配给每个td。是的,它很糟糕。

编辑更新以上链接页面提供更好的信息

+0

thxs!似乎html5将使colgroup工作..但在那之前,我将使用类或第n个孩子 – pleasedontbelong 2010-09-07 12:54:04

+3

您引用的页面说_ _ 标记在所有主流浏览器中都支持_也许您应该删除该引用,因为它们是误导人们。 – 2012-08-14 12:36:38

+0

我同意@JannieT,这似乎受所有主流浏览器的支持。请参阅:http://reference.sitepoint.com/html/colgroup和http://webdesign.about.com/od/htmltags/p/bltags_colgroup.htm – 2013-04-15 22:20:26

5

设置你的table-layout自动的,而不是固定的......

table {table-layout: auto;} 

我的个人网站支持多个主题,我看到这些类型的差异每时每刻。

+1

梦幻般的财产! :) https://developer.mozilla.org/en-US/docs/Web/CSS/table-layout – 2013-06-11 20:33:30

1

您可以使用css选择器来获得类似的结果,而无需添加额外的类。

至于如果你想给特定的样式到第二栏,你可以用一个例子:

table>tbody>td:nth-child(2){font-weight: bolder;}