浏览器模式问题

浏览器相关知识

浏览器的渲染

在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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,790评论 1 92
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    wzhiq896阅读 1,788评论 0 2
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    love2013阅读 2,327评论 0 11
  • 1. 前言 前端圈有个“梗”:在面试时,问个css的position属性能刷掉一半人,其中不乏工作四五年的同学。在...
    YjWorld阅读 4,512评论 5 15
  • 第六章(鹿晗表白了) 医生:怎么样,是不是头部受过伤? 热巴妈妈:对。她小时候溺过水。所以头部也..... 热巴妈...
    麦芽糖ABC阅读 23,662评论 5 22