行内元素一般是内容的容器,而块级元素一般是其他容器的容器。一般情况下,行内元素只能包含内容或者其它行内元素,宽度和长度依据内容而定,不可以设置,可以和其它元素和平共处于一行;而块级元素可以包含行内元素和其它块级元素,且占据父元素的整个空间,可以设置 width 和 height 属性,浏览器通常会在块级元素前后另起一个新行。

因此,行内元素适合显示具体内容,而块级元素适合做布局。常用的行内和块级元素如下:
级别 元素
行内元素 a,b,strong,span,img,label,button,input,select,textarea
块级元素 header,form,ul,ol,table,article,div,hr,aside,figure,canvas,video,audio,footer

之所以说“一般情况下”,是因为元素的级别不是一成不变的,浏览器是按照规范规定元素默认的级别,但是可以通过“display”属性改变其级别。
常用的 display 值

常用的 display 可能的值如下:
值 说明
inline 以行内元素行为展示
block 以块级元素行为展示
inline-block 行内元素和块级元素特性兼而有之,既不会占满父元素,又可以设置width和height属性
table 以表格的形式展示
table-cell 以表格单元格的形式展示
table-row 以表格行的形式展示
table-column 以表格列的形式展示
flex CSS3 新增,虽然处于CR阶段,但是很多现代浏览器已经支持无前缀的该特性,IE从11开始部分支持。类似块级元素,但是可以用于制作自适应布局
inline-flex 类似行内元素,但是可以用于制作自适应布局
grid CSS3 新增,目前处于“实验阶段(Experimental)”,只是得到了IE11和edge的部分支持
行内元素 和 块级元素 盒模型区别

行内元素尺寸由内含的内容决定,盒模型中 padding, border 与块级元素并无差异,都是标准的盒模型,但是 margin 却只有水平方向的值,垂直方向并没有起作用。

块级元素当没有明确指定 width 和 height 值时,块级元素尺寸由内容确定,当指定了 width 和 height 的值时,内容超出块级元素的尺寸就会溢出,这时块级元素要呈现什么行为要看其 overflow 的值,下面会提到。块级元素的 padding, border 和标准的盒模型一致,但是如果 width + padding + border + 指定的margin 小于其父元素的宽度时,浏览器会通过补margin 来填满整行。
块级元素 与 overflow

块级元素当没有明确指定 width 和 height 值时,块级元素尺寸由内容确定,当指定了 width 和 height 的值时,内容超出规定的尺寸就会溢出,元素的尺寸并不会随着内容改变。这时候使用 overflow 可以指定内容超出时的行为,当然, overflow 只对块级元素起作用,指定当内容超出块级容器的时候,块级元素该如何处理内容的显示。overflow 可能的值如下表:
值 说明
visible 默认值,如果内容超出容器尺寸,不做任何处理
hidden 超出的内容被截断并隐藏
scroll 无论内容是否超出,总是显示滚动条。可以控制只显示一个方向的滚动条,这时应该设置 overflow-x 和 overflow-y
auto 内容没有超出时,不显示滚动条;内容超出时,显示滚动条,且如果只有一个方向超出,那么只显示该方向上的滚动条

