×

HTML经典话题:HTML中的块级元素和行级元素区别和应用

作者:Terry2019.07.01来源:Web前端之家浏览:10678评论:0

500.jpg

最近忙得不可开交,有段时间没发表文章了,再不发,网站都要降权了,(⊙o⊙)…。OK,跟大家一起来聊聊老生常谈的话题:HTML中的块级元素和行级元素。为什么要聊这么陈旧的话题,其实原因很简单:不忘初心。

我们学习前端一般都是从HTML开始的,基础永远是核心,细节决定成败。

行内元素和块级元素的定义

任何HTML (超文本标记语言) 元素都有其默认的display属性,大多数都是行内元素(inline)或块级元素(block)。

一个行内元素只占据它对应标签的边框所包含的空间,而一个块级元素占据其父元素(容器)的整个空间,因此创建了一个“块”。

行内元素和块级元素的列表

行内元素有哪些?

a 标签可定义锚

abbr 表示一个缩写形式

acronym 定义只取首字母缩写

b 字体加粗

bdo 可覆盖默认的文本方向

big 大号字体加粗

br 换行

cite 引用进行定义

code 定义计算机代码文本

dfn 定义一个定义项目

em 定义为强调的内容

i 斜体文本效果

img 向网页中嵌入一幅图像

input 输入框

kbd 定义键盘文本

label 标签为 input 元素定义标注(标记)

q 定义短的引用

samp 定义样本文本

select 创建单选或多选菜单

small>呈现小号字体效果

span 组合文档中的行内元素

strong 语气更强的强调的内容

sub 定义下标文本

sup>定义上标文本

textarea 多行的文本输入控件

tt 打字机或者等宽的文本效果

var 定义变量

块级元素有哪些?

address 定义地址

caption 定义表格标题

dd 定义列表中定义条目

div 定义文档中的分区或节

dl 定义列表

dt 定义列表中的项目

fieldset 定义一个框架集

form 创建 HTML 表单

h1 定义最大的标题

h2 定义副标题

h3 定义标题

h4>定义标题

h5定义标题

h6定义最小的标题

hr 创建一条水平线

legend 元素为 fieldset 元素定义标题

li 标签定义列表项目

noframes 为那些不支持框架的浏览器显示文本,于 frameset 元素内部

noscript 定义在脚本未被执行时的替代内容

ol 定义有序列表

ul 定义无序列表

p 标签定义段落

pre 定义预格式化的文本

table 标签定义 HTML 表格

tbody 标签表格主体(正文)

td 表格中的标准单元格

tfoot 定义表格的页脚(脚注或表注)

th 定义表头单元格

thead 标签定义表格的表头

tr 定义表格中的行

行内元素和块级元素的区别

它们之间的区别,总结为四点,如下:

1、行内元素与块级函数可以相互转换,通过修改display属性值来切换块级元素和行内元素,行内元素display:inline,块级元素display:block。

2、行内元素和其他行内元素都会在一条水平线上排列,都是在同一行的;块级元素却总是会在新的一行开始排列,各个块级元素独占一行,垂直向下排列,若想使其水平方向排序,可使用左右浮动(float:left/right)让其水平方向排列。

3、行内元素不可以设置宽高,宽度高度随文本内容的变化而变化,但是可以设置行高(line-height),同时在设置外边距margin上下无效,左右有效,内填充padding上下无效,左右有效;块级元素可以设置宽高,并且宽度高度以及外边距,内填充都可随意控制。        

4、块级元素可以包含行内元素和块级元素,还可以容纳内联元素和其他元素;行内元素不能包含块级元素,只能容纳文本或者其他行内元素。

行内元素和块级元素的相互转化

display: none; 不显示该元素

display: block; 可将行内元素转化为块级元素

display: inline; 可将块级元素转化为行内元素

display: inline-block; 转化为行内块级元素(即不默认换行,但是可以设置width、height、margin、padding等属性)

此外,还可以通过给行内元素设置float:left/right、positon:absolute/fixed属性,也可以使行内元素转化为块级元素,但是不默认继承父级元素的宽度,可以设置width、height、margin、padding等属性。但是替换时,还需要注意这个方法转换为块级元素只是float与position的副作用,他们本身的作用还会干扰布局效果。

<div class="child">
    <span class="test">行内元素</span>
 </div>
 <div class="child">块级元素</div>
.test{
  background-color: #000000;
  color: #FFFFFF;
  float:left;
  width:90px;
}.child{
  background-color: #125645;
  width: 150px;
  height: 40px;
  color: #FFFFFF;
  margin: 10px;
  overflow: hidden;
  display: inline-block;
}

预览效果:

1335037-20180721145342652-148070008.png

可变元素

可变元素为根据上下文语境决定该元素为块元素或者内联元素。

button 按钮

del 定义文档中已被删除的文本

iframe 创建包含另外一个文档的内联框架(即行内框架)

ins 标签定义已经被插入文档中的文本

map 客户端图像映射(即热区)

object object对象

注意:块级元素可以包含行内元素和块级元素。行内元素不能包含块级元素。

总结

不忘初心,方得始终!

您的支持是我们创作的动力!
温馨提示:本文作者系Terry ,经Web前端之家编辑修改或补充,转载请注明出处和本文链接:
https://jiangweishan.com/article/htmlkus20190701.html

网友评论文明上网理性发言 已有0人参与

发表评论: