问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

浅谈CSS块级元素与行内元素的区别和联系

发布网友 发布时间:2022-04-21 02:36

我来回答

1个回答

热心网友 时间:2022-04-06 09:05

在css盒子模型中,我们提到了html元素中的块元素(block element)和内联元素(inline element)。那么它们究竟是什么呢?

其实,这两种元素都是html规范中的概念。块元素(block
element)一般是其他元素的容器元素,能容纳其他块元素或内联元素。最常见的就是P和div这两个,说的简单点,块元素就好比一个四方块,可以放其他的四方块,并可以呈现在页面上任何地方。默认情况下块元素,是独占一行的。常见的块元素:div、h1-h6标题、form(只能用来容纳其他块元素)、hr、p、table、ul、ol等。内联元素(inline

element)也叫内嵌元素或行内元素,一般都是基于语义级(semantic)的基本元素。内联元素只能容纳文本或者其他内联元素,常见内联元素有a和span。

块元素与内联元素的区别?

1.块元素,总是在新行上开始;内联元素,和其他元素都在一行上。

2.块元素,能容纳其他块元素或内联元素;内联元素,只能容纳文本或者其他内联元素。

3.块元素中高度,行高以及顶和底边距都可控制;内联元素中高,行高及顶和底边距不可改变。

(这上面的区别,指的是默认情况下的,不包括CSS的刻意控制。也就是说当使用css控制时,块元素和内联元素的属性差异会越来越小。)

block(块)元素的特点:

①总是在新行上开始;
②高度,行高以及外边距和内边距都可控制;
③宽度缺省是它的容器的100%,除非设定一个宽度。
④它可以容纳内联元素和其他块元素

inline元素的特点:

①和其他元素都在一行上;
②高,行高及外边距和内边距不可改变;
③宽度就是它的文字或图片的宽度,不可改变
④内联元素只能容纳文本或者其他内联元素

CSS文档流与块级元素(block)、内联元素(inline),之前翻阅不少书籍,看过不少文章,
看到所多的是零碎的CSS布局基本知识,比较表面。看过O'Reilly的《CSS权威指南》,发现里面提到的文档流概念让我很敏感。
可恶的是书中并没有解释文档流是什么东西,或许作者觉得这个太简单了以至于不值一提。但我觉得,这个概念实在太重要了。理解了它,一堆CSS布局的理论都变得易于理解,并且体会到CSS这套设计的合理性所在。

文档流

将窗体自上而下分成一行行, 并在每行中按从左至右的顺序排放元素,即为文档流。

每个非浮动块级元素都独占一行, 浮动元素则按规定浮在行的一端。 若当前行容不下, 则另起新行再浮动。

内联元素也不会独占一行。 几乎所有元素(包括块级,内联和列表元素)均可生成子行, 用于摆放子元素。

有三种情况将使得元素脱离文档流而存在,分别是浮动,绝对定位, 固定定位。 但是在IE中浮动元素也存在于文档流中(还让我觉得这样很合理><)。

浮动元素不占任何正常文档流空间,而浮动元素的定位还是基于正常的文档流,然后从文档流中抽出并尽可能远的移动至左侧或者右侧。文字内容会围绕在浮动元素周围。当一个元素从正常文档流中抽出后,仍然在文档流中的其他元素将忽略该元素并填补他原先的空间。

浮动概念让人迷惑根源在于浏览器对理论的解读造成的。只能说很多人以IE做标准,其实它不是。

基于文档流, 我们可以很容易理解以下的定位模式:

相对定位, 即相对于元素在文档流中位置进行偏移。 但保留原占位。

绝对定位, 即完全脱离文档流, 相对于position属性非static值的最近父级元素进行偏移。

固定定位, 即完全脱离文档流, 相对于视区进行偏移。

几个问题

•作为三大基本元素之一的内联元素。 它跟块级元素的主要区别在哪?

•Clear属性取right值时怎么理解? 貌似实验情况总跟理论不符.

•内联元素是什么意思呢?什么是块级别元素?

《CSS权威指南》中文字显示:任何不是块级元素的可见元素都是内联元素。其表现的特性是“行布局”形式,这里的“行布局”的意思就是说其表现形式始终以行进行显示。比如,我们设定一个内联元素border-bottom:1px
solid #000;时其表现是以每行进行重复,每一行下方都会有一条黑色的细线。如果是块级元素那么所显示的的黑线只会在块的下方出现。

