侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

常见的 css 问题

2024-05-06 星期一 / 0 评论 / 0 点赞 / 58 阅读 / 2053 字

###1、空白边叠加问题<body> <div class="box"> <p>this pragraph has a 20px margin</p> </div></bod

###1、空白边叠加问题

<body>    <div class="box">        <p>this pragraph has a 20px margin</p>    </div></body>
.box{margin: 10px; background: #d5d5d5; width: 300px;}p{margin: 20px; background: #6699FF; border:1px solid #e33030;}

我们的本意是让 box 显示10像素的空白边,段落显示20像素的空白边

但是实际效果如图:

这里发生了两个情况:

1.段落的20px 空白边和 div 的10px 空白边叠加,形成一个单一的20px 垂直空白边。

2.这些空白边不是被 div 包围的,而是突出到 div 的顶部和底部的外边。

出现这种情况是由于具有块级子元素的元素计算其高度的方式造成的。(如果元素没有垂直边框或填充,那么他的高度就是它包含的子元素的顶部和底部边框边缘之间的距离。因此,包含的子元素的顶部和底部空白边突出到容器元素的外边。)

解决办法:通过添加一个垂直边框或者填充,空白边就不再叠加了,而且元素的高度就是它包含的子元素的顶部和底部空白边缘之间的距离。

方法一:

 .box{margin: 10px; background: #d5d5d5; width: 300px; **padding: 1px;**} p{margin: 20px; background: #6699FF; border:1px solid #e33030;}

方法二:

.box{margin: 10px; background: #d5d5d5; width: 300px; border: 1px solid transparent;}p{margin: 20px; background: #6699FF; border:1px solid #e33030;}

空白边叠加的不多数问题可以通过添加透明的边框或1px 的填充来修复

广告 广告

评论区