CSS 盒模型 总结记录

 
 
  • 溢流:当你使用绝对的值设置了一个框的大小(如,固定像素的宽/高),允许的大小可能不适合放置内容,这种情况下内容会从盒子溢流。我们使用overflow属性来控制这种情况的发生。它有一些可能的值,但是最常用的是:
    • auto: 当内容过多,溢流的内容被隐藏,然后出现滚动条来让我们滚动查看所有的内容。
    • hidden: 当内容过多,溢流的内容被隐藏。
    • visible: 当内容过多,溢流的内容被显示在盒子的外边(这个是默认的行为)
  • 背景裁剪
    • background-clip: border-box;
    • background-clip: padding-box;
    • background-clip: content-box;
  • display
  • 块框( block box)是定义为堆放在其他框上的框(例如:其内容会独占一行),而且可以设置它的宽高,之前所有对于框模型的应用适用于块框 ( block box)
  • 行内框( inline box)与块框是相反的,它随着文档的文字流动(例如:它将会和周围的文字和其他行内元素出现在同一行,而且它的内容会像一段中的文字一样随着文字部分的流动而打乱),对行内盒设置宽高无效,设置padding, margin 和 border都会更新周围文字的位置,但是对于周围的的块框( block box)不会有影响。
  • 行内块状框(inline-block box) 像是上述两种的集合:它不会重新另起一行但会像行内框( inline box)一样随着周围文字而流动,而且他能够设置宽高,并且像块框一样保持了其块特性的完整性,它不会在段落行中断开。(在下面的示例中,行内块状框会放在第二行文本上,因为第一行没有足够的空间,并且不会突破两行。然而,如果没有足够的空间,行内框会在多条线上断裂,而它会失去一个框的形状。)
 
  • 外边距塌陷;较小的margin有效宽度为0,只留下值较大的margin
框的总宽度是width, padding-right, padding-left, border-right, 以及 border-left 属性之和,即offsetwidth的值。
CSS3提供box-sizing属性,这个属性默认值是content-box。当我们把值设成border-box的时候为元素设定的宽度和高度决定了元素的边框盒。就是说,为元素指定的任何内边距和边框都将在已设定的宽度和高度内进行绘制。通过从已设定的宽度和高度分别减去边框和内边距才能得到内容的宽度和高度。
 
posted @ 2019-03-20 16:31  闲敲棋子  阅读(330)  评论(0)    收藏  举报