dd 内div margin 边框bug

速度4 2010-06-08 12:03:14
<dl>
<dt style="border:#000 solid 1px; height:30px;">
</dt>
<dd style="border:#000 solid 1px; border-top:0; margin:0; padding:0;">
<div style="height:248px;margin:5px; border:#F00 solid 1px;"></div>
</dd>
</dl>

何解?
...全文
148 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
ddcatlee 2010-06-17
  • 打赏
  • 举报
回复
google 垂直边距压缩 或 垂直边距重叠
holyss 2010-06-17
  • 打赏
  • 举报
回复
其实有时BUG是自己搞出来的~~
速度4 2010-06-17
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 ddcatlee 的回复:]
google 垂直边距压缩 或 垂直边距重叠
[/Quote]

外边距合并:当两个垂直外边距相遇时,它们将形成一个外边距。合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者。只有普通文档流中块框的垂直外边距才会发生外边距合并。行内框、浮动框或绝对定位之间的外边距不会合并。http://www.w3school.com.cn/css/css_margin_collapsing.asp

当一个元素包含在另一个元素中时(假设没有内边距或边框把外边距分隔开),它们的上和/或下外边距也会发生合并。

dd border-top:0; margin:0;
div margin:5px;

合并后的上外边距margin:5px;貌似找到原因了。

今天在ie6下测试:dd增加overflow:hidden;无效,去掉border-top:0;后,div上下左右外边距全部消失。
速度4 2010-06-16
  • 打赏
  • 举报
回复
在足够长远的范围内。。。。。看得到月亮而摸不到。。。。。。不是一定要来和你过不去,只是帮你得到一个更好的人生。。。。。

感动ing。。。。
速度4 2010-06-16
  • 打赏
  • 举报
回复
为dd 增加 overflow:hidden;或将border-top:0;去掉,撑破问题解决。具体原因未明。
速度4 2010-06-16
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 theforever 的回复:]
那是因为你原来的代码里根本没给DD设高度.
<dl>
<dt style="border:#000 solid 1px; height:30px;">aaa</dt>
<dd style="border:#00f solid 1px; height:260px;border-top:0; margin:0; padding:0;">
<div style="height:248px;margin:5px; border:#F00 solid 1px;">bbb</div>
</dd>
</dl>

贴一大篇代码,却不说明问题,谁有闲心看哪?问问题的是你,还摆这么大谱了,你牛叉
[/Quote]



林子大了什么鸟都有啊。。。。无语ing。。。。
速度4 2010-06-08
  • 打赏
  • 举报
回复
<dl>
<dt style="border:#000 solid 1px; height:260px; width:30px; float:left;"></dt>
<dd style="border:#000 solid 1px; height:260px; width:260px; float:left;border-left:0; margin:0; padding:0;">
<div style="height:248px; width:248px; margin:5px; border:#F00 solid 1px;"></div>
</dd>
</dl>

dd float之后无此问题
速度4 2010-06-08
  • 打赏
  • 举报
回复
ie8及opera下也有同样的问题
速度4 2010-06-08
  • 打赏
  • 举报
回复
这里也上传不了图片,ff下,dd的边框被div的margin撑破了。
楼上的,贴代码是让你测试的,不是让你在这啰嗦一大堆。
  • 打赏
  • 举报
回复
什么何解????
你也不说明你想要的是什么效果,这个又和你期望的有什么不同.
要知道你写的这些代码,显示的结果就是它们所能产生的结果.就象1=1一样,成立,有理.
也可能根本谈不到什么BUG,只是看你掌握的程度如何.如果由于自己的问题,到处出错,那就说到处都是BUG吗.
phonenix66 2010-06-08
  • 打赏
  • 举报
回复
俩人火拼
  • 打赏
  • 举报
回复
我不想吵架,也不愿意做着帮人不讨好的事.
的确,一开始我的语气就带火.
因为,问问题就该好好问,楼主那种方式本身就让我觉得不好:

1.BUG不是乱说的.在足够长远的范围内,你只能处于应用的程度,用不好是你认识不够.所以有问题要积极从自己的角度去修改测试,得出结论,提高认识.怎么能因为看得到月亮而摸不到它,就说这是月亮的BUG?

2.问问题要描述清楚,你想要什么,结果却是什么.有1有2才有3.你甩个1出来,就莫测高深耍酷地问句"何解?",卖很大一个关子,非等人再回来迷茫问你咋回事,你再讲? 给人感觉就是无知加狂妄和无聊.浪费自己时间,也给别人制造垃圾.

我对事不对人.现在虽然很不客气,但也只是希望楼主因此得到提醒,对自己的方式进行修正.即使楼主不变或保持敌意,我也会忘记这件事的,因为我不是一定要来和你过不去,只是帮你得到一个更好的人生.好话不听,我也犯不上多说.
  • 打赏
  • 举报
回复
是不是真以为自己发现什么BUG,而不是问问题的.
幸好你没什么对问题的表达能力,否则早向FF官方网站报告去了,那就丢国人的脸了.
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 speed4 的回复:]
这里也上传不了图片,ff下,dd的边框被div的margin撑破了。
楼上的,贴代码是让你测试的,不是让你在这啰嗦一大堆。
[/Quote]
那是因为你原来的代码里根本没给DD设高度.
<dl>
<dt style="border:#000 solid 1px; height:30px;">aaa</dt>
<dd style="border:#00f solid 1px; height:260px;border-top:0; margin:0; padding:0;">
<div style="height:248px;margin:5px; border:#F00 solid 1px;">bbb</div>
</dd>
</dl>

贴一大篇代码,却不说明问题,谁有闲心看哪?问问题的是你,还摆这么大谱了,你牛叉

61,115

社区成员

发帖
与我相关
我的任务
社区描述
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
社区管理员
  • HTML(CSS)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