我是HTML和CSS的新手,我想知道流内容和短语内容之间的区别.除了W3官方文档之外,MDN文档也很有用,并说明:
流内容定义如下:
属于流内容类别的元素通常包含文本或嵌入内容.
短语内容定义如下:
短语内容定义文本及其包含的标记.短语内容的运行构成段落.
但是,文档在两者之间给出的差异很小,有人可以澄清措辞内容和流内容之间的主要区别吗?
Jon*_*nna 33
最容易记住的方法是,如果它可以在一个句子中,那就是它的内容.
文字可以在句子里面,所以它是短语.
一个强调的一点可能是一个句子里面,所以它的措辞.
图像可以 在一个句子里面,所以这是措辞.
小标题或文章不能在句子中,因此它们不是短语.
一个链接可以是一个句子里面,所以它的措辞.但是从HTML 5开始,还允许一个包含整个文本块的链接,在这种情况下它不是短语.
短语内容分为三类:
<img>
由图像替换.<link>
当用于itemprop
而非<link>
在<head>
其限定了文档作为一个整体并链接到资源之间的关系).流内容包括短语内容,但也包括定义整个文本行的元素,如> <p>
和<h1
>,<article>
其中包含一个或多个运行,<table>
并且包含包含文本行的单元格行.
在高级CSS中,了解不同类型的内容非常重要,不仅仅是它的定义,或者仅仅是某种类型内容下的元素列表,还有"为什么"某个元素属于某个类别并且在我的问题的情况下,类似内容类别之间的主要区别是"阶段内容"和"流内容"之间的区别.
我不完全同意.
这是绝对至关重要的基本HTML知道这一点.<html><head><title>Hello</title></head><body><p>Hello World!</p></body></html>
在文本编辑器中编写并在浏览器中打开后,这是HTML中应该首先教授的内容,并且"HTML中有几个不同的元素".它可能不会完全清楚,直到一个人学会了每个元素作为每个元素的例子,但让一个人围绕它是很重要的,因为许多事情只是没有意义,否则它会使简单的标记语言与容易记住的元素和属性以及标签的混乱汤,你永远不会记得为什么验证者说你做错了.
现在肯定,你的CSS通常会遵循你的语义,并且默认也遵循它们(大多数可见的措辞内容要么是被替换的元素display: inline;
,要么大多数其他流内容是或者display: block;
与语义非常明显相关的东西(例如tr: {display: table-row;}
).
但是因为HTML是您首先考虑语义的地方,所以在编写CSS时,您可以更多地关注渲染,并在某种程度上让您自己摆脱这种关注.当然,正确的语义通常不应该成为对CSS的限制,除了你显然想要一个可以帮助你传达信息的视觉设计的简单事实.
因此,例如,仅仅因为<p>
被定义为"一个段落",并且在我们的文化中段落今天通常被排版为文本块,它们之间具有垂直边距或第一行上的缩进,并不意味着我们必须遵循该规则.我们可以用这里的晚间媒体风格来布置我们的段落,其中段落由朝圣者分开.
并非你可能想要这样做,但你当然可以.因此,虽然优秀的CSS确实建立在元素的语义上,但它也使我们从它们中解脱出来,因为我们不必具有不正确的语义,以便拥有我们想要的外观(或声音).
我认为这可以被认为是关于短语内容的要点:
短语内容是文档的文本,以及在段落内标记该文本的元素.短语内容的运行形成段落.
(由我突出.)
短语内容主要是你(可能/会)放入段落的内容.对于页面中较长部分的文本内容,大多数文本内容通常应组织成段落.段落是构建文本内容的最基本级别,与书籍或类似书籍中的传统书面文本相同.
流内容是一个更广泛的类别.正如您在MDN页面上的维恩图中所看到的,它包含所有其他类别的内容(元数据除外,显示为部分在其外部 - 这是有道理的,因为大量元数据进入的head
元件).
因此,短语内容主要是段内级别,而流内容基本上是您可能想要body
直接放入内部的任何内容,或者任何"更大"的结构元素.
你看到了流内容元素的列表和为段落式内容的元素列表中大部分重叠- FE都包含元素,例如a
,img
,input
,label
,span
,等所有这些因素,你可能希望把里面p
的段落有一个良好的原因,但它们也可能是body
直接的子项,或嵌套到其他元素中,例如a
(un)有序列表中的链接,用于标记导航列表,img
即网站标识(因此不是网站标识的一部分)所以很多东西都可以在段落内部,也可以在它们之外 - 取决于它们标记的内容的具体含义.
该措辞内容不包括,但该元素仅流内容的一部分,是那些不允许一个段落内- p
本身当然,不同的标题级别section
,article
,aside
,div
,form
,footer
,fieldset
,table
等你也可以拨打这些主要的"顶级"结构元素.
如果您熟悉内联 vs 块元素的"旧"HTML 4.01分类,那么这不应该带来太多麻烦.段落中允许大多数内联分类,而段落中不允许使用其他块元素.(当然HTML 5添加了一些新的元素,因此它们不是inline或block之前的部分.)
我主要使用段落来指出这一点,但同样适用于标题元素.这些也只允许在HTML 4.01中包含内联元素 - 现在他们的内容模型也是短语内容.把一个div
,footer
,table
或段落标题只想没有意义的内部; 把链接或图像放在那里然而在很多情况下很容易理解.
当然,这种"涓滴"也是如此.对于诸如em
(随机示例)之类的元素,内容模型也是短语内容.否则就没有意义 - 因为em
段落中的一个元素突然允许段落本身不被允许包含的元素,根本不是明智的.
(该a
元素在HTML 5中得到了一些特殊处理.以前只允许包含内联元素,它现在可以包含短语内容和流内容 - 允许a
包含a div
或段落.这取决于当然的上下文 -如果它a
本身是一个只允许表达内容的元素的祖先,那么它本身也只能包含短语内容.这种变化是由于开发人员需要能够使用更大的结构化内容部分链接到其他地方 - fe ,你可能想要一个包含标题的链接以及其中的一些额外的[段落]文本.在HTML 5之前,人们必须使用链接中的内联元素"伪造"它并通过CSS格式化它们看起来像标题和段落. )
因此,虽然HTML 5已经将块和内联的两个基本类别分解为几个类别,但流量和措辞内容是那些仍然存在的两个最重要的内容,我认为,可以说是块和内联的"后继者"在一定程度上.
如果有疑问,总会有规范来查看内容; 并且验证器将告诉您是否以不允许的方式嵌套元素.我建议你总是使用这个工具检查你的页面 - 随着时间的推移,所有这一切都会更自然地来自.
归档时间: |
|
查看次数: |
7967 次 |
最近记录: |