9159.com但是对于解决UI问题,但是对于解决UI问题

作者: 前端  发布:2019-08-28

IE8及低版本浏览器不支持CSS3 media queries的解决方法,ie8css3

问题:IE8及其以下低版本IE浏览器在缩小窗口时,UI没有按照相应的要求显示窗口缩小时对应的布局;其他浏览器正常。

定位过程:

其实开始拿到问题时是无从下手,不知所以然,根本就没听说还有media这个CSS属性,就更不知道它的功能了。但是对于解决UI问题,有自己的一套思路,就是首先要思考为什么会错误以及为什么没有错误两个方面,然后针对这两个方面的疑问把html或js或css文件简化再简化,修改再修改,查看UI变化,从而缩小问题范围,最后找出问题根源。

如此我就想为什么其他浏览器界面布局没有问题呢?因此不断的部分删减CSS文件代码,通过IE8以外的浏览器查看页面布局,如此反复终于突然看到IE8以外的浏览器也出现上面的问题了,哈哈,达到目的了,根源就在这里面,再精确定位该部分,发现原来是@media screen and (max-width: 900px) ...在起作用,什么东西啊,没见过,百度吧,或者直接W3C,弄明白它是干啥的就知道前面的为什么了。

问题根源:

在项目的CSS文件中采用了media这东东来根据视窗的大小自动调整布局,但是,但是IE8及以下版本浏览器不支持CSS3 media queries,也就是@media screen and (max-width: 900px) 里面的css代码没有执行,

@media screen and (max-width: 900px) {   ... }

这如何是好啊,网上倒是有不少人提出解决方法,最简单的方法就是:

IE8和之前的浏览器不支持CSS3 media queries,你可以在页面中添加css3-mediaqueries.js来解决这个问题。

<!--[if lt IE 9]>
    <script src="http://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js"></script>
<![endif]-->

原来如此,还挺简单嘛,结果大失所望啊,项目中怎么试怎么就不行呢,还望试过可行的同仁点拨点拨啊,没办法只能采用另一种稍微复杂些的方法,也是从网上学来,这里要考虑两个问题,一是只有IE8及其低版本才做此处理,二是只有浏览器缩小到某一个大小范围后才做此处理。方法如下:

原理:采用jquery,其实不懂,会用就行,然后在html中根据需要来改变对应的CSS文件

解决方法:

在所以页面的共用js文件后面添加如下代码:

/*Adjust the layout in IE8 and lower than IE8 when the browser is narrow*/
function processLowerIENavigate()
{
   var isIE = document.all ? 1 : 0;
   if (isIE == 1)
   {
       if(navigator.userAgent.indexOf("MSIE7.0") > 0 || navigator.userAgent.indexOf("MSIE 8.0") > 0)
       {  
    //  var doc=document; 
           var link=document.createElement("link");
           link.setAttribute("rel", "stylesheet");
           link.setAttribute("type", "text/css");
           link.setAttribute("id", "size-stylesheet");
           link.setAttribute("href", "");

           var heads = document.getElementsByTagName("head");
           if(heads.length)
               heads[0].appendChild(link);
           else
               document.documentElement.appendChild(link);

           document.write("<script type='text/javascript' src='jquery.min.js'></script>");
           document.write("<script type='text/javascript' src='media_screen.js'></script>");

       }
   } 
}
var lowerIE8 = processLowerIENavigate();

 media_screen.js文件内容如下,直接从网上copy:

function adjustStyle(width) {
    width = parseInt(width);
    if (width < 902) {
//alert("<900");
//alert(width);
        $("#size-stylesheet").attr("href", "navigateLowerIE8.css");
    } else {
      // alert(">900");
  //alert(width);
       $("#size-stylesheet").attr("href", ""); 
    }
}

$(function() {
    adjustStyle($(this).width());
    $(window).resize(function() {
        adjustStyle($(this).width());
    });
});

文件就是IE8其低版本浏览器在缩小时的页面布局了。OK,一切都确实搞定。

