盒模型

块级盒子(Block box)特点:

  • 盒子会在内联的方向上扩展,占据父容器在该方向上的所有可用空间,绝大多数情况下盒子会和父容器一样宽
  • widthheight属性有作用
  • 每个盒子都会换行
  • 内边距(padding),外边距(margin),边框(border)会将其他元素从当前盒子周围推开

<h1>,<p>等如果不特殊指定都是块级盒子

内联盒子(Inline box)特点:

  • 盒子不会产生换行
  • widthheight属性不起作用
  • 垂直方向内边距,外边距,边框会被应用,但是不会把其他处于inline状态的盒子推开
  • 水平方向内边距,外边距,边框会被应用,会把其他处于inline状态的盒子推开

<a>,<span>,<em>,<strong>默认处于inline状态

如图:
垂直方向


image.png

image.png

水平方向


image.png

image.png

什么是内部和外部显示类型

css的box模型都有一个外部显示类型,决定盒子是块级还是内联
盒模型还有内部显示类型,决定了盒子内部元素是如何布局的,默认情况下是按照正常文档流布局,意味着它们和其他块元素或内联元素一样。
但是
如果是flex布局,设置display:flex,则这个元素外部显示类型为block,内部显示类型修改为flex。这个盒子的所有直接子元素都会成为flex元素

注意:display属性可以改变盒子的外部显示类型是块级还是内联,但是flex 的display:flex则是改变了内部显示类型,display:inline-flex则是盒子外部显示类型为inline,内部显示类型为flex

完整的盒模型应用于块级盒子每个盒子包括一下几个部分:


image.png

如果给盒子设置了width,height实际上是内容(content box)的宽高,实际的盒子大小还要加上padding,border。margin不计入实际大小但是会占用空间,影响的是盒子外部的空间

替代(IE)盒模型

计算盒子大小还要加上边框和内边距和麻烦,可以使用替代盒模型,可以使宽高包含border和padding。浏览器默认使用标准模型,如果要使用替代模型设置box-sizing:border-box

如果你希望所有元素都使用替代模式,而且确实很常用,设置 box-sizing<html>元素上,然后设置所有元素继承该属性

html {
  box-sizing: border-box;
}
*, *::before, *::after {
  box-sizing: inherit;
}

外边距

外边距是盒子周围一圈看不到的空间。它会把其他元素从盒子旁边推开。外边距属性值可以为正也可以为负。设置负值会导致和其他内容重叠。无论使用标准模型还是替代模型,外边距总是在计算可见部分后额外添加

外边距折叠
我们有两个段落。顶部段落的页 margin-bottom为 50px。第二段的margin-top 为 30px。因为外边距折叠的概念,所以框之间的实际外边距是 50px,而不是两个外边距的总和。
相关更多信息,请参阅外边距重叠

内边距

内边距不能为负值

内联盒子

使用<span>设置了宽,高,内边距,外边距,边框。宽高被忽略了,内外边距,和边框是生效的,但是它们不会改变其他内容也内联盒子的关系,因此内边距和边框会与其他内容重叠

image.png

image.png

display有一个特殊值,在内联和块之间提供了一个中间状态。如果不希望内联元素换行,但是希望可以设定宽高,并且不出现上面的重叠,可以使用display: inline-block.使用后有以下效果

  • 设置width 和height 属性会生效
  • padding, margin, 以及border 会推开其他元素。
image.png
image.png

2023-03-20

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,496评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,407评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,632评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,180评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,198评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,165评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,052评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,910评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,324评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,542评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,711评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,424评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,017评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,668评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,823评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,722评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,611评论 2 353

推荐阅读更多精彩内容

  • CSS简介 此文章借鉴菜鸟教程和w3c教程,为学习分享文章如有问题请评论,文章原地址自己写在gitbook上格式不...
    腿毛怪丶叔叔阅读 449评论 0 1
  • # CSS样式规则overflow 使用HTML时,需要遵从一定的规范。CSS亦如此,要想熟练地使用CSS对网页进...
    低调迷人的反派角色阅读 1,005评论 0 1
  • 学会使用CSS选择器熟记CSS样式和外观属性熟练掌握CSS各种选择器熟练掌握CSS各种选择器熟练掌握CSS三种显示...
    七彩小鹿阅读 6,311评论 2 66
  • 一、简介 参考CSS 教程[https://www.runoob.com/css/css-tutorial.htm...
    想聽丿伱說衹愛我阅读 595评论 0 1
  • 课程目标: 学会使用CSS选择器熟记CSS样式和外观属性熟练掌握CSS各种选择器熟练掌握CSS各种选择器熟练掌握C...
    前端陈陈陈阅读 273评论 0 1