我有一个包含许多行的表.其中一些行是class="highlight"
并且表示需要以不同方式设置样式并突出显示的行.我要做的是在这些行之前和之后添加一些额外的间距,使它们看起来与其他行稍微分开.
我以为我可以完成这件事,margin-top:10px;margin-bottom:10px;
但它不起作用.任何人都知道如何完成这项工作,或者是否可以完成?这是HTML,我已经在tbody中设置了第2个tr到类突出显示.
<table>
<thead>
<tr>
<th>Header 1</th>
<th>Header 2</th>
</tr>
</thead>
<tbody>
<tr>
<td>Value1</td>
<td>Value2</td>
</tr>
<tr class="highlight">
<td>Value1</td>
<td>Value2</td>
</tr>
<tr>
<td>Value1</td>
<td>Value2</td>
</tr>
<tr>
<td>Value1</td>
<td>Value2</td>
</tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
小智 144
表行不能有边距值.你能增加填充吗?那会有用.否则,您可以在行<tr class="spacer"></tr>
之前和之后插入class="highlighted"
.
Mar*_*ark 117
该border-spacing
物业将适用于这种特殊情况.
table {
border-collapse:separate;
border-spacing: 0 1em;
}
Run Code Online (Sandbox Code Playgroud)
参考.
Mr *_*ter 57
你<tr>
不能自己设计样式,但你可以将<td>
s设置为"高亮" <tr>
sa样式,就像这样
tr.highlight td {padding-top: 10px; padding-bottom:10px}
Run Code Online (Sandbox Code Playgroud)
Meh*_*ner 23
行高可能是可能的解决方案
tr
{
line-height:30px;
}
Run Code Online (Sandbox Code Playgroud)
Jrd*_*Jrd 21
我知道这有点老了,但我只是按照同样的方式开始工作.你不能这样做吗?
tr.highlight {
border-top: 10px solid;
border-bottom: 10px solid;
border-color: transparent;
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.
Ant*_*ier 15
首先,不要试图为a <tr>
或a 设置边距,<td>
因为它在现代渲染中不起作用.
虽然保证金不起作用,但填充确实有效:
td{
padding-bottom: 10px;
padding-top: 10px;
}
Run Code Online (Sandbox Code Playgroud)
警告:这也会将边框推离元素,如果边框可见,则可能需要使用解决方案2.
要保持边框靠近元素并模仿边距,请<tr>
在每个卷轴表之间放置另一个,<tr>
如下所示:
<tr style="height: 20px;"> <!-- Mimic the margin -->
</tr>
Run Code Online (Sandbox Code Playgroud)
Joh*_*ohn 11
这不会是完全完美的,虽然我很高兴地发现,你可以控制的水平和垂直边框间距 分别:
table
{
border-collapse: separate;
border-spacing: 0 8px;
}
Run Code Online (Sandbox Code Playgroud)
因为margin
被忽略tr
,我通常使用一种解决方法,通过设置透明border-bottom
或border-top
设置background-clip
属性,padding-box
以便background-color
不在边框下绘制.
table {
border-collapse: collapse; /* [1] */
}
th, td {
border-bottom: 5px solid transparent; /* [2] */
background-color: gold; /* [3] */
background-clip: padding-box; /* [4] */
}
Run Code Online (Sandbox Code Playgroud)
5px
值表示您要实现的保证金background-color
行/单元格background
没有涂在下面border
在这里看一个演示:http://codepen.io/meodai/pen/MJMVNR?editors = 1100
background-clip
所有现代浏览器都支持.(和IE9 +)
或者你可以使用border-spacing
.但这不适用于border-collapse
设置collapse
.
小智 6
您可能会尝试使用 CSS 转换来缩进整个 tr:
tr.indent {
-webkit-transform: translate(20px,0);
-moz-transform: translate(20px,0);
}
Run Code Online (Sandbox Code Playgroud)
我认为这是一个有效的解决方案。在我的 OSX 上的 Firefox 16、Chrome 23 和 Safari 6 中似乎运行良好。
模仿行上空白的一种方法是使用伪选择器在上增加一些间距td
。
.highlight td::before, .highlight td::after
{
content:"";
height:10px;
display:block;
}
Run Code Online (Sandbox Code Playgroud)
这样,标记为Highlight类的所有内容都将上下分开。
https://jsfiddle.net/d0zmsrfs/
归档时间: |
|
查看次数: |
330113 次 |
最近记录: |