【发布时间】:2015-07-01 17:26:01
【问题描述】:
我有一个 800 像素宽度的表格,以正文 html 为中心。在这个表格里面我想要一个 DIV,它必须有 10px 的 margin-left 和 10px 的 margin-right ,其余的都是表格宽度的 100%。
尝试使用 div 宽度 100% 并给它左右边距它看起来不太好。
再次测试我只是给它左右边距而不给它一个宽度,似乎在 Chrome 上 DIV 自动调整到整个宽度并给左右边距完美并且工作良好。
问题是它是否真的适用于所有浏览器,或者我只是幸运地使用了 Chrome。这样做的正确形式是什么?
因为表格是我的布局的一部分,所以我希望它在里面有一个 div,就像下面的例子一样:
<!doctype html><html lang="en">
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Testing Width</title></head><body>
<table width="800" border="0" align="center" cellpadding="0" cellspacing="0">
<tr><td align="center" valign="top">
<div style="background-color:#000000; color:#cccccc; margin-left:10px; margin-right:10px;">
Testing auto-size of divs by default.
Because the table is 800 px and I am not giving the div
a width does it auto-resize 100% width
less 10px left and 10px right margin?
That means also that it alto-resizes to 780px?
</div>
这不是代码审查。我需要帮助来给它正确的宽度和边距,让它在所有浏览器上都能工作
编辑:
如果表格宽度为 80%,而我需要 div 为 100% 宽度加上左右边距 10px,该怎么办?
【问题讨论】:
-
默认情况下,像
div这样的块级元素会自动调整到父容器的宽度(考虑到左边距/右边距)。在这种情况下,父容器是 800 像素宽的表格中的表格单元格。这应该适用于所有浏览器,因为它是标准 CSS。 -
尝试下载不同的浏览器并自己测试。这是确保代码在浏览器之间交叉兼容的唯一可靠方法!
-
其实可以
calcwidth property:div{width: calc( 100% - 20px )} -
maioman 所以我尝试了 100% - 20px 但如果我的桌子是液体宽度 100% 怎么办?