1)
( a)即使在CSS文件中,我们没有为一个特定块(如<p> )指定一个边距属性,浏览器仍然显示它,就好像这个块在它之前和之后都有一个换行符。这个空间(让我们称之为“默认”空间是一个dS )是否被认为是一个具有某些默认值的边距?
b)
<p>元素中添加一个值为1px的边距属性,那么<p>下面和上面的空间应该增加一个像素吗?那么,如果dS由15个像素组成,那么新的空间应该有16个像素的高度?<p>上面和下面的空间似乎没有26像素的高度(dS+11 dS=15 dS+11 dS=26 dS)。实际上,高度似乎与分配给height属性值1 1px时相同。发布于 2009-09-08 19:21:10
似乎您正在观察一些应用于浏览器的HTML 4的默认样式。
为了帮助您回答第二个问题,这个关于边缘塌陷的文章可能是有用的。
摘录自文章:
大多数块元素都有默认的顶部和底部边距,例如段落和标题,其上、下边距可能为1em,如果这是当前字体大小,则计算为16个像素。--这就是两段之间的差距。这也是导致保证金崩盘的重要原因。 ..。 段落可能有16个像素的顶部和底部的边距,而DIVs有0。因此,DIV和段落之间的间隔在每种情况下都是16个像素。这两个段落之间的距离也是16个像素,尽管有两个段落,而且它们之间可能有32个像素。这是一个边缘崩溃. ..。 边距崩溃发生在两个(或更多)顶部或底部边缘接触的地方。基本思想是,当他们接触,而不是得到两个边距之和,一个更大,而另一个被忽略。因此,在这两段中,第一段的16像素底部边缘与第二段的16像素顶部边缘相接触。最大( 16,16 )为16,,因此它们之间的距离为16像素。
发布于 2009-09-08 19:22:02
1) ( a)即使在CSS文件中,我们也不为特定的块指定页边距属性(如 ),浏览器仍然显示它,就好像这个块在它之前和之后有一个换行符一样。这个空间(让我们称之为“默认”空间是一个dS )是否被认为是一个具有某些默认值的边距?
浏览器有一个所谓的默认样式表,它应用于元素。换行符是因为它是块样式元素。这与利润率无关。
如果我将(在CSS文件中)添加到 元素一个边距属性,值为1px,然后是下面和上面的空格。 应该增加一个像素吗?那么,如果dS由15个像素组成,那么新的空间应该有16个像素的高度?
不,如果对元素应用边距,它将覆盖默认样式。所以就只有1倍了;
发布于 2009-09-08 19:22:25
这些都是很好的问题。请您用CSS发布一些示例html,以便更好地描述问题2。
至于问题1,所有元素都有每个浏览器的默认设置,其中有些还包括保证金默认值。有些人喜欢重置所有的CSS样式,以保证他们在不同的浏览器和平台上有一定的期望。有关如何执行此操作的良好示例,请参阅http://meyerweb.com/eric/thoughts/2007/04/12/reset-styles/。
不同的浏览器不仅根据对其框模型的不同解释而不同地度量高度(参见http://www.communitymx.com/content/article.cfm?cid=E0989953B6F20B41),而且边距在相邻时有“折叠”的倾向,因此元素的边距之间存在共享空间(参见http://www.howtocreate.co.uk/tutorials/css/margincollapsing)。
希望这能有所帮助。
https://stackoverflow.com/questions/1395796
复制相似问题