display 属性(block,inline 和 inline-block)

总体概念

block 和 inline 这两个概念是简略的说法,完整确切的说应该是 block-level elements (块级元素)inline elements (内联元素)

block 元素通常被现实为独立的一块,会单独换一行。
inline 元素则前后不会产生换行,一系列 inline 元素都在一行内显示,直到该行排满。

常见的块级元素有:div、form、table、p、pre、h1~h6、dl、ol、ul 等。
常见的内联元素有:span、a、strong、em、label、input、select、textarea、img、br 等




display 属性中的 block,inline 和 inline-block

1.display: block
  • block 元素会独占一行,多个 block 元素会各自新起一行。默认情况下,block元素宽度自动填满其父元素宽度。
  • block 元素可以设置 width,height 属性。块级元素即使设置了宽度,仍然是独占一行。
  • block 元素可以设置 margin 和 padding 属性。
.item {
            background: yellow;
            display: block;

            width: 50px;
            height: 50px;

            padding: 10px;
            margin: 20px;

            border-style: solid;
            border-width: 1px;
        }

123
456

效果:


display 属性(block,inline 和 inline-block)_第1张图片
2.display: inline
  • inline 元素不会独占一行,多个相邻的行内元素会排列在同一行里,直到一行排列不下,才会新换一行,其宽度随元素的内容而变化。
  • inline元素设置 width,height 属性无效。
  • inline 元素的 margin 和 padding 属性,水平方向的 padding-left,padding-right,margin-left,margin-right 都产生边距效果;但竖直方向的 padding-top,padding-bottom,margin-top,margin-bottom 不会产生边距效果。
.item {
            background: yellow;
            display: inline;

            width: 50px;
            height: 50px;

            padding: 10px;
            margin: 20px;

            border-style: solid;
            border-width: 1px;
        }

123
456

效果:


3.display: inline-block

将对象呈现为 inline 对象,但是对象的内容作为 block 对象呈现。内联对象会被排列在同一行内,既具有 block 的宽度高度特性又具有 inline 的同行特性。

.item {
            background: yellow;
            display: inline-block;

            width: 50px;
            height: 50px;

            padding: 10px;
            margin: 20px;

            border-style: solid;
            border-width: 1px;
        }

123
456

效果:


display 属性(block,inline 和 inline-block)_第2张图片

你可能感兴趣的:(display 属性(block,inline 和 inline-block))