最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

分享CSS3中的MediaQueries的学习总结

来源:动视网 责编:小采 时间:2020-11-27 18:52:41
文档

分享CSS3中的MediaQueries的学习总结

分享CSS3中的MediaQueries的学习总结:CSS3中的Media Queries经常被用来制作前端的响应式设计页面,这里分享CSS3中的Media Queries的学习总结,包括IE8中的兼容问题解决,需要的朋友可以参考下一、Media Queries 支持的属性二、关键字and - 结合多个媒体查询 not - 排除某种制定的媒体类型
推荐度:
导读分享CSS3中的MediaQueries的学习总结:CSS3中的Media Queries经常被用来制作前端的响应式设计页面,这里分享CSS3中的Media Queries的学习总结,包括IE8中的兼容问题解决,需要的朋友可以参考下一、Media Queries 支持的属性二、关键字and - 结合多个媒体查询 not - 排除某种制定的媒体类型
 CSS3中的Media Queries经常被用来制作前端的响应式设计页面,这里分享CSS3中的Media Queries的学习总结,包括IE8中的兼容问题解决,需要的朋友可以参考下

一、Media Queries 支持的属性

二、关键字
and - 结合多个媒体查询 not - 排除某种制定的媒体类型 only - 用来定某种特定的媒体类型

三、引用样式示例

<link rel="stylesheet" media="all" href="style.css" /> 
<link rel="stylesheet" media="screen and (min-width:980px)" href="desktop.css" /> 
<link rel="stylesheet" media="screen and (min-width:768px) and (max-width:980px)" href="pad.css" /> 
<link rel="stylesheet" media="screen and (min-width:480) and (max-width: 768px)" href="phone.css" /> 
<link rel="stylesheet" media="screen and (max-width:320px)" href="small.css" />

四、内联样式示例

@media screen and (min-width: 980px) { 
 //css code
} 
@screen and (min-width:768px) and (max-width:980px) { 
 //css code
} 
@screen and (min-width:480) and (max-width: 768px) { 
 //css code
} 
@screen and (max-width:320px) { 
 //css code
} 

@media screen and (max-device-width: 480px) { 
 //max-device-width等于480px
} 
@media screen and (device-aspect-ratio: 16/9), screen and (device-aspect-ratio: 16/10) { 
 //设备宽高比 
} 
@media all and (orientation:portrait) { 
 //竖屏 
} 
@media all and (orientation:landscape) { 
 //横屏 
}


五、I8的兼容性问题解决
问题根源:
在项目的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()); 
 }); 
});

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

文档

分享CSS3中的MediaQueries的学习总结

分享CSS3中的MediaQueries的学习总结:CSS3中的Media Queries经常被用来制作前端的响应式设计页面,这里分享CSS3中的Media Queries的学习总结,包括IE8中的兼容问题解决,需要的朋友可以参考下一、Media Queries 支持的属性二、关键字and - 结合多个媒体查询 not - 排除某种制定的媒体类型
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top