为什么有些名称,如none vs.hidden和href vs.src在CSS和HTML中如此不一致?
嗨,这更像是一个概念性的问题。W3C是如何决定使用为什么有些名称,如none vs.hidden和href vs.src在CSS和HTML中如此不一致?,html,css,naming,w3c,Html,Css,Naming,W3c,嗨,这更像是一个概念性的问题。W3C是如何决定使用hidden而不是none?我这样问是因为我是ESL(英语作为第二语言)的人。如果我使用的是overflow:hidden,overflow:none也可以使用。显示:无和可见性:隐藏也是如此。它不能仅仅是display:none和visibility:none,因为真正不同的是属性display和visibility,而不是它们的值。这更像是要求解释。类似的“奇怪”事情也会发生,例如: <script src="file.js">
hidden
而不是none
?我这样问是因为我是ESL(英语作为第二语言)的人。如果我使用的是overflow:hidden
,overflow:none
也可以使用。显示:无
和可见性:隐藏
也是如此。它不能仅仅是display:none
和visibility:none
,因为真正不同的是属性display
和visibility
,而不是它们的值。这更像是要求解释。类似的“奇怪”事情也会发生,例如:
<script src="file.js">
及
为什么它们不同?我理解所有这些在技术上是如何工作的,我只是好奇他们是如何决定属性的名称的
谢谢。这些实体(元素、属性、属性等)之所以被命名为不同的东西,是因为它们有不同的用途。让我们从上面开始,看一下你的例子
显示与可视性
从中可以看到,值none
用于许多不同的属性,以指示不应显示属性的视觉外观。因此,如果属性是float
,none
表示元素不是浮动的。对于属性,none
表示它不显示
例如,隐藏
是不同的,因为它不同于显示
,不会影响元素流。元素的框仍将被渲染,但它将不可见。如果将值none
指定给visibility
,则它在语义上的含义与display:none
完全相同,但实际上并非如此
溢流
这意味着不同的事情hidden
表示溢出元素大小的内容将被剪裁,而none
表示没有溢出控制;实际上是关闭溢出none
不是的有效值,但在本例中,visible
具有相同的效果
Src vs.href
我不知道HTML工作组为什么选择使用link
而不是style
,但是从一点挖掘来看,link
元素似乎已经存在于和中,而style
直到年才被引入
关于样式表语言的讨论早在(HTML1.0完成的同一年)就开始了,HTML3.0直到1995年才完成,在
样式
元素发明之前,他们找到了一种嵌入样式表的方法,这很有意义。链接和脚本都将外部文件引入xhtml文件,但使用不同的方法href vs src。我们在替换的元素上使用src
<代码>脚本是替换的元素,而链接
在引用文档和外部资源之间创建链接。因此我们使用了href
。这是一个比我的答案更好的答案,尽管xD GJJ在
这件事上有所不同。如果以这种方式实现,页面的处理将暂停,直到下载CSS文件。@asbjornu
根据规范的不同,实现是不同的。文件以并行方式下载,页面(HTML)的处理不会暂停。当使用href
时,我们告诉用户代理(本例中的浏览器)file.css是一个与html
文档相关的文件。如果我们使用src
,就像告诉用户代理下载文件,将文件内容转储到标记中,然后继续。这就是为什么,img
、script
和iframe
使页面加载变慢的原因。@aperve,当然可以,但是由于
不存在,所以可以(至少可以)完全指定下载src
不应停止页面呈现。所有src
的暂停页面呈现也是不正确的<代码>img没有。首先,为每个img
呈现一个占位符(如果可用,其大小在
标记中给出),然后在下载图像文件后用每个图像文件替换占位符。@asbjornu:感谢您的澄清。经过这么多的思考,我觉得你是对的<代码>更直观。我把它错当成了
<link href="file.css">
display: none;
visibility: hidden;
overflow: hidden;
overflow: none;
<script src="file.js">
<link href="file.css">
<style src="file.css" />