十三、理解不了盒子模型就用联想记忆法轻松解决(3)之盒子模型常见问题

大多数标签,只要使用了,大概率会出现盒子模型的常见问题,下面总结了几点:

外边距正常情况

水平布局 的盒子,左右的 margin 正常,互不影响,最终两者的距离为 左右 margin 的和

外边距合并现象

垂直布局的块级 元素,上下的 margin 会合并,如果两个盒子的上下外边距相同,取其中一个;如果不同,则最终两者的距离为 margin 的 最大值

这种情况是可以避免的,只给其中一个盒子设置 margin 就可以了:

外边距塌陷现象

互相嵌套的 块级元素 ,子元素的 margin-top 会作用在 父元素 上,导致父元素一起向下移动

解决方法

(1) 给父元素设置 border-top 或者 padding-top ,分隔父子元素的 margin-top

以上边框为例,如果设计图中有的话可以设置

(2) 给父元素设置 overflow:hidden,推荐使用

(3) 转换成行内块元素,父元素、子元素都可以转换,效果一样,这里转换子元素

(4) 也可以设置浮动

行内元素的 margin 和 padding 无效的情况

在给行内元素设置 margin 和 padding 时,水平方向的布局有效,垂直方向的布局无效,对于这种情况,可以给行内元素增加 行高

外边距上下边框不生效:

给行内元素增加 行高

相关推荐
ZC跨境爬虫3 小时前
前端实战复盘:从零完成Apple中国大陆官网UI第一阶段全量静态复刻
前端·css·ui·html
ZC跨境爬虫6 小时前
Apple官网复刻第二阶段day_1:(导航栏模块化重构+工业化可复用UI落地)
前端·javascript·css·ui·重构
花归去6 小时前
a-table 冻结列导致边框
前端·css·css3
朝阳397 小时前
CSS【详解】给子元素添加间距的最佳实践(含space 和 gap 的区别图解和面试的标准答案)
前端·css
Mr.mjw7 小时前
vue中封装一个进度条组件,无需引入,纯css
javascript·css·vue.js
军军君0120 小时前
数字孪生监控大屏实战模板:智能业务大数据监管平台
css·vue.js·elementui·typescript·前端框架·echarts·less
睿智的海鸥1 天前
Markdown 语法大全详解
开发语言·前端·javascript·css·html
爱上好庆祝1 天前
学习js的第三天
前端·css·人工智能·学习·计算机外设·js
HyaCinth1 天前
一人一周,用 Codex 渐进式迁移重构了一个材料学组件库
前端·javascript·css
龙猫里的小梅啊2 天前
CSS(四)CSS文本属性
前端·css