p、h1、或div等元素常常称为块级元素,这些元素显示为一块内容;Strong。span等元素称为行内元素,它们的内容显示在行中,即“行内框”。(可以使用display=block将行内元素转换成块元素,display=none表示生成的元素根本没有框,也既不显示元素,不占用文档中的空间)

•行内就是在一行内的元素,只能放在行内;块级元素,就是一个四方块,可以放在页面上任何地方。

•说白了,行内元素就好像一个单词;块级元素就好像一个段落,如果不另加定义的话,它将独立一行出现。

•一般的 块级元素诸如段落<p>、标
题<h1><h2>...、列表。<ul><ol><li>
、表格<table>、表单<form>、DIV<div>和BODY<body>等元素。而内联元素则如:
表单元素<input>、超级链接<a>、图像<img>、<span> ........

•块级无素的显著特点是:每个块级元素都是从一个新行开始显示,而且其后的无素也需另起一行进行显示。

•<span>在CSS定义中属于一个行内元素,而<div>是块级元素。

对于学过CSS的人来说一听就能明白。可对于新手来说不易理解,我主要对新手说通熟点吧!

用容器这一词会更容易形象理解它们的存在与用途,行内元素相当一个小容器,而<div>相当于一个大容器,大容器当然可以放一个小容器了。<span>就是小容器,这样一说你也许会在脑海中有一个初步的印象了吧,如果我们想在大容器中装一些清水。但我也想在里装一些墨水怎么
办?很简单,我们把小容器拿出来装上墨水然后放入大容器里的清水中不就成了吗。

块元素(block element)一般是其他元素的容器元素

块元素一般都从新行开始,它可以容纳内联元素和其他块元素。常见块元素是段落标签'P"。“form"这个块元素比较特殊,它只能用来容纳其他块元素。

如果没有css的作用,块元素会顺序以每次另起一行的方式一直往下排。而有了css以后,我们可以改变这种html的默认布局模式,把块元素摆放到你想要
的位置上去。而不是每次都愚蠢的另起一行。需要指出的是,table标签也是块元素的一种,table based layout和css based

layout从一般使用者(不包括视力障碍者、盲人等)的角度来看这两种布局,除了页面载入速度的差别外,没有其他的差别。但是如果普通使用者不经意点了

查看页面源代码按钮后,两者所表现出来的差异就非常大了。基于良好重构理念设计的css布局页面源码,至少也能让没有web开发经验的普通使用者把内容快速的读懂。从这个角度来说,css
layout code应该有更好的美学体验吧。

你能够把块容器元素div想象成一个个box,或者如果你玩过剪贴文载的话,那就更加容易理解了。我们先把需要的文章从各种报纸、杂志总剪
下来。每块剪下来的内容就是一个block。然后我们把这些纸块按照自己的排版意图,用胶水重新贴到一张空白的新纸上。这样就形成了你自己独特的文摘快报了。作为一种技术的延伸,网页布局设计也遵循了同样的模式。

内联元素(inline element)一般都是基于语义级(semantic)的基本元素。内联元素只能容纳文本或者其他内联元素,常见内联元素 “a”。

块元素(block element)和内联元素(inline
element)都是html规范中的概念。块元素和内联元素的基本差异是块元素一般都从新行开始。而当加入了css控制以后,块元素和内联元素的这种属
性差异就不成为差异了。比如,我们完全可以把内联元素cite加上display:block这样的属性,让他也有每次都从新行开始的属性。

可变元素的基本概念就是他需要根据上下文关系确定该元素是块元素或者内联元素。可变元素还是属于上述两种元素类别,一旦上下文关系确定了他的类别,他就要遵循块元素或者内联元素的规则*。大致的元素分类见全文。

关于inline
element的中文叫法,有多种内联元素、内嵌元素、行内元素、直进式元素。基本上没有统一的翻译,爱怎么叫怎么叫吧。另外提到内联元素,我们会想到有个display的属性是display:inline;这个属性能够修复著名的IE双倍浮动边界问题。

块元素(block element)

