我尝试删除Table1Header和Table2Header之间的空白区域。我尝试过border:0px,padding:0px和border-spacing:0px;样式。 Firefox和Opera告诉我,我的边框间距样式被用户代理样式(2px)所覆盖。如何强制浏览器使用我的样式?
<table class="tableGroup">
<tbody>
<tr>
<td>
<table>
<tbody>
<tr class="tableHeader">
<td><span class="tableHeader"><label>Table1Header</label></span>
</td>
</tr>
<tr class=" tableData">
<td>
<div class="ui-datatable">
<div>
<table>
<thead>
<tr>
<th>
<div><span><span class="ui-header-text">Table1Col1</span></span>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td><span>2</span>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</td>
<td>
<table>
<tbody>
<tr class="tableHeader">
<td><span class="tableHeader"><label>Table2Header</label></span>
</td>
</tr>
<tr class="tableData">
<td>
<div class="ui-datatable">
<div>
<table>
<thead>
<tr>
<th>
<div><span><span class="ui-header-text" >Table2Col1</span></span>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td><span>12345</span>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
span.tableHeader > label {
display: inline-block;
float:left;
line-height:30px;
padding-left:10px;
color: #202020;
font-size: 13px;
}
tr.tableHeader {
background-color: #EEEEEE;
}
table.tableGroup, table.tableGroup > tr > td > table {
border-spacing: 0px;
}
table.tableGroup div.ui-datatable th > div > span >span.ui-header-text {
color: #808080;
font-size: 11px;
}
table.tableGroup td, table.tableGroup th {
padding: 0px;
border: 0px;
}
答案 0 :(得分:16)
您只需使用border-collapse: collapse;
甚至border-spacing: 0;
即可。
table { /* Will apply to all tables */
border-spacing: 0;
/* OR border-collapse: collapse; */
}
您可以使用简单的元素选择器轻松覆盖useragent样式表。
如果要标准化样式,则应使用CSS Reset
来到你的选择器,这对我来说似乎很脏,因为你的目标是class
.tableGroup
并且table
嵌套在
table.tableGroup, table.tableGroup > tr > td > table {
border-spacing: 0px;
}
所以你最好使用
table.tableGroup,
table.tableGroup table {
border-spacing: 0;
}
答案 1 :(得分:4)
你需要添加(border =“0”cellpadding =“0”cellspacing =“0”)表格在每个表格标签中的贡献
示例
<table border="0" cellpadding="0" cellspacing="0">
* 您的班级示例
<table border="0" cellpadding="0" cellspacing="0" class="tableGroup">
答案 2 :(得分:3)
答案 3 :(得分:1)
浏览器没有告诉您用户代理样式表会覆盖您的border-spacing
样式。相反,它们可能表明继承不会发生。这只是因为某些样式表设置了元素的属性。
您的规则未应用于内部table
元素的原因是它与您的任何选择器都不匹配。选择器
table.tableGroup > tr > td > table
与它不匹配,因为tr
元素永远不会是table
的子元素,即使它看起来像是tbody
。通过HTML语法,即使缺少其开始和结束标记,也存在介入的table.tableGroup > tbody > tr > td > table
元素。以下选择器将匹配:
table
当然,如果您希望规则对所有table
元素进行样式设置,那么仅仅{{1}}选择器也可以完成此任务。