块级 行内 行内块的特点

125 阅读3分钟

01行内元素

显示特点

1.占一行显示(很霸道-一行一个) 2.直接设置其宽高、行高、上下内边距(padding) 3.宽度默认是父级宽度100%,高度默认由内容撑开

代表标签

div p h系列 ul li dl dt dd form header nav footer...

代码演示

html结构

<body>
    <div ></div>
    <p></p>
    <h1></h1>
</body>

css简单样式 为了显示的更清楚,辅助性的设置了大小和背景颜色

body{
            width: 100px;
        }
        div{
            /* width: 100px; */
            height: 100px;
            background-color: blue;
        }
        p{
            /* width: 200px; */
            height: 100px;
            background-color: rgb(85, 85, 180);
        }
        h1{
            /* width: 300px; */
            height: 100px;
            background-color: #4f7eb1;
        }

如图1

image.png 可以清楚的看到 1.块级为元素独占一行,且相互间自带间隙(margin) 2.宽度默认是父级的100%

高度默认为内容撑开如下展示 html结构

  <div>
      npm ERR! code ERR_SOCKET_TIMEOUT npm ERR! network Socket timeout npm ERR!
      network This is a problem related to network connectivity. npm ERR!
      network In most cases you are behind a proxy or have bad network settings.
      npm ERR! network npm ERR! network
    </div>
    <p>npm ERR! code ERR_SOCKET_TIMEOUT npm ERR! network Socket timeout
    </p>
    <h1>12345</h1>

css样式

body {
        width: 300px;
      }
      div {
        background-color: blue;
      }
      p {
        background-color: rgb(85, 85, 180);
      }
      h1 {
        /* 抵消h1标签自带的字体加粗和放大-->正常显示 */
        font-weight: normal;
        font-size: 16px;

        background-color: #4f7eb1;
      }

如图2 image.png

02行内块元素

显示特点

1.一行显示多个,相互间自带间隙(margin) 2.直接设置其宽高、行高、上下内边距(padding)等

代表标签

input textarea button select

特殊的标签img

img标签属于行内元素,但是通常在Chrome调试工具中显示的是inline-bolock,所以一般当做行内块元素来看待.

代码演示

html

    <img src="./img.png" alt="">
    <button>button</button>
    <textarea name="" id="" cols="30" rows="10"></textarea>

如图3 image.png 可以看到一行多个显示,且相互间自带间隙; 下面在html结构的基础上进行宽高设置看是否生效 css

       img{
            width: 100px;
            height: 100px;
            padding-bottom: 30px;
        }
        button{
            padding-top: 30px;
        }

图4:

image.png img的宽高和下内边距都生效

03行内元素

行内元素又称内联元素

显示特点

1.默认情况下,一行显示多个,相互间没有间隙. 2.不能直接设置其宽高、行高、上下内边距(padding)等 3.默认情况下,宽度和高度都由内容撑开

代表标签

a span b u i s strong ins em del...

代码演示

html结构

    <span>我是行内span</span>
    <strong>我是行内strong自带加粗功能</strong>

css样式


 span{
            width: 200px;
            height: 200px;
            
            background-color: blue;
        }

如图4:

image.png 可以看到 1.宽高有内容撑开 2.给span设置宽高没有生效

让span(行内元素)宽高设置生效有2种方法: 1.转块级元素 特点:不仅仅宽高生效,且独占一行 如图5

span{
            /* 1.设置为块级元素 */
            display: block;

            width: 200px;
            height: 200px;
            background-color: blue;
        }

image.png 2.转行内块元素 特点:宽高生效,仍在一行显示

            /*方法2:设置为行内块 */
            display: inline-block;

如图6 image.png

行内元素怎么先选择转块级元素还是行内块元素

转块级元素

简单来说,就是在已经做了布局的情况下,行内元素当前只需要宽高或者其他上下内边距等生效,但是要独占一行时,考虑转块级

转行内块元素

在已经做了布局的情况下,行内元素行内元素当前只需要宽高或者其他上下内边距等生效,但是要一行显示多个元素时候,选择转行内块.

总而言之,最主要的是让行内元素宽高等生效,再考虑是否一行显示;间隙那些不用考虑因为可以依靠margin:0等属性值进行控制