重点js

浏览器模式问题

2018-04-27  本文已影响0人  该昵称注册中

浏览器相关知识

浏览器的渲染

在w3c标准出来之前,不同的浏览器在页面上的渲染有不同的规范,即有怪异模式和兼容模式,

有了w3c标准之后,不同的页面对页面渲染有了统一的标准(标准模式和严格模式)

如果XHML文档包含完整的Doctype,那么它一般以标准模式 呈现。Doctype不存在或形式不正确导致Html和Xhtml文档以混杂模式呈现

区别是:

一:)在严格模式中: width是内容宽度,元素真正的宽度=margin-left-right+padding-left-right+border-left-right-width+width

在怪癖模式中:width是元素的实际宽度,内容宽度=width - ( padding-left + padding-right + border-left-width + border-right-width)

二:) 怪异模式(quirks)可以设置行内元素的宽高并且生效,在Stardards(标准模式)中设置不生效

三:) 可设置的百分比高度,在standsards模式下,一个元素的高度由其包含的内容决定,如果父元素没有设置高度,子元素设置百分比是无效的

四:) 还有其他的一些

就浏览器模式和兼容IE8的一个小总结

w3c 标准
ie8 之前
之前有个 怪异模式个兼容模式
怪异模式 对那中width和一般的有很大的区别 width = .width+padding-left-right+margin-left-right 可以直接设置行级元素的width和height
声明文档为doctype 为标准模式
也是兼容ie8的一个重点
兼容IE8
设置doctype
改变浏览器内核 <meta content="chrome=1;IE=edge"> 用最新的IE内核 有Google插件的内核 用Google内核渲染
对于某些不能识别的标签 可以用html5.shiv 辅助识别
对于css3新增的一些样式属性 用css3 PIE
max-width:100% 严格要求父元素的宽度是固定的
td中的max-width 设置不生效 设置table为table-layout:fixed
当样式display:inline-block时, 左右会重叠 解决用 float
placeholder 自己写 或用插件
first-child是css2的内容,但是last-child不是 解决 给最后一个加一个class last-element

上一篇下一篇

猜你喜欢

热点阅读