gpt4 book ai didi

html - 仅使用 CSS 打破

转载 作者:技术小花猫 更新时间:2023-10-29 11:43:09 26 4
gpt4 key购买 nike

我正在寻找一种仅使用 CSS 来“打破”表格行的方法。

我想改变这个:
one line

为此:
broken line

我无权访问 HTML,但可以控制 CSS。

我试过了

td:nth-child(3) {
display: block;
}

但是好像不行。

下面是一些用于测试的简化代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"   "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<style>
td:nth-child(3) {
display: block;
background-color: yellow;
}
</style>
</head>

<body>
<table border="1">
<tr>
<td>111111</td>
<td>222222</td>
<td>333333</td>
<td>444444</td>
</tr>
</table>
</body>
</html>

最佳答案

如何使用 inline-block 和固定的 width 表...或者使用 % 大约 45% width 为您的 td 元素,因此您不需要为 table

width >

Demo

在这里,我只是将 td 转换为 display: inline-block; 并且由于固定的 width 表,它们将被强制换行到下一行。

我还使用 word-wrap: break-word; 属性,以便非空格字符串被强制中断。

table {
width: 120px;
}

table tr td {
width: 50px;
word-wrap: break-word;
}

table tr td {
display: inline-block;
margin-top: 2px;
}

您也可以使用基于 %width,这样您就不需要关心单元格宽度....

你可能需要 vertical-align: top; 以及 min-height 如果你的 table 中的单元格是空白的p>

table tr td {
display: inline-block;
margin-top: 2px;
vertical-align: top;
min-height: 20px;
}

Demo (仅当单元格为空时才需要)


请注意 inline-block 会导致一些 4px 偏移问题,在这种情况下只需将 font-size: 0; 分配给table 并为您的 td 元素重新设置 font-size,这样您将获得单元格边距的一致性。

Warning: I would never ever recommend to do such types of things, so keep this as your last priority. If you have JavaScript control, than consider appending tr around the td


从这里开始请忽略,如果您不能使用 jQuery,假设您有一个正在使用的 jQuery 库,您可以简单地将代码片段添加到该 JS 文件....

(我在这里添加一个class来唯一标识元素,class也可以使用.addClass()添加定义一些最接近的 CSS 选择器) 所以这里没有修改 HTML 的问题。

$('table.wrap_trs tr').unwrap(); //Remove default pre-generated tr
var cells = $('table.wrap_trs tr td');
for (var i = 0; i < cells.length; i += 2) {
cells.slice(i, i + 2).wrapAll('<tr></tr>'); //Wrapping the tds with tr
}

Demo

关于html - 仅使用 CSS 打破 <tr>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22634419/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com