盒模型与边距塌陷问题

盒模型概念

盒子模型是css中一个重要的概念,理解了盒子模型才能更好的排版。W3C组织建议把网页上元素看成是一个个盒子。盒模型主要定义四个区域:内容(content)、内边距(padding)、边框(border)、外边距(margin)。

IE 盒子模型的宽,包含了 border 和 pading。

盒模型设置

box-sizing属性用于控制元素的盒模型计算方式。

可用的值有两种:content-boxborder-box

  • content-box是默认值,表示元素的宽度和高度仅包括内容区域的尺寸,不包括边框、内边距和外边距。
  • border-box表示元素的宽度和高度包括内容区域、内边距、边框的尺寸,但不包括外边距。

父子塌陷问题

  <div
    class="father"
    style="width: 400px; height: 400px; background-color: aqua"
  >
    <div
      class="son"
      style="width: 200px; height: 200px; background-color: brown"
    ></div>
  </div>

解决方法:

  • 把儿子的margin转换成父亲的padding 注意盒子总高度变化问题
  • 给父亲增加一个属性 overflow:hidden;    //触发了BFC

并列元素(兄弟塌陷)

垂直方向上相遇的盒子模型,会发生margin塌陷;现象就是元素二者之间的距离并非之和,而是二者之间最大的。

解决方法:

  • 只配置一个方向即可

注:水平方向没有margin塌陷。

欢迎阅读!
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