最近做一个Web html5网站,在chrome,firefox,safari,opera,360浏览器(极速模式)、搜狗浏览器等浏览器下均没有问题,而在IE8及IE11下发现样式无法显示,然后各种百度啊,最后在 雅朋网 的一个网友帖子的帮助下解决了问题,现在将解决方法总结如下:
首先需要确保你的HTML页面开始部分要有DOCTYPE声明。DOCTYPE告诉浏览器使用什么样的HTML或XHTML规范来解析HTML文档,具体会影响:
对标记attributes 、properties的约束规则
对浏览器的渲染模式产生影响,不同的渲染模式会影响到浏览器对于CSS代码甚至JavaScript脚本的解析
DOCTYPE是非常关键的,目前的最佳实践就是在HTML文档的首行键入:
<!DOCTYPE html>
1.针对浏览器的内容做标识(使用meta标签调节浏览器的渲染方式)
为了让IE浏览器运行最新的渲染模式,将添加以下标签在页面中
1
|
<
meta
http-equiv
=
"X-UA-Compatible"
content
=
"IE=edge,Chrome=1"
/>
|
IE=edge表示强制使用IE最新内核,chrome=1表示如果安装了针对IE6/7/8等版本的浏览器插件Google Chrome Frame(可以让用户的浏览器外观依然是IE的菜单和界面,但用户在浏览网页时,实际上使用的是Chrome浏览器内核),那么就用Chrome内核来渲染。
2.IE8不支持HTML5的几个属性
IE8不完全支持box-sizing:border-box与min-width, max-width, min-height或max-height的一起使用.
3.JS与CSS的引入顺序导致的问题
必须先引用css在引用js
1
2
|
<
link
rel
=
"stylesheet"
type
=
"text/css"
href
=
"programmer.css"
media
=
"screen"
/>
<
script
type
=
"text/javascript"
src
=
"js/programmer.js"
></
script
>
|
4.DOCTYPE前后有空行
<!DOCTYPE html>
这里有空格也不行,要去掉空格
<html>
以上IE11,chrome,firefox,safari,opera,360浏览器(极速模式)、搜狗浏览器测试通过.