深入了解CSS的line boxes模型

作者: softbone | 来源:发表于2017-08-08 00:17 被阅读452次

      说起css的盒子模型大家都不陌生。盒子宽度=width+padding+border,我们有没有对于盒子的高度有疑惑呢?直接指定height,简单粗暴,在不指定的情况下height是怎么确定的呢?下面就来讲讲。

1.到底有哪些盒子?

      说起有哪些盒子,我们很快想到display为block的块级盒子,inline-block的行内块级盒子,inline行内盒子。而盒子的形成一般是因为我们在文档中加入了相应的标签,例如常用到的行内块级盒子,input ,textarea ,img,button等标签生成的 盒子。像span,i,a等标签生成的就是行内盒子。那么我们直接写在盒子里面的文字属于盒子吗?属于哪种盒子?

2.inline boxes模型

      我们知道行级盒子是在同一行排列的。排在同一行的这些盒子都是inline boxes。由标签生成的inline-block和inline盒子是有名字的inline boxes,而文字则属于匿名的inline boxes。

3.line boxes模型

      说了这么久line boxes到底是个啥呢?line boxes就是代表包含众多inline boxes的这行。line boxes的高度等于这行内高度最高的inline boxes的高度,在上面的图中就是textarea的高度。没有指定高度的块级元素和行内块级元素其高度就是由多个这样的line boxes累计堆起来的。

      那么问题来了,我们知道line boxes有啥作用呢?不知道大家看到上图中的input框没有,它是超出了line boxes的高度的,也就是说它发生了错位,这是由于它的vertical-align默认值为baseline,我们明天再来讲讲vertical-align是怎么回事,想要弄明白vertical-align和line-align这两个属性,盒子的line boxes模型是一定要知道的。最后说个我们常用的单行文字垂直居中的一个方法,line-align=盒子的高度。其实line-align=X,是规定了非替换元素line boxes高度的最小值,相应的line box高度变了,盒子的高度也就变了。

      感谢3金大神的博客分享。

      张鑫旭的博客






相关文章

  • 深入了解CSS的line boxes模型

    说起css的盒子模型大家都不陌生。盒子宽度=width+padding+border,我们有没有对于盒子的...

  • 有趣的小工具Boxes

    boxes Boxes is a command line program that draws a box ar...

  • CSS中line-height与vertical-align

    参考文章:深入了解CSS的line-height属性Vertical-Align: 你需要知道的所有事【译】Ver...

  • CSS行高

    css行高line-height的一些深入理解及应用 深入理解CSS中的行高

  • 笔记: CSS深入理解vertical-align和line-h

    参考 CSS深入理解vertical-align和line-height的基友关系 深入理解css中vertica...

  • APPLY_BOXES: boxfile line ...FAI

    APPLY_BOXES: boxfile line ...FAILURE! Couldn't find a mat...

  • CSS布局

    CSS布局 盒模型(框模型) CSS有一些表现不用的框类型分别为box和line-box, 可以通过设置displ...

  • hc15(12-1~12-9)

    css布局模型 清楚了CSS 盒模型的基本概念、 盒模型类型, 我们就可以深入探讨网页布局的基本模型了。布局模型与...

  • Css学习

    css布局模型 清楚了CSS 盒模型的基本概念、 盒模型类型, 我们就可以深入探讨网页布局的基本模型了。布局模型与...

  • css布局模型和代码简写

    css布局模型 清楚了CSS 盒模型的基本概念、 盒模型类型, 我们就可以深入探讨网页布局的基本模型了。布局模型与...

网友评论

    本文标题:深入了解CSS的line boxes模型

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