CSS基础知识储备(行内元素)

一、元素分类

HTML可以将元素分类方式分为行内元素、块状元素和行内块状元素三种。

这三者是可以互相转换的,使用display属性能够将三者任意转换:

  • display:inline;转换为行内元素

  • display:block;转换为块状元素

  • display:inline-block;转换为行内块状元素

<!DOCTYPE html>
<html>

    <head>
        <meta charset="utf-8" />
        <title>测试案例</title>
        <style type="text/css">
            span {
                 display: block;
                width: 120px;
                height: 30px;
                background: red;
            }

            div {
                display: inline;
                width: 120px;
                height: 200px;
                background: green;
            }

            i {
                display: inline-block;
                width: 120px;
                height: 30px;
                background: lightblue;
            }
        </style>
    </head>

    <body>
        <span>行内转块状</span>
        <div>块状转行内 </div>
        <i>行内转行内块状</i>
    </body>

</html>

二、分析

1.行内元素

行内元素最常使用的就是span,其他的只在特定功能下使用,修饰字体<b>和<i>标签,还有< sub>和< sup>这两个标签可以直接做出平方的效果,而不需要类似移动属性的帮助

行内元素特征:

  • 设置宽高无效
  • 对margin仅设置左右方向有效,上下无效;padding设置上下左右都有效,即会撑大空间
  • 不会自动进行换行
<!DOCTYPE html>
<html>

    <head>
        <meta charset="utf-8" />
        <title>测试案例</title>
        <style type="text/css">
            span {
                width: 120px;
                height: 120px;
                margin: 1000px 20px;
                padding: 50px 40px;
                background: lightblue;
            }
        </style>
    </head>

    <body>
        <i>不会自动换行</i>
        <span>行内元素</span>
    </body>

</html>

2、块级元素

块级元素代表性的就是div,其他如p、nav、aside、header、footer、section、article、ul-li、address等等,都可以用div来实现。不过为了可以方便程序员解读代码,一般都会使用特定的语义化标签,使得代码可读性强,且便于查错。

块状元素特征:

  • 能够识别宽高
  • margin和padding的上下左右均对其有效
  • 可以自动换行
  • 多个块状元素标签写在一起,默认排列方式为从上至下
<!DOCTYPE html>
<html>

    <head>
        <meta charset="utf-8" />
        <title>测试案例</title>
        <style type="text/css">
            div {
                width: 120px;
                height: 120px;
                margin: 50px 50px;
                padding: 50px 40px;
                background: lightblue;
            }
        </style>
    </head>

    <body>
        <i>自动换行</i>
        <div>块状元素</div>
        <div>块状元素</div>
    </body>

</html>

3、行内块元素

行内块状元素综合了行内元素和块状元素的特性,但是各有取舍。因此行内块状元素在日常的使用中,由于其特性,使用的次数也比较多。

行内块状元素特征:

  • 不自动换行
  • 能够识别宽高
  • 默认排列方式为从左到右
<!DOCTYPE html>
<html>

    <head>
        <meta charset="utf-8" />
        <title>测试案例</title>
        <style type="text/css">
            div {
                display: inline-block;
                width: 100px;
                height: 50px;
                background: lightblue;
            }
        </style>
    </head>

    <body>
        <div>行内块状元素</div>
        <div>行内块状元素</div>

    </body>

</html>

三、行内元素垂直居中

1、 让 line-height 与 height 相等

.container {
    width: 1rem;
    height: 1rem;
    line-height: 1rem;
    font-size: 0.12rem;
    color: green;
    background: lightblue;
}

2、用 Flex 布局实现垂直+水平居中

.container {
    width: 1rem;
    height: 1rem;
    font-size: 0.12rem;
    color: green;
    background: lightblue;

    display: flex;
    justify-content: center; /* 水平居中 */
    align-items: center; /* 垂直居中 */
}

四、内联盒模型

image
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容