繁体   English   中英

为什么在html上删除doctype会稍微改变屏幕上的某些元素

[英]Why does removing doctype on html slightly shift some on screen elements

对于HTML4到HTML5的转换,我一直在相互比较我的html4和html5页面,并且看到在doctype之后摆脱折旧的元素导致屏幕元素有时移动得如此之小。 防爆。 在下面的代码中,anchor标签的底部看起来像3像素填充,在调试工具中没有显示,但在HTML5中明显向下移动。

<header>
<a href="javascript:commonSubmit('displayHomePage')"><img class="noBorder" src="images/logo.png" alt="Home" /></a>
<div id="nav">
...

同样,在非常大的模板生成表中,某些单元格中的某些信息有时会向上或向上移动一个像素或2个像素。 页面上没有样式更改,只需更改doctype即可。

唯一的代码更改发生,从而导致移位:之前:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

后:

<!DOCTYPE HTML>

正如在w3schools上发现的

<!DOCTYPE>声明必须是HTML文档中位于<html>标记之前的第一件事。

<!DOCTYPE>声明不是HTML标记。 这是向Web浏览器发出的有关页面写入哪个HTML版本的指令。

基本上,它使浏览器知道您正在使用哪个HTML版本来正确呈现元素

之前: 这是HTML 4.01

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

之后: 这是HTML5

<!DOCTYPE HTML>

希望这可以帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM