1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > CSS 利用@media screen判断识别手机/PC端浏览器

CSS 利用@media screen判断识别手机/PC端浏览器

时间:2022-04-21 10:45:38

相关推荐

CSS 利用@media screen判断识别手机/PC端浏览器

一、写此篇的初衷:

手机用户常可以更换自己手机系统的字体,那么在浏览网页的时候,网页内容字体也都随之变了,于是我想,能不能让自己的网站的字体在手机浏览器中保持不变(使用一款自定义字体)呢;而在PC端浏览器不用处理。

二、功能实现依据:

首先,CSS @media查询中有判断横屏(orientation:landscape)、竖屏(orientation:portrait)的功能,那么分别在电脑、手机浏览器上是否有不同表现呢,如果有,就靠它了。先看如下代码:

<style type="text/css">/*定义竖屏 css*/@media screen and (orientation:portrait) {.portrait { display:block; background-color:#FFCC00; }.landscape { display:none; }}/*定义横屏 css*/@media screen and (orientation:landscape) {.portrait { display:none; }.landscape { display:block; background-color:#FFCC00; }}</style><div class="portrait">当前(浏览器)是竖屏</div><div class="landscape">当前(浏览器)是横屏</div><span id="a"></span><script>window.onload=window.onresize=function(){document.getElementById('a').innerHTML = '屏幕尺寸为:宽 '+window.screen.width+' x '+window.screen.height+'';}

1、电脑浏览器表现:

缩窄浏览器——

可见横、竖屏分得还是很清楚的。但是大家发现没有,判断电脑屏幕尺寸的结果是没有变的,都是1440x900,因为电脑就是横着看的,您不像手机一样把电脑竖起来吧*′∀`)′∀`)*′∀`)*′∀`)

2、手机浏览器表现:

可见手机表现就如偿所愿了,非常正常,横屏时窗口是横向的尺寸,竖屏是竖向的,very good!

三、添加屏幕窗口的临界尺寸判断(关键点)

目前电脑的屏幕分辨率设置起点是800x600(早期显像管时代的14寸),其次是1024x768(15寸也好多年前了),——这二种显然目前看是太落后了,基本没人用了吧;即使如此,而大多手机的窗口屏显也都达不到这个尺寸,所以可以放心利用这二个作为判断分寸。

/*定义竖屏 css*/@media screen and (orientation:portrait) and (max-device-width:600px) and (max-device-height:800px) {}/*定义横屏 css*/@media screen and (orientation:landscape) and (max-device-width:800px) and (max-device-height:600px) {}

请注意:这里用的是max-device-width和max-device-height而不是网上流行的max-width和max-height,前者是定义显示屏“宽、高”,后者是定义浏览器“宽、高”,显然前者是恒定不变的,而后者比如PC浏览器是可变换尺寸的,可以变窄变成竖长手机的样子,所以用起来不那么靠谱。

四、CSS @media查询中的or(或):

最后把横屏(orientation:landscape)、竖屏(orientation:portrait)综合起来,用逗号连接两条命令,实现or(或)的功能,变成一行命令代码:

@mediascreen and (orientation:portrait) and (max-device-width:600px) and (max-device-height:800px),screen and (orientation:landscape) and (max-device-width:800px) and (max-device-height:600px) {}

这个也行:

@mediascreen and (orientation:portrait) and (max-device-width:768px) and (max-device-height:1024px),screen and (orientation:landscape) and (max-device-width:1024px) and (max-device-height:768px) {}

五、贴上我的终稿:

当用户用手机浏览器浏览时,调用自定义的字体(压缩过的微软雅黑),用PC、iPad浏览器浏览时不用处理。

<style type="text/css"><!--/*判断手机浏览器,当前限:竖屏 宽600 高800,横屏 宽600 高800*/@mediascreen and (orientation:portrait) and (max-device-width:600px) and (max-device-height:800px),screen and (orientation:landscape) and (max-device-width:800px) and (max-device-height:600px) {@font-face {font-family: "Microsoft YaHei";src: url("_css/font_cn/_gb/msyh.eot"); /* IE9 */src: url("_css/font_cn/_gb/msyh.eot?#iefix") format("embedded-opentype"), /* IE6-IE8 */url("_css/font_cn/_gb/msyh.woff") format("woff"), /* chrome、firefox */url("_css/font_cn/_gb/msyh.ttf") format("truetype"), /* chrome、firefox、opera、Safari, Android, iOS 4.2+ */url("_css/font_cn/_gb/msyh.svg#msyh") format("svg"); /* iOS 4.1- */}}body {font-family:"tahoma","Microsoft YaHei","SimSun";}--></style>

现丑了,具体应用,参见:/

用PC浏览器浏览时,使用浏览器默认字体;用手机浏览器浏览时调用自定义字体,实现不被手机系统字体所干扰。

如果您认为此篇对您有帮助,请不吝点赞,谢谢!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。