自动换行:在 td 内使用 div 进行换行

发布于 2024-08-10 01:06:14 字数 1039 浏览 7 评论 0原文

我正在尝试使用具有断词值的 CSS word-wrap 属性。 我想在 td 中使用它,并且显然需要使用额外的 div 标签才能使其工作。美好的。

我尝试构建一个简化的用例:

HTML:

<table class="sectors">
  <tr>
    <td><div>HURTEAUX / Jean-Baptiste mr)</div></td>
    <td><div>CHEUNJGgdfgdfvfsefsdfsdfsdfsdvvvHJG / Samuel mr</div></td>
    <td><div>CHEUNG / Samuel mr)</div></td>
  </tr>
</table>

CSS

.sectors td {
  border: 1px solid #000;
}

.sectors td div {
  width: 150px;
  word-wrap: break-word;
  border: 1px solid red;
}

问题

Firefox、Chrome 和 Safari 的行为符合预期(至少按照我的预期)。

Firefox 3.5 上的屏幕截图

但是 IE(IE6、IE7、IE8)有一个奇怪的行为:文本正确包裹在 div (红色边框)内,但 td (黑色边框)似乎无缘无故地分配了额外的空间。

IE7 上的屏幕截图

有解决方法或解释吗?

I'm trying to use the CSS word-wrap property with break-word value.
I want to use this inside a td, and apparently need to use a additional div tag for this to work. fine.

I tried to build a simplified use-case:

HTML:

<table class="sectors">
  <tr>
    <td><div>HURTEAUX / Jean-Baptiste mr)</div></td>
    <td><div>CHEUNJGgdfgdfvfsefsdfsdfsdfsdvvvHJG / Samuel mr</div></td>
    <td><div>CHEUNG / Samuel mr)</div></td>
  </tr>
</table>

CSS

.sectors td {
  border: 1px solid #000;
}

.sectors td div {
  width: 150px;
  word-wrap: break-word;
  border: 1px solid red;
}

The problem

Firefox, Chrome and Safari behave as expected (at least as I expect).

screenshot on Firefox 3.5

But IE (IE6, IE7, IE8) has a strange behavior: the text is properly wrapped inside the div (red border), but it seems the td (black border) is allocating extra space for no reason.

screenshot on IE7

Any workaround or explanation?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

苹果你个爱泡泡 2024-08-17 01:06:14

添加overflow:hidden到div应该可以解决这个问题。但无法提供解释,抱歉!

Adding overflow:hidden to the div should sort it out. Can't offer an explanation though, sorry!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文