【问题标题】:Text doesn't wrap in table layout, overflows文本不会在表格布局中换行,溢出
【发布时间】:2015-04-23 13:07:32
【问题描述】:

我有一个使用display: flexbox; 将内容居中的布局,除此之外。由于 IE9 及以下版本不支持此功能,因此我使用了 display: table; 方法,而 几乎 是一种享受。

我遇到的问题是在 IE8 中(是的,我知道,但我必须这样做)。由于某种原因,文本转义了它的容器,该容器上设置了display: table-call;。在使用这种方法之前我从未经历过这种情况,希望有人能提供帮助。这是发生的情况的屏幕截图。用 imgfigcaption 着色,这样你就可以更容易地看到那里的宽度:

如您所见,文本脱离了figcaption

这是代码的标记:

<figure>
    <figcaption>
        <h3>E-commerce + Retail</h3>
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
    </figcaption>
    <img src="img/content/ipad.png" alt="ALT TEXT." class="ipad" />
</figure>

还有 CSS:

figure {
    display: table;
    width: 100%;
}

figcaption,
.ipad {
    display: table-cell;
    vertical-align: middle;
}

.ipad {
    width: 48.4375%;
    max-width: 620px;
}

figcaption {
    padding: 0 8% 0 2%;
    width: 51.5625%;
}

原始的 figcaption 宽度是 '41.5625%;',考虑到填充。但我认为 table-cell 自己考虑到了这一点,所以我将宽度设置为 actual 宽度。似乎适用于其他一切,禁止 IE8!

谢谢,真的希望有人能对这个烦人的小故障有所了解!

【问题讨论】:

标签: html css internet-explorer-8 overflow word-wrap


【解决方案1】:

&lt;figcaption&gt; 使用word-wrap: break-word;

这应该可以满足您的需求。

仅供参考,除了指定的之外,还有其他方法可以将文本包含在其父元素中。

【讨论】:

  • 另外我应该在我的最后一个答案中添加宽度 : % 在 IE 中无法正常工作的原因是因为没有父母设置实际宽度。因此 IE 不知道如何计算 width: %,因为它没有用于计算的参考点。
  • 感谢您的回复。不幸的是,这都是百分比布局。我想它是 IE8 不值得经历和改变这一切。修复没有奏效,但我认为这又是因为百分比布局。也许我应该将 &lt;p&gt; 标签设置为 90% 的宽度,这样应该可以吗?
  • 如果你可以给我发一个带有一些工作代码的 jsfiddle 链接,我可以看看并给你一个可行的解决方法
  • 我已将所有内容添加到代码笔中:codepen.io/moy/pen/OVJGWp。我已经包含了我的基本样式,然后是 600px+ 样式(为此我没有费心将它们放在媒体查询中。然后是我的 IE9 及以下版本的无弹性框样式,这是 display: table; 设置的地方. 在 CSS 的底部,您会看到 lt-ie9 类的一些样式。到目前为止,这是我的“解决方案”,它不能修复错误,但至少文本不会重叠。干杯!跨度>
猜你喜欢
  • 1970-01-01
  • 2021-09-27
  • 1970-01-01
  • 2021-10-04
  • 1970-01-01
  • 1970-01-01
  • 2012-11-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多