在 Web 开发中,必须确保跨浏览器兼容性。出现差异的一个领域是表格单元格内 CSS 样式的处理。在这种情况下,在 max-width 属性方面,Firefox 和 Opera 与 Chrome 和 IE 相比表现出不同的行为。
考虑以下 HTML 和 CSS 代码:
<code class="html"><div style="display: table-cell; padding: 15px; width: 200px;"> <img src="image.jpg" style="max-width: 100%;" /> <p>Content</p> </div></code>
在 Chrome 中和 IE 中,此代码正确地将图像的最大宽度设置为包含单元格的 100%。然而,在 Firefox 和 Opera 中,最大宽度样式被忽略。
为什么会出现差异?
万维网联盟 (W3C) 规范规定 max-宽度不适用于内联元素。内联元素(例如图像)没有固有的宽度或高度,它们的尺寸通常由它们包含的内容决定。
在提供的示例中,图像标签是表格单元格内的内联元素。因此,max-width 样式不起作用。
有效的解决方案
要解决此问题并确保跨浏览器兼容性,您可以采用以下方法:
更新的 HTML 和 CSS:
<code class="html"><div style="display: table;"> <div style="display: table-cell; padding: 15px; width: 200px;"> <img src="image.jpg" style="max-width: 100%;" /> <p>Content</p> </div> </div></code>
通过实施此解决方法,您可以在所有主要浏览器中保持所需的行为。
以上是为什么'max-width”在 Firefox 和 Opera 中对于表格单元格中的图像表现不同?的详细内容。更多信息请关注PHP中文网其他相关文章!