一文搞懂行内元素、块元素、行内块元素

简介: 一文搞懂行内元素、块元素、行内块元素

前言


行内元素,行内块元素是html中的一个基本概念,想要进行良好的页面布局,就需要理解什么是行内元素,块元素,并理解他们如何进行转换



一、了解各个元素的概念


1.概念:


可以将web页面中的一行,认为是一块领地,每个标签是一个首领


可以将web页面中的一行,认为是一块领地,每个标签是一个首领
行内元素:
  就是在web页面布局时可以与其他元素一块共享一行的元素
块元素:
  就是每一个元素,占有一行,即使自己的内容不够多也不让其他元素侵犯自己的底盘
行内块元素:
  块元素经过一系列转换,终于被征服,所以就变成了行内块元素,与行内元素没有了本质的区别


2.举个例子:


<!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>
        * {
            /* 这里是将每个元素外间隔为3像素,背景颜色变色方便我们观察 */
            margin: 3px;
        }
        span,p{
            background-color: aquamarine;
        }
    </style>
</head>
<body>
    <span>Hello,我是行内元素</span>
    <span>Hello,我是行内元素</span>
    <p>
        我是p标签,我是块元素
    </p>
    <p>
        我是p标签,我是块元素
    </p>
</body>
</html>


3.样式展示


  如图所示,占据一行的就是块元素,一行有两块的就是行内元素

2e05ae0161c84d17a8fc6bc5be7468e1.png


二、如何将块元素变为行内块元素?


1.修改css中的dispaly属性


  相对于刚才,给p标签加入了一个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>
        * {
            /* 这里是将每个元素外间隔为3像素,背景颜色变色方便我们观察 */
            margin: 3px;
        }
        span,p{
            background-color: aquamarine;
        }
        p {
            display: inline-block;
        }
    </style>
</head>
<body>
    <span>Hello,我是行内元素</span>
    <span>Hello,我是行内元素</span>
    <p>
        我是p标签,我是块元素
    </p>
    <p>
        我是p标签,我是块元素
    </p>
</body>
</html>


图示:


2422ffabcafc4409bf5d6c81d4308d86.png


2.在进行样式选择的时候加入浮动


代码如下:


<!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>
        * {
            /* 这里是将每个元素外间隔为3像素,背景颜色变色方便我们观察 */
            margin: 3px;
        }
        span,p{
            background-color: aquamarine;
        }
        p {
           float: left;
        }
    </style>
</head>
<body>
    <span>Hello,我是行内元素</span>
    <span>Hello,我是行内元素</span>
    <p>
        我是p标签,我是块元素
    </p>
    <p>
        我是p标签,我是块元素
    </p>
</body>
</html>


图示:


70839921ead24b7f90cd9e70fd85e81d.png


三、将行内元素变为块元素?


1.代码示例


  使用的还是display这个属性


<!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>
        * {
            /* 这里是将每个元素外间隔为3像素,背景颜色变色方便我们观察 */
            margin: 3px;
        }
        span,p{
            background-color: aquamarine;
        }
        span{
            display: block;
        }
    </style>
</head>
<body>
    <span>Hello,我是行内元素</span>
    <span>Hello,我是行内元素</span>
    <p>
        我是p标签,我是块元素
    </p>
    <p>
        我是p标签,我是块元素
    </p>
</body>
</html>


2.效果展示


f0e9c4d531284321a20cd4464b58ba3d.png

总结


清楚块元素、行内元素、行内块元素的概念,可以是我们更规范的布局,css样式表将块元素修改为行内块元素属于css知识,后续会在css专栏细说,大家在这里知道这三种元素的区别就好。