•address - 地址
•blockquote - 块引用
•center - 举中对齐块
•dir - 目录列表
•div - 常用块级容易,也是css layout的主要标签
•dl - 定义列表
•fieldset - form控制组
•form - 交互表单
•h1 - 大标题
•h2 - 副标题
•h3 - 3级标题
•h4 - 4级标题
•h5 - 5级标题
•h6 - 6级标题
•hr - 水平分隔线
•isindex - input prompt
•menu - 菜单列表
•noframes - frames可选内容(对于不支持frame的浏览器显示此区块内容)
•noscript - 可选脚本内容(对于不支持script的浏览器显示此内容)
•ol - 排序列表
•p - 段落
•pre - 格式化文本
•table - 表格
•ul - 非排序列表内联元素(inline element)
•a - 锚点
•abbr - 缩写
•acronym - 首字
•b - 粗体(不推荐)
•bdo - bidi override
•big - 大字体
•br - 换行
•cite - 引用
•code - 计算机代码(在引用源码的时候需要)
•dfn - 定义字段
•em - 强调
•font - 字体设定(不推荐)
•i - 斜体
•img - 图片
•input - 输入框
•kbd - 定义键盘文本
•label - 表格标签
•q - 短引用
•s - 中划线(不推荐)
•samp - 定义范例计算机代码
•select - 项目选择
•small - 小字体文本
•span - 常用内联容器,定义文本内区块
•strike - 中划线
•strong - 粗体强调
•sub - 下标
•sup - 上标
•textarea - 多行文本输入框
•tt - 电传文本
•u - 下划线
•var - 定义变量可变元素

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

•applet - java applet
•button - 按钮
•del - 删除文本
•iframe - inline frame
•ins - 插入的文本
•map - 图片区块(map)
•object - object对象
•script - 客户端脚本
浅谈CSS块级元素与行内元素的区别和联系

