为什么有些名称,如none vs.hidden和href vs.src在CSS和HTML中如此不一致?

为什么有些名称,如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">

嗨,这更像是一个概念性的问题。W3C是如何决定使用
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" />