相关文章
|
存储 算法 NoSQL
还分不清 Cookie、Session、Token、JWT?看这一篇就够了
Cookie、Session、Token 和 JWT(JSON Web Token)都是用于在网络应用中进行身份验证和状态管理的机制。虽然它们有一些相似之处,但在实际应用中有着不同的作用和特点,接下来就让我们一起看看吧,本文转载至http://juejin.im/post/5e055d9ef265da33997a42cc
49033 13
|
6月前
|
传感器 算法 搜索推荐
商场实景VR导航怎么做?基本原理与系统组成解析
本文主要介绍了商场实景VR导航系统通过SLAM技术与多传感器融合,实现三维实景重建,有效解决传统导视系统信息滞后、认知困难等问题,大幅提升寻路效率与用户体验。
340 0
商场实景VR导航怎么做?基本原理与系统组成解析
|
JSON 前端开发 JavaScript
不会webpack的前端可能是捡来的,万字总结webpack的超入门核心知识
该文章提供了Webpack的基础入门指南,涵盖安装配置、基本使用、加载器(Loaders)、插件(Plugins)的应用,以及如何通过Webpack优化前端项目的打包构建流程。
不会webpack的前端可能是捡来的,万字总结webpack的超入门核心知识
|
8月前
|
前端开发 开发工具 Android开发
小红书APP的全新鸿蒙NEXT端性能优化技术实践
从 2023 年开始,鸿蒙的优势愈发明显,已经成为可与 iOS、安卓媲美的第三大移动操作系统。从一些抖音视频中也可以看出,鸿蒙在流畅性方面甚至在某些层面上超过了 iOS。本次分享的主题是小红书在鸿蒙平台上的工程实践,主要聚焦于性能优化和探索。
578 10
|
Dart 前端开发 开发工具
【Flutter前端技术开发专栏】Flutter入门指南:搭建开发环境与第一个应用
【4月更文挑战第30天】本文介绍了Flutter SDK的安装和配置过程,以及如何创建并运行第一个Flutter应用。首先确保安装了Dart SDK和Flutter SDK,支持macOS、Linux和Windows。安装完成后,设置环境变量,然后通过`flutter doctor`验证安装。接着,使用`flutter create`命令创建新项目,进入项目目录并运行`flutter run`启动应用。在`main.dart`中修改代码以自定义应用。Flutter支持热重载和DevTools调试。本文为Flutter初学者提供了快速入门的指导。
418 0
【Flutter前端技术开发专栏】Flutter入门指南:搭建开发环境与第一个应用
|
前端开发 JavaScript 算法
面试官:【webpack和vite的区别?vite一定比webpack快吗?vite的缺点是什么?webpack的热更新和vite的热更新区别?】
面试官:【webpack和vite的区别?vite一定比webpack快吗?vite的缺点是什么?webpack的热更新和vite的热更新区别?】
4161 1
|
存储 缓存 JSON
详解HTTP四种请求:POST、GET、DELETE、PUT
【4月更文挑战第3天】
72613 5
详解HTTP四种请求:POST、GET、DELETE、PUT
|
机器学习/深度学习 自然语言处理 算法
3大核心技术,免费开源的智能合同审查分析软件的技术介绍
智能法律文档分析系统基于BERT、GPT等模型,实现高精度的实体识别和关系抽取,准确率分别达95%和90%以上。系统支持跨文档关联分析和实时处理,响应时间小于1秒,显著提升文档处理效率。核心算法包括深度学习模型、关系抽取技术和多层次数据处理能力,适用于复杂的法律文书分析。
810 0
3大核心技术,免费开源的智能合同审查分析软件的技术介绍
|
前端开发 JavaScript
vite vue3 config配置
【10月更文挑战第5天】
669 0
|
机器学习/深度学习 人工智能 自然语言处理
探索自动化测试的前沿技术与实践
随着科技的快速发展,软件测试领域也迎来了新的变革。自动化测试作为一种提高测试效率和准确性的有效手段,正逐渐成为软件开发过程中不可或缺的一部分。本文将深入探讨自动化测试的最新技术动态,包括人工智能在测试中的应用、持续集成/持续部署(CI/CD)流程中的自动化策略,以及跨平台测试框架的创新。同时,文章还将分享一些实用的自动化测试最佳实践,帮助读者构建更加高效、可靠的自动化测试体系。让我们一起迈向自动化测试的新纪元,解锁软件质量保障的新可能。
363 2