美文网首页
前端学习随笔6 盒模型及相关属性

前端学习随笔6 盒模型及相关属性

作者: 前端唠唠嗑 | 来源:发表于2019-10-28 16:41 被阅读0次

    注:测试浏览器版本号——chrome 75.0.3770.80;opera 60.0.3255.109;firefox 67.0;ie 11。

    一 心得体会

    最大的收获是第一次知道了outline(轮廓)这个属性,之前都没有使用过,所以没有注意到这个属性,还有就是对(display)显示类型有了一个新的认识,除了常用的一些显示类型,还有很多其他独特的显示类型,这为我们页面布局提供了很多新的选择。
    在这里建议初学者一定要把css文档从头到尾完整的看一遍,有一个初步的印象,如果有时间可以把每个属性及属性值都实验一遍,加深印象。

    二 相关知识点

    1 盒模型的概念

    盒模型分为标准盒模型和怪异盒模型两种,其宽高取值方式如下图,第一张为标准盒模型,第二张为怪异盒模型。

    标准盒模型 怪异盒模型

    在测试的浏览器中均默认的是标准盒模型,较为统一。标准盒模型和怪异盒模型均可以通过box-sizing来设置,语法如下:

    box-sizing: border-box(怪异盒模型) | content-box(标准盒模型)
    

    2.盒子的溢出

    当盒子尺寸固定是,里面内容可能会超出设置的大小,那么超出部分该如何显示呢?这里我们需要引入overflow属性,其语法为:

    overflow: auto | hidden | visible | scroll
    

    取值含义分别是:

    • auto: 由浏览器定夺,如果内容被修剪,就会显示滚动条
    • hidden:超出部分内容隐藏,无法查看
    • visible:超出部分不隐藏,显示在盒子外面
    • scoll:超出部分内容会隐藏,出现滚动条,通过滚动查看隐藏内容

    3.盒子的背景剪裁

    《CSS之圆角边框渐变的实现》中讲述的三个跟背景相关的属性background-origin,background-clip,background-size即为背景剪裁的要素,这里不重复叙述了。

    4.盒子的轮廓

    简单来讲,outline(轮廓)跟border(边框)属性及属性值都一样,我们可以理解成其是边框的外边框,下图所示的是轮廓盒边框的相对位置。

    image.png
    与border不同的是,outline不占位置,不影响布局。
    注:outline在不同浏览器的层叠顺序不同,在chrome/firefox/opera中前面的outline会遮挡后面的内容(如果outline的宽度够遮挡),而在ie中前面的outline会在后面的内容下面(如果outline的宽度够遮挡)。有兴趣的可以试验一下。

    5.盒子的显示类型

    display属性控制着盒子的显示类型,其部分属性值为:

    display: none | block | inline | inline-block | flex | grid |table
    

    取值含义分别是:

    • none —— 隐藏元素,并从布局中删除元素,屏幕阅读技术无法访问
    • block —— 块元素尝试获取整个宽度,并在布局中开始新行
    • inline —— 内联元素与其他内联元素保持在同一行,不会开始新行,设置宽高无效
    • inline-block —— 内联块元素在外部视为内联元素,但在内部属于块元素,可以设置宽高
    • flex —— 弹性布局脱离块元素和内联元素的约束,属于一种全新的布局,很重要,后面单独讲述,详细内容还可以参考阮一峰老师的《Flex 布局教程》
    • grid —— 网格布局,一种不是很常见的布局方式,后面单独讲述
    • table —— 是元素具备表格的特征,避免滥用表格

    注:display还有很多其他不常用的属性值,有时间可以自己研究一下

    相关文章

      网友评论

          本文标题:前端学习随笔6 盒模型及相关属性

          本文链接:https://www.haomeiwen.com/subject/lrjsxctx.html