🌟 所属专栏:前端只因变凤凰之路
🐔 作者简介:rchjr——五带信管菜只因一枚
😮 前言:该系列将持续更新前端的相关学习笔记,欢迎和我一样的小白订阅,一起学习共同进步~
👉 文章简介:本文介绍CSS元素显示模式。知识学习内容来自b站的 @黑马程序员 的视频
😃1 什么是元素的显示模式
网页的标签非常多,在不同地方会用到不同类型的标签,了解他们的特点可以更好的布局网页。所以元素显示模式就是元素(标签)以什么方式进行显示,比如<div>自己占一行,一行可以放多个<span>等。
HTML主要分为块元素和行内元素
 
    
   😃2 元素显示模式的分类
块元素
常见的块元素有h1-h6,p,ul,ol,li等,其中div是最典型的块元素
特点
- 独占页面中一行 
- 高度,宽度和外边距内边距都可以控制 
- 宽度默认是它的父级的100% 
- 是一个容器及盒子,里面可以放行内或者块元素 
注意
- 文字类的元素里面不能用块元素 
- p标签主要用于放文字,因此里面不能有块元素 
- 同理,h1-h6等都是文字类块元素,里面也不能放其他块元素 
行内元素
常见行内元素有a,strong,br,em,span等
特点
- 相邻行内元素在一行上,一行可以显示多个 
- 高宽直接设置是无效的 
- 默认宽度就是它本身内容占据的宽度 
- 行内元素只能容纳文本或者其他行内元素 
注意
链接里面不能再放链接
特殊情况链接a里面可以放块元素,但是一般要把a转换成块元素
行内块元素
在行内元素中有几个特殊的标签,img,input,td,他们同时具有行内元素和块元素的特点
特点
和相邻的行内元素或者行内块元素在一行上,但是之间会有空隙(行内元素特点)
默认宽度就是本身内容的宽度(行内元素特点)
高度,宽度和外边距,内边距可以控制(块元素特点)
 
   😃3 元素显示模式的转换
特殊情况下,我们需要元素模式的转换,简单理解一个模式的元素需要另一种模式的特性。比如,想要增加链接啊的触发范围。
例如下面的就是一个链接,但是却扩大了范围。
 
   转换为块元素,display:block
 
   <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        a {
            color: pink;
            width: 150px;
            height: 50px;
            display: block;
            background-color: bisque;
        }
    </style>
</head>
<body>
    <a href="#">goodgood</a>
</body>
</html>转换为行内元素,display:inline
 
   <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        a {
            color: pink;
            width: 150px;
            height: 50px;
            display: block;
            background-color: bisque;
        }
        div {
            width: 100px;
            height: 100px;
            background-color: aquamarine;
            display: inline;
        }
    </style>
</head>
<body>
    <div>
        我是块元素
    </div>
    <div>
        我是块元素
    </div>
</body>
</html>转换为行内块元素,display:inline-block
 
   <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        a {
            color: pink;
            width: 150px;
            height: 50px;
            display: block;
            background-color: bisque;
        }
        div {
            width: 200px;
            height: 200px;
            background-color: aquamarine;
            display: inline;
        }
        span {
            color: azure;
            width: 200px;
            height: 200px;
            background-color: blueviolet;
            display: inline-block
        }
    </style>
</head>
<body>
    <span>
        行内块元素
    </span>
    <span>
        行内块元素
    </span>
</body>
</html>


















