4

细节决定成败之-浏览器doctype标签丢失导致浏览器样式变化

 2 years ago
source link: https://www.80shihua.com/archives/2477
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

细节决定成败之-浏览器doctype标签丢失导致浏览器样式变化

作者: dreamfly 分类: html 发布时间: 2020-05-24 12:58

最近在使用php进行html解析的时候,遇到了一个问题,就是解析之后的样式出现了问题,然而dom结构检查了很多遍,也没有发现问题,最后发现php使用$dom->saveHTML()这个方法之后,会去掉html的doctype声明,所以就会导致浏览器无法正确解析样式布局。

html5的doctype很简单

<!DOCTYPE html>

html4的doctype就包括很多种
该 DTD 包含所有 HTML 元素和属性,但不包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。

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

HTML 4.01 Transitional
该 DTD 包含所有 HTML 元素和属性,包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。

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

HTML 4.01 Frameset
该 DTD 等同于 HTML 4.01 Transitional,但允许框架集内容。

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

所有的文件,能够被解析和识别,一定是有它的固定格式,或者是头部生命,或者是后缀名,或者是bom头,总之,一切问题都是有根可循的。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK