请考虑以下代码:http://jsfiddle.net/A98vk/
包装div有两个(左上角和右上角)圆角。第二个div是直接嵌套的,我想给它一个背景渐变。
我遇到的问题是,当css属性border
不存在或设置为0
或{{}时,背景线性渐变(很抱歉只添加webkit版本,我有Chrome)会被裁剪1}}。当我重新设置属性时,问题就解决了。
任何人都可以告诉我它有什么问题吗?
我知道我可以设置0px [any params]
,但这对我来说似乎是一种解决方法。
答案 0 :(得分:5)
保证金崩溃正在发生。有关stackoverflow上的margin-collaps的大量问题/答案。我自己回答了一个(可能更多):Adding CSS border changes positioning in HTML5 webpage
基本上h1的边距“崩溃”,而是应用于周围的标题。没有背景被裁剪。标题只会变小。
元素边距在它们之间没有任何内容时会崩溃。当你在那里添加边框时,你会在它们之间添加一些东西,因此没有边缘崩溃。
还有一点了解这一点,包括其他方法来阻止边缘崩溃。您可以查看我上面的答案,或者只是将其谷歌搜索,以获得更详细的解释。
答案 1 :(得分:1)
您可以将overflow:auto
(或hidden
)添加到.header
div并修复裁剪。
<强> See this demo 强>