“ ”有什么作用? 问问题

“ ”有什么作用? 问问题,第1张

“ ”有什么作用? 问问题

您正在将HTML与XHTML混合使用。

通常,

<!DOCTYPE>
声明用于区分HTMLish语言的版本(在这种情况下为HTML或XHTML)。

不同的标记语言将表现不同。我最喜欢的例子是

height:100%
。在浏览器中查看以下内容:

XHTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head>  <style type="text/css">    table { height:100%;background:yellow; }  </style></head><body>  <table>    <tbody>      <tr><td>How tall is this?</td></tr>    </tbody>  </table></body></html>

…并将其与以下内容进行比较:(请注意明显缺少

<!DOCTYPE>
声明)

HTML(怪异模式)
<html><head>  <style type="text/css">    table { height:100%;background:yellow; }  </style></head><body>  <table>    <tbody>      <tr><td>How tall is this?</td></tr>    </tbody>  </table></body></html>

您会注意到表格的高度完全不同,两个文档之间的唯一区别就是标记的类型!

很好…现在,该怎么
<html xmlns="http://www.w3.org/1999/xhtml">
办?

但是,这并不能回答您的问题。从技术上讲,该

xmlns
属性由XHTML文档的根元素使用:

XHTML文档的根元素必须为

html
,并且必须包含将
xmlns
其与XHTML名称空间关联的属性。

您会明白,了解XHTML不是HTML而是XML(一种截然不同的生物)非常重要。(好吧,是一种不同的生物)

xmlns
属性只是文档必须是有效XML的那些内容之一。为什么?因为有人在使用该标准,所以是这样说的;)(您可以在Wikipedia上阅读有关XML名称空间的更多信息,但我省略了该信息,因为它实际上与您的问题无关!)

但是,为什么要
<html xmlns="http://www.w3.org/1999/xhtml">
修复CSS?

如果像这样构造文档…

<html xmlns="http://www.w3.org/1999/xhtml"><!DOCTYPE html><html><head>[...]

......是固定的文档,它使我相信,你不知道太多关于CSS和HTML(没有犯罪!),而事实是, 没有

<htmlxmlns="http://www.w3.org/1999/xhtml">
它的运作正常,并
<htmlxmlns="http://www.w3.org/1999/xhtml">
它不是-你只是 觉得
它是因为您习惯编写无效的HTML并因此在quirks mode工作。

我提供的上述示例就是该问题的示例;大多数人认为

height:100%
应该导致
<table>
整个窗口的高度升高,并且
DOCTYPE
实际上破坏了CSS
的高度……但是事实并非如此。相反,他们只是不了解他们需要添加
html, body { height:100%; }
CSS规则来达到预期的效果。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5567046.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-14
下一篇2022-12-14

发表评论

登录后才能评论

评论列表(0条)

    保存