1.块元素,总是在新行上开始;内联元素,和其他元素都在一行上。2.块元素,能容纳其他块元素或内联元素;内联元素,只能容纳文本或者其他内联元素。3.块元素中高度,行高以及顶和底边距都可控制;内联元素中高,行高及顶和底边距不可改变。(这上面的区别,指的是默认情况下的,不包括CSS的刻意控制。也就是说当使用css控...

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

一、块级元素:block element 每个块级元素默认占一行高度,一行内添加一个块级元素后无法一般无法添加其他元素(float浮动后除外)。两个块级元素连续编辑时,会在页面自动换行显示。块级元素一般可嵌套块级元素或行内元素;块级元素一般作为容器出现,用来组织结构,但并不全是如此。有些块级元素,如只...

CSS内嵌元素和块元素的区别

1 css中块元素和行内元素的区别 :行内元素会再一条直线上,是在同一水平线布局的 ; 块级元素各占一行,是垂直方向布局的。2 第一步把概念说了一下,下面以实际的例子来看行内元素和块元素的区别:标签是一个行内元素 是一个块元素。从下面的代码中可以看出,两个标签里面的内容明显是没有填...

CSS块级元素与行内元素(内联元素)的区别和联系

1、独占一行,在默认情况下,宽度自动填满父元素宽度 2、宽度和高度可以控制 3、margin和padding横向纵向设置都有效 4、可以通过display: inline; 转换为行内元素 5、除个别特殊元素外,可包含块状元素和行内元素 行内元素特点:1、不能独占一行 2、宽高由内容撑开 3、margin和padding横向设置有效,纵向...

行内元素与块级元素比较全面的区别和转换

一、行内元素与块级元素的布局特点不同:- 行内元素:它们会在同一行水平排列,不会换行。- 块级元素:每个元素都会单独占据一行,垂直排列,且会在新行开始和结束。二、包含关系与使用限制的区别:- 块级元素:有能力包含行内元素以及其他块级元素。- 行内元素:不能包含块级元素,只能包含其他行...

行内元素与块级元素有什么区别

块级元素1、总是从新行开始2、高度、行高、外边距以及内边距都可以控制3、宽度默认是浏览器的100%4、可以容纳内联元素以及其他块元素行内元素1、和相邻元素在一行上2、高、宽无效,但是水平方向的padding和margin可以设置,垂直方向无效3、默认宽度就是它本身内容的宽度4、行内元素只能容纳文本或其他行...

在CSS中块元素和内联元素的本质区别是什么,请举例说明

分块和行内,这是html元素的展现形式而已。主要是这两种,块级单独占据一行,行级可以并排展示,这也就是他们的区别。当然还有其他的展现形式,比如行块级,表格等等。

CSS行内块元素与行内元素的区别?

它们的区别主要有以下几点:1、CSS有个属性叫做display,其取值可以为inline-block。W3CSchool中说display 属性规定元素应该生成的框的类型。2、display:inline-block;可以让元素具有块级元素和行内元素的特性:既可以设置长宽,可以让padding和margin生效,又可以和其他行内元素并排。是一个很实用的属性。3...

css中的块级元素和内联元素的区别

Inline element 内联元素:通俗点来说就是文本的显示方式,与块级元素相反,内联元素的高度宽度都是不可以设置的,其宽度就是自身文字或者图片的宽度。我们常用到的、、都属于内联元素。内联元素的显示特点就是像文本一样的显示,不会独自占据一个行。当然块级元素也能变成内联元素,那就是通过css的displa...

行内元素和块级元素的区别有哪些?

在HTML中,行内元素(Inline Elements)和块级元素(Block-level Elements)是两种基本的元素类型,它们在页面布局中扮演着不同的角色。以下是他们之间的主要区别:1. 布局方式:- 行内元素:它们不会单独占据一行,而是与其他元素并列显示在同一行。- 块级元素:它们会单独占据一行,并且通常用于创建段落...

html行内元素和块级元素的区别 请简述一下块元素和行内元素的区别 行内元素块级元素区别 块级标签与行内元素的区别 块元素和行内元素的特点 块级元素和行级元素排列 常见块级元素和行内元素 行元素和块元素分别有哪些 什么是块元素和行内元素
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...现在面临我面前的是两份截然不同的工作,一个是之江贵金属的... 之信宝怎么样 苹果6忘了锁屏密码,怎么办刷机开始还是显示要输入原来的id账号,id账... 之江贵金属的实力怎么样啊? 我捡到一部苹果6刷机后要输入它绑定本机的ID我根本用不了怎么办能解除... 苹果6刷机后是别人的id怎么解决 捡了部苹果6,自己刷机之后,但是发现还要id才能激活手机,用了自己的... 中国女排获得奥运冠军,距上次拿奥运冠军隔了多少年? 一个R&amp;B歌手在树上唱歌 猜一字 ...曲线怎样设置成不同的颜色?还从没试过改变曲线的颜色 哪些人可以深交 dreamweaver怎样用css样式来做上下标 深交所和上交所的区别 dreamweaver cs6中css的区块属性中的上标下标怎么用 404 Not Found 浠ヤ笅鍝?釜璇嶈?鏄?腑鍖诲?鐣岀殑浠gО锛 什么是深交 dreamweaver用css样式做上标下标套用不了怎么办 深交是什么意思?我不明白! CSS样式里怎么给图片加上标 什么是深交, 什么是浅交 如何通过CSS设置上标 深交什么意思 如何用CSS显示文字的上标和下标 深交是什么意思 深交是什么意思网络语? 什么叫深交? 深交是什么意思? 深交是什么意思??? 投标保证金一般是什么时候交 上交所与深交所有什么区别 去哪儿网CSS样式详解 深交的反义词是什么 CSS中内联元素是什么,还有它的用法是什么 朋友浅交和深交有什么表现? 谁知道行内元素有哪些?块级元素有哪些?CSS的盒模型? 北交所 跟上交所,深交所有什么不同? html语言可以做到同时上标和下标吗 什么样的人可以深交 HTML语言的全部解释 在CSS中类名使用连字符分隔的写法和使用下标符分隔的写法那种更好&#39;请说明理由。 什么是上交所与深交所? 如何配置与使用CKEDITOR 怎么固定div中插入图像大小和比例 dreamweaver中各种代码的含义 html元素种类除了行内元素和块级元素还有什么??? 在ASP中如何添加平方毫米的符号 手机万能钥匙怎么连上电脑? 为什么WiFi万能钥匙手机能连上,电脑版却连不上? 手机万能钥匙破解怎样给电脑连接