HTML的块级元素和行内元素的更多相关文章

  1. 【CSS3】块级元素与行内元素的区别

    一.行内元素与块级函数的三个区别 行内元素的特点: 和其他元素都在一行上: 高,行高及外边距和内边距部分可改变: 宽度只与内容有关: 行内元素只能容纳文本或者其他行内元素. 行内元素设置width无效 ...

  2. HTML中块级元素与行内元素

    一.行内元素与块级元素 块级元素列表 <address> 定义地址 <caption> 定义表格标题 <dd> 定义列表中定义条目 <div> 定义文档 ...

  3. CSS里常见的块级元素和行内元素

    根据CSS规范的规定,每一个网页元素都有一个display属性,用于确定该元素的类型,每一个元素都有默认的display属性值,比如div元素,它的默认display属性值为“block”,成为“块级 ...

  4. CSS学习笔记——盒模型,块级元素和行内元素的区别和特性

    今天本来打算根据自己的计划进行前端自动化的学习的,无奈早上接到一个任务需求需要新增一个页面.自从因为工作需要转前端之后,自己的主要注意力几 乎都放在JavaScript上面了,对CSS和HTML这方面 ...

  5. CSS样式设置语法全解,样式优先级、值和单位、字体、文本、块级元素,行内元素,替换元素、非替换元素、display、float、position、table、li、光标、边距边框、轮廓、颜色背景

    全栈工程师开发手册 (作者:栾鹏) 一个demo学会css css选择器全解 css操作语法全解 CSS样式设置语法全解: 样式优先级 1. !important标记的样式 > 内联样式(sty ...

  6. html块级元素与行内元素

    1.关于行内元素和快元素的说明: 根据CSS规范的规定,每一个网页元素都有一个display属性,用于确定该元素的类型,每一个元素都有默认的display属性值,比如div元素,它的默认display ...

  7. css块级元素和行内元素详细解析

    块级元素和行内元素是布局中常见的两种基本元素,但是未必有很多人深入的研究它们的细微差别. 常见块级元素:div  p  form ul ol li 等: 常见的行内元素:span stronh em; ...

  8. python 全栈开发,Day48(标准文档流,块级元素和行内元素,浮动,margin的用法,文本属性和字体属性)

    昨日内容回顾 高级选择器: 后代选择 : div p 子代选择器 : div>p 并集选择器: div,p 交集选择器: div.active 属性选择器: [属性~='属性值'] 伪类选择器 ...

  9. {03--CSS布局设置} 盒模型 二 padding bode margin 标准文档流 块级元素和行内元素 浮动 margin的用法 文本属性和字体属性 超链接导航栏 background 定位 z-index

    03--CSS布局设置 本节目录 一 盒模型 二 padding(内边距) 三 boder(边框) 四 简单认识一下margin(外边距) 五 标准文档流 六 块级元素和行内元素 七 浮动 八 mar ...

  10. html:块级元素和行内元素的特点

    display:block: 块元素会独自占据一整行,或者多行,可以任意设置其大小尺寸,是用于搭建网页布局的必须部分,使网页结构更加紧凑合理. 块级元素width.height.padding.mar ...

随机推荐

  1. 数据服务器------sql

    服务器:能够在网站中提供各种(浏览网页,收发邮件视频,语言)等服务器的软件与硬件集合. 数据库服务器(软件):(特点:永久海量存储数据:高速的查询){所有其他软件没有的特点} 数据库服务器分类 网状数 ...

  2. netty初试

    netty官网:点击进入 学习netty之实现一个丢弃服务器 环境: JDK1.8 netty5.0+ 步骤: 实现一个丢弃服务器 实现一个客户端发送数据 丢弃服务器的创建 //用于接受客户端的的连接 ...

  3. java.lang.IllegalStateException: getWriter() has already been called for this response

    出现此异常的三种可能: 1.通过response.reset(); 刷新可能存在一些未关闭的getWriter().  来源:http://blog.csdn.net/wonder4/article/ ...

  4. 第二课丶pygame

    学号:2017*****1024 姓名:王劲松 我的码云贪吃蛇项目仓库:https://gitee.com/Danieljs/sesnake 分析游戏中的备注和问题:10分钟 游戏名称.分数改动:3分 ...

  5. 一键git push脚本(python版)

    #!/usr/bin/env python import os import subprocess import sys import time gitconfig = { 'cwd': './blo ...

  6. ActiveReports 大数据分析报告:2019软件开发者现状

    “C++很不错,PHP是世界上最好的语言,所以我选Java …” 在全球软件开发者群体中,关于最优语言与最优框架的争论从未停止. 本次 ActiveReports 大数据分析报告,将借助权威数据,为您 ...

  7. Luogu P1245 电话号码

    Luogu P1245 电话号码 谨以此题解致敬我的初中英语老师孙菡老师,她带的班默写不过的人数总是像电话号码那样屈指可数 玄学问题? 本题的SPJ似乎已经基本没有问题了,只要 文末没有多余的空格和回 ...

  8. mongoose一看就会的基本操作

    Mongoose是在node.js异步环境下对mongodb进行便捷操作的对象模型工具 那么要使用它,首先你得装上node.js和mongodb,关于mongodb的安装和操作介绍可以参考:http: ...

  9. ES6解构过程添加一个默认值和赋值一个新的值

    const info = { name: 'xiaobe', } const { name: nickName = '未知' } = info; 其中nickName是解构过程中新声明的一个变量,并且 ...

  10. Oracle创建表、修改字段类型

    1.创建表 1.创建表 create table SCM_PER( --SCM_PER表名 ID ) primary key,--主键ID USERID ),--用户ID --Permission v ...