ncu*_*ica 5 html css w3c naming
嗨,这更像是一个概念性的问题.W3C是如何决定使用hiddenvs. none?我问,因为我是一名ESL人(英语作为第二语言).如果我正在使用overflow: hidden, overflow: none也可以使用.这同样适用于display: none和visibility: hidden.不能只是一直display: none和visibility: none,因为真正做不同的是性能display和visibility而不是他们的价值.这更像是一个解释请求.例如,发生了类似的"奇怪"事情:
<script src="file.js">
Run Code Online (Sandbox Code Playgroud)
和
<link href="file.css">
Run Code Online (Sandbox Code Playgroud)
他们为什么不同?我理解所有这些在技术上如何工作,我只是好奇他们如何决定属性的名称.
谢谢.
Asb*_*erg 12
这些实体(元素,属性,属性等)被命名为不同的东西的原因是因为它们用于不同的目的.让我们从顶部开始,并通过您的示例.
display: none;
visibility: hidden;
Run Code Online (Sandbox Code Playgroud)
从CSS 2.1规范中可以看出,该值none用于许多不同的属性,以指示不应显示属性的可视方面.因此,如果属性是float,则none表示元素不浮动.对于该属性display,none意味着它不显示.
因为visibility, hidden不同,因为它不同display,不影响元素流.元素的框仍将被渲染,但它将是不可见的.如果你给的值none来visibility,这将意味着语义完全一样的东西display: none,它不是.
overflow: hidden;
overflow: none;
Run Code Online (Sandbox Code Playgroud)
这些意味着不同的东西 hidden表示溢出元素大小的内容将被剪切,同时none表示没有溢出控制; 实际上是关闭溢出.none不是有效值overflow,但在这种情况下,visible具有相同的效果.
<script src="file.js">
<link href="file.css">
Run Code Online (Sandbox Code Playgroud)
script和之间的区别在于link,虽然script主要目的是src在HTML文档中嵌入(通过属性内联或通过引用引用)脚本,但目的link是引用万维网上的其他URI.您link用来引用CSS样式表的事实不是很直观; 一个更直观的解决方案可能是:
<style src="file.css" />
Run Code Online (Sandbox Code Playgroud)
我没有详细说明为什么HTML工作组选择使用link而不是style,但从一点点挖掘,似乎该link元素已经存在于HTML 1.0和HTML 2.0中,并且style直到HTML 3.0才引入.
由于样式表语言的讨论早在1993年就开始了(同年HTML 1.0已经完成)并且HTML 3.0直到1995年才开始,因此他们找到了在style元素发明之前嵌入样式表的方法.