HTML/CSS/JS学习笔记 Day5(CSS--C2 元素的显示模式)

跟着该视频学习,记录笔记:【黑马程序员pink老师前端入门教程,零基础必看的h5(html5)+css3+移动端前端视频教程】https://www.bilibili.com/video/BV14J4114768?p=12\&vd_source=04ee94ad3f2168d7d5252c857a2bf358

Day5 内容梳理:

目录

[CSS 2.元素的显示模式](#CSS 2.元素的显示模式)

[2.0 显示模式的类型](#2.0 显示模式的类型)

块元素

行内元素

行内块元素

[2.1 显示模式之间的转换](#2.1 显示模式之间的转换)


CSS 2.元素的显示模式

2.0 显示模式的类型

元素显示模式就是元素(或叫标签)以什么方式进行显示。

HTML元素一般分为两种类型:块元素、行内元素。块元素是一行放一个,比如<div>自己占一行。行内元素是一行可放很多个,比如一行可以放很多个<span>。

不过也存在一些同时具有双方特点的特殊元素:行内块元素,比如<img/>、<input/>。

|-------|---------|---------------|---------|---------------|
| 元素模式 | 元素排列方式 | 设置样式 | 默认宽度 | 包含 |
| 块元素 | 一行只能放一个 | 可设置长宽高 | 容器的100% | 可包含任何标签 |
| 行内元素 | 一行可放多个 | 不可直接设置长宽高 | 内容本身的宽度 | 只能容纳文本或其他行内元素 |
| 行内块元素 | 一行可放多个 | 可设置长宽高 | 内容本身的宽度 | |

块元素

常见块元素:<h1>到<h6>、<div>、<p>、<ul>、<ol>、<li>等等

块元素的特点:

  • 自己独占一行。
  • 高度、宽度、外边距、内边距都可以控制。
  • 宽度默认是容器(也叫父级宽度)的100%。
  • 是一个容器及盒子,内部可以放行内元素或块元素。

补充:文字类的元素内部不能放块元素。比如<p>、<h1>到<h6>等文字标签的内部不能放<div>等块元素。

行内元素

常见行内元素:<a>、<em>、<span>等等

块元素的特点:

  • 一行可以显示多个行内元素。
  • 高度、宽度都无法直接设置,默认宽度就是它本身的内容的宽度。
  • 行内元素只能容纳文本或其他行内元素。

补充:链接里面不能再放链接。链接<a>比较特殊,里面可以放块元素。

行内块元素

常见行内块元素:图片、表单、单元格等等。

同时具有块元素和行内元素的特点:

  • 一行可以显示多个(行内元素特点),但是相邻元素之间会有空白缝隙。
  • 默认宽度市它本身的内容的宽度(行内元素特点)。
  • 高度、行高、外边距、内边距都可自己设置(块元素特点)。

2.1 显示模式之间的转换

特殊情况下,需要对元素的显示模式进行转化。

比如因为文本框的被点击范围是文本内容本身的宽高,所以为了增加它的被点击范围,把它从行内元素(不可直接设置长宽高)转换为行内块元素(可设置长宽高),如下图:

转换成块元素:

html 复制代码
display: block;

转换成行内元素:

html 复制代码
display: inline;

转换成行内元素:

html 复制代码
display: inline-block;

例子1,把行内元素<a>改为块元素:

html 复制代码
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>元素显示模式的转换</title>
    <style>
        a {
            width: 530px;
            height: 50px;
            background-color: skyblue;
            display: block;
            /* display这行代码就能把元素更改为块元素 */
        }
    </style>
</head>

<body>
    <a>这是一个行内元素,会被更改为块元素的样子(独占一行、可更改长宽高)</a>
    <a>这也是一个被更改的行内元素</a>
</body>

</html>

例子2,把块元素<div>改为行内元素:

html 复制代码
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>元素显示模式的转换</title>
    <style>
        div {
            width: 530px;
            height: 50px;
            background-color: yellow;
            display: inline;
            /* inline这行代码可把块元素更改为行内元素 */
        }
    </style>
</head>

<body>
    <div>这是一个被改为行内元素的块元素div</div>
    <div>这也是一个被更改的元素div</div>
</body>

</html>

例子3,把行内元素<span>改为行内块元素:

html 复制代码
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>元素显示模式的转换</title>
    <style>
        span {
            width: 130px;
            height: 100px;
            background-color: orange;
            display: inline-block;
            /* inline这行代码可把块元素更改为行内元素 */
        }
    </style>
</head>

<body>
    <span>行内元素转化为行内块元素</span>
    <span>行内元素转化为行内块元素</span>
</body>

</html>
相关推荐
唯之为之8 小时前
巧用mask属性创建一个纯CSS图标库
css·svg
寻找沙漠的人10 小时前
前端知识补充—CSS
前端·css
NoneCoder13 小时前
CSS系列(29)-- Scroll Snap详解
前端·css
无言非影13 小时前
vtie项目中使用到了TailwindCSS,如何打包成一个单独的CSS文件(优化、压缩)
前端·css
羊小猪~~14 小时前
前端入门之VUE--ajax、vuex、router,最后的前端总结
前端·javascript·css·vue.js·vscode·ajax·html5
前端Hardy18 小时前
HTML&CSS:酷炫的3D开关控件
前端·javascript·css·3d·html
devotemyself19 小时前
vue的ElMessage的css样式不生效
前端·css·vue.js
noravinsc20 小时前
css代码加密
前端·css·tensorflow
别发呆了吧20 小时前
前端准备面试题总结(css+js+ES6+vue+http+项目场景+地图相关问题)
前端·javascript·css
阿征学IT20 小时前
圣诞快乐(h5 css js(圣诞树))
前端·javascript·css