css盒子

前言

  css把所有html标签都当做各种不同类型的盒子。css就是一套操作盒子的摆放和样式的规则。规则多到css的开发人员都记不全,把核心概念掌握之后来什么撸什么就好了。

盒子的类型

  1,块元素(block)

    页面正常流中的默认行为:1,从上到下。   2,前后生成换行符。 3,默认继承父节点的宽度。  4,可以显式的设置宽高。

  2,行内元素(inline)

    默认行为:宽高由内容撑开,宽度超过父节点宽度时才会折行(英文不会折行)。

  3,行内块(inline-block)

    默认行为:支持宽高,前后不会生成换行符,

    注意:源码中line-block之间有空格的话,在浏览器的显示中会出现蜜汁间隙。

  css3部分的flex等新类型需要单独研究。这里只列出2部分的三种盒子。css3是拓展于css2的,没有更改之前的规则。

盒子属性

  所有的盒子都有这些属性。 只有一点需要注意。行内元素(inline)不支持主动设置宽高。

  padding:内边距,border以内。

  margin:外边距,border以外。

  border:盒子的边框。

  width:内区域的宽度。

  

盒子的宽度(width+padding+margin+border)

  指定宽度时的行为

    1,width属性设置的宽度只是盒子内容的宽度。

    2,为设定了width属性值的盒子添加水平的边框和内外边距会撑大盒子。

  不指定宽度的行为

    css中对所有盒子的所有属性都有默认设置。没有指定width属性的盒子的width值是auto。一下是width:auto的默认行为。

    block:1,始终拓展到与父元素宽度相同。2,添加内外边距会使元素内容区域,也就是width宽度减少。减少量=水平边框+水平内外边距;

    inline-block:与block行为相同。

    inline:由内容撑开。

猜你喜欢

转载自www.cnblogs.com/keliguicang/p/10954898.html