media queries的解决方法,ie8css3 问题: IE8及其以下低版本IE浏览器在缩小窗口时,UI没有按照相应的要求显示窗口...

解决IIE8不支持媒体查询的方法,iie8不支持媒体查询

最近在解决UI问题时碰到以下浏览器不兼容性问题(本人属于UI业余操作者,很多想法就很业余了):

问题:IE8及其以下低版本IE浏览器在缩小窗口时,UI没有按照相应的要求显示窗口缩小时对应的布局;其他浏览器正常。

定位过程:

其实开始拿到问题时是无从下手,不知所以然,根本就没听说还有media这个CSS属 性,就更不知道它的功能了。但是对于解决UI问题,有自己的一套思路,就是首先要思考为什么会错误以及为什么没有错误两个方面,然后针对这两个方面的疑问 把html或js或css文件简化再简化,修改再修改,查看UI变化,从而缩小问题范围,最后找出问题根源。

如此我就想为什么其他浏览器界面布局没有问题呢?因此不断的部分删减CSS文件代码, 通过IE8以外的浏览器查看页面布局,如此反复终于突然看到IE8以外的浏览器也出现上面的问题了,哈哈,达到目的了,根源就在这里面,再精确定位该部 分,发现原来是@media screen and (max-width: 900px) ...在起作用,什么东西啊,没见过,百度吧,或者直接W3C,弄明白它是干啥的就知道前面的为什么了。

问题根源:

在项目的CSS文件中采用了media这东东来根据视窗的大小自动调整布局,但是,但是IE8及以下版本浏览器不支持CSS3 media queries,也就是@media screen and (max-width: 900px) 里面的css代码没有执行,

@media screen and (max-width: 900px) {
  ...
}

这如何是好啊,网上倒是有不少人提出解决方法,最简单的方法就是:

9159.com,IE8和之前的浏览器不支持CSS3 media queries,你可以在页面中添加css3-mediaqueries.js来解决这个问题。

 

<!--[if lt IE 9]>
    <script src="http://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js"></script>
<![endif]-->

原来如此,还挺简单嘛,结果大失所望啊,项目中怎么试怎么就不行呢,还望试过可行的同 仁点拨点拨啊,没办法只能采用另一种稍微复杂些的方法,也是从网上学来,这里要考虑两个问题,一是只有IE8及其低版本才做此处理,二是只有浏览器缩小到 某一个大小范围后才做此处理。方法如下:

原理:采用jquery,其实不懂,会用就行,然后在html中根据需要来改变对应的CSS文件

解决方法:

在所以页面的共用js文件后面添加如下代码:

