使用@media screen解决移动web开发的多分辨率问题
发布时间:2021-06-17 13:50 | 人气数:1480
随着移动设备飞速的发展,移动产品的屏幕规格越来越多。从几年前的320×240像素的屏幕,到现在1920×1080分辨率的屏幕。各种分辨率的屏幕让前端开发的人们叫苦连连,如何使用一种有效的方式来解决各种屏幕分辨率下的用户体验呢?
在css2中就有media type属性,用于判断媒体类型。而在css3中新增了 media query属性用于增强media type属性。因此当css3问世后,这个问题有了新的解决办法。media query属性的是media type属性的增强功能,使media type可以进行条件判断输出对应的css。
@media screen and (min-width: 769px) { /* STYLES HERE */ } @media screen and (min-device-width: 481px) and (max-device-width: 768px) { /* STYLES HERE */ } @media only screen and (max-device-width: 480px) { /* STYLES HERE */ }
media query的使用方法
一、判断媒体类型,引用不同的样式表
<link rel=”stylesheet” media=”screen and (判断条件)” herf=”需要调用的样式表文件” />通过设定屏幕的判断条件,调用对应的css文件。该实例多用于整页面不同风格的css调用与选取,使用该方法可能需要为一个页面制作多份个css文件。
二、判断媒体类型,执行不同的css样式属性
@media screen and (max-width:240px){ .box{width:200px;} .title{color:red;} }上述实例可以出现在外部样式表与内部样式表中。直接在样式表中以@media screen属性标注媒体类型的判断事件,在括号中写出判断条件为max-width:240px;该判断的意思是屏幕宽度大于240px则执行大括号内 的样式属性,如果小于240px则不执行。
前端开拓者做了@media screen相应的判断尝试,并在首页与文章列表页加入了@media screen的功能实例。判断样式书写如下:
@media screen and (min-width:1200px){ .post_box{width: 45%;float: left;} .c-con{height:140px;} }如果用户使用分辨率宽度大于1200px的浏览器访问网站,则页面呈现为三栏模式,如下图:
如果分辨率小于1200px则页面会呈现为两栏模式,如下图:
建议在使用判断时,如果只是在样式表内进行判断的话,可以修改部分重要样式来达到修改布局的目的。
通过@media screen与width条件判断,可以事先对页面的宽度进行策划,然后根据不同的页面宽度设定不同的css样式,有效的控制web页面在各种分辨率下的样式表先。
<style type="text/css"> /* default styles here for older browsers. I tend to go for a 600px - 960px width max but using percentages */ @media only screen and (min-width:960px){ /* styles for browsers larger than 960px; */ } @media only screen and (min-width:1440px){ /* styles for browsers larger than 1440px; */ } @media only screen and (min-width:2000px){ /* for sumo sized (mac) screens */ } @media only screen and (max-device-width:480px){ /* styles for mobile browsers smaller than 480px; (iPhone) */ } @media only screen and (device-width:768px){ /* default iPad screens */ } /* different techniques for iPad screening */ @media only screen and (min-device-width: 481px) and (max-device-width: 1024px) and (orientation:portrait) { /* For portrait layouts only */ } @media only screen and (min-device-width: 481px) and (max-device-width: 1024px) and (orientation:landscape) { /* For landscape layouts only */ } </style>
关键词:media screen,移动web开发
上一篇:JS通过操作cookie定制栏目 下一篇:HTML5常用meta资料整理