function processLowerIENavigate()
{
   var isIE = document.all ? 1 : 0;
   if (isIE == 1)
   {
       if(navigator.userAgent.indexOf("MSIE7.0") > 0 || navigator.userAgent.indexOf("MSIE 8.0") > 0)
       {  
    //  var doc=document; 
           var link=document_createElement_x_x_x("link");
           link.setAttribute("rel", "stylesheet");
           link.setAttribute("type", "text/css");
           link.setAttribute("id", "size-stylesheet");
           link.setAttribute("href", "");
  
           var heads = document.getElementsByTagName_r("head");
           if(heads.length)
               heads[0].a(link);
           else
               document.documentElement.a(link);

           document.write("
           document.write("
  
       }
   } 
}
var lowerIE8 = processLowerIENavigate();

media_screen.js文件内容如下,直接从网上copy:
function adjustStyle(width) {
    width = parseInt(width);
    if (width < 902) {
//alert("<900");
//alert(width);
        $("#size-stylesheet").attr("href", "navigateLowerIE8.css");
    } else {
      // alert(">900");
  //alert(width);
       $("#size-stylesheet").attr("href", ""); 
    }
}

$(function() {
    adjustStyle($(this).width());
    $(window).resize(function() {
        adjustStyle($(this).width());
    });
});
navigateLowerIE8.css文件就是IE8其低版本浏览器在缩小时的页面布局了。OK,一切都确实搞定。

9159.com 1

 

转自 

 

最近在解决UI问题时碰到以下浏览器不兼容性问题(本人属于UI业余操作者,很多想法就...

最近在解决UI问题时碰到以下浏览器不兼容性问题(本人属于UI业余操作者,很多想法就很业余了):

最近在解决UI问题时碰到以下浏览器不兼容性问题(本人属于UI业余操作者,很多想法就很业余了):

问题:IE8及其以下低版本IE浏览器在缩小窗口时,UI没有按照相应的要求显示窗口缩小时对应的布局;其他浏览器正常。

问题:IE8及其以下低版本IE浏览器在缩小窗口时,UI没有按照相应的要求显示窗口缩小时对应的布局;其他浏览器正常。

定位过程:

定位过程:

其实开始拿到问题时是无从下手,不知所以然,根本就没听说还有media这个CSS属 性,就更不知道它的功能了。但是对于解决UI问题,有自己的一套思路,就是首先要思考为什么会错误以及为什么没有错误两个方面,然后针对这两个方面的疑问 把html或js或css文件简化再简化,修改再修改,查看UI变化,从而缩小问题范围,最后找出问题根源。

其实开始拿到问题时是无从下手,不知所以然,根本就没听说还有media这个CSS属 性,就更不知道它的功能了。但是对于解决UI问题,有自己的一套思路,就是首先要思考为什么会错误以及为什么没有错误两个方面,然后针对这两个方面的疑问 把html或js或css文件简化再简化,修改再修改,查看UI变化,从而缩小问题范围,最后找出问题根源。

如此我就想为什么其他浏览器界面布局没有问题呢?因此不断的部分删减CSS文件代码, 通过IE8以外的浏览器查看页面布局,如此反复终于突然看到IE8以外的浏览器也出现上面的问题了,哈哈,达到目的了,根源就在这里面,再精确定位该部 分,发现原来是@media screen and (max-width: 900px) ...在起作用,什么东西啊,没见过,百度吧,或者直接W3C,弄明白它是干啥的就知道前面的为什么了。

如此我就想为什么其他浏览器界面布局没有问题呢?因此不断的部分删减CSS文件代码, 通过IE8以外的浏览器查看页面布局,如此反复终于突然看到IE8以外的浏览器也出现上面的问题了,哈哈,达到目的了,根源就在这里面,再精确定位该部 分,发现原来是@media screen and (max-width: 900px) ...在起作用,什么东西啊,没见过,百度吧,或者直接W3C,弄明白它是干啥的就知道前面的为什么了。

问题根源:

问题根源:

在项目的CSS文件中采用了media这东东来根据视窗的大小自动调整布局,但是,但是IE8及以下版本浏览器不支持CSS3 media queries,也就是@media screen and (max-width: 900px) 里面的css代码没有执行,

在项目的CSS文件中采用了media这东东来根据视窗的大小自动调整布局,但是,但是IE8及以下版本浏览器不支持CSS3 media queries,也就是@media screen and (max-width: 900px) 里面的css代码没有执行,

@media screen and (max-width: 900px) {
  ...
}

@media screen and (max-width: 900px) {
  ...
}

这如何是好啊,网上倒是有不少人提出解决方法,最简单的方法就是:

这如何是好啊,网上倒是有不少人提出解决方法,最简单的方法就是:

IE8和之前的浏览器不支持CSS3 media queries,你可以在页面中添加css3-mediaqueries.js来解决这个问题。

IE8和之前的浏览器不支持CSS3 media queries,你可以在页面中添加css3-mediaqueries.js来解决这个问题。

 

 

<!--[if lt IE 9]>
    <script src="http://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js"></script>
<![endif]-->
<!--[if lt IE 9]>
    <script src="http://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js"></script>
<![endif]-->

原来如此,还挺简单嘛,结果大失所望啊,项目中怎么试怎么就不行呢,还望试过可行的同 仁点拨点拨啊,没办法只能采用另一种稍微复杂些的方法,也是从网上学来,这里要考虑两个问题,一是只有IE8及其低版本才做此处理,二是只有浏览器缩小到 某一个大小范围后才做此处理。方法如下:

原来如此,还挺简单嘛,结果大失所望啊,项目中怎么试怎么就不行呢,还望试过可行的同 仁点拨点拨啊,没办法只能采用另一种稍微复杂些的方法,也是从网上学来,这里要考虑两个问题,一是只有IE8及其低版本才做此处理,二是只有浏览器缩小到 某一个大小范围后才做此处理。方法如下:

原理:采用jquery,其实不懂,会用就行,然后在html中根据需要来改变对应的CSS文件

原理:采用jquery,其实不懂,会用就行,然后在html中根据需要来改变对应的CSS文件

解决方法:

解决方法:

在所以页面的共用js文件后面添加如下代码:

在所以页面的共用js文件后面添加如下代码:

function processLowerIENavigate()
{
   var isIE = document.all ? 1 : 0;
   if (isIE == 1)
   {
       if(navigator.userAgent.indexOf("MSIE7.0") > 0 || navigator.userAgent.indexOf("MSIE 8.0") > 0)
       {  
    //  var doc=document; 
           var link=document_createElement_x_x_x("link");
           link.setAttribute("rel", "stylesheet");
           link.setAttribute("type", "text/css");
           link.setAttribute("id", "size-stylesheet");
           link.setAttribute("href", "");
  
           var heads = document.getElementsByTagName_r("head");
           if(heads.length)
               heads[0].a(link);
           else
               document.documentElement.a(link);

function processLowerIENavigate()
{
   var isIE = document.all ? 1 : 0;
   if (isIE == 1)
   {
       if(navigator.userAgent.indexOf("MSIE7.0") > 0 || navigator.userAgent.indexOf("MSIE 8.0") > 0)
       {  
    //  var doc=document; 
           var link=document_createElement_x_x_x("link");
           link.setAttribute("rel", "stylesheet");
           link.setAttribute("type", "text/css");
           link.setAttribute("id", "size-stylesheet");
           link.setAttribute("href", "");
  
           var heads = document.getElementsByTagName_r("head");
           if(heads.length)
               heads[0].a(link);
           else
               document.documentElement.a(link);

           document.write("
           document.write("
  
       }
   } 
}
var lowerIE8 = processLowerIENavigate();

           document.write("
           document.write("
  
       }
   } 
}
var lowerIE8 = processLowerIENavigate();

media_screen.js文件内容如下,直接从网上copy:
function adjustStyle(width) {
    width = parseInt(width);
    if (width < 902) {
//alert("<900");
//alert(width);
        $("#size-stylesheet").attr("href", "navigateLowerIE8.css");
    } else {
      // alert(">900");
  //alert(width);
       $("#size-stylesheet").attr("href", ""); 
    }
}

media_screen.js文件内容如下,直接从网上copy:
function adjustStyle(width) {
    width = parseInt(width);
    if (width < 902) {
//alert("<900");
//alert(width);
        $("#size-stylesheet").attr("href", "navigateLowerIE8.css");
    } else {
      // alert(">900");
  //alert(width);
       $("#size-stylesheet").attr("href", ""); 
    }
}

$(function() {
    adjustStyle($(this).width());
    $(window).resize(function() {
        adjustStyle($(this).width());
    });
});
navigateLowerIE8.css文件就是IE8其低版本浏览器在缩小时的页面布局了。OK,一切都确实搞定。

$(function() {
    adjustStyle($(this).width());
    $(window).resize(function() {
        adjustStyle($(this).width());
    });
});
navigateLowerIE8.css文件就是IE8其低版本浏览器在缩小时的页面布局了。OK,一切都确实搞定。

9159.com 2

9159.com 3

 

 

转自 

转自 

 

 

本文由9159.com发布于前端,转载请注明出处:9159.com但是对于解决UI问题,但是对于解决UI问题

关键词: 9159.com

上一篇:的 @for 循环中有两种方式,如果条件为
下一篇:没有了