当前位置:首页 > 程序心得 > 正文内容

css做屏幕适配

admin9年前 (2016-07-07)程序心得1641
CSS判断不同分辨率浏览器(显示屏幕)显示不同宽度布局CSS3技术支持IE6到IE8。将用到css3 @media样式进行判断,但IE9以下版本不支持CSS3技术,这里DIVCSS5给大家介绍通过JS实现低版本的浏览器也支持CSS3实现实用布局

CSS DIV网页布局中当分辨率小于等于1024px(像素)时,DIV布局对象显示1000px宽度,当分辨率大于1024px时候显示1200px宽度等需求。使用CSS实现改变浏览器显示宽度从而实现布局的网页宽度动态改变变化(网页宽度自动随浏览器显示宽度而变宽变窄)。
随着发展,越来越多的电脑用户显示屏分辨率越来越高,但有的用户还是使用1024px的分辨率的显示屏(根据几个浏览器分辨率统计平台得到数据现在使用1200分辨率以下用户极少,但我们CSS布局时仍然需要至少考虑1024px分辨率用户),如果网页布局宽度固定到1200px,1024分辨率用户浏览网页时浏览器下方会出现滚动条,为了解决这个问题,大家可以通过使用CSS3样式判断用户浏览器宽度从而调用不同布局宽度。

使用CSS单词与语法

复制代码
代码如下:

@media screen and (判断属性){ CSS样式选择器 }


这里注意花括号里装要变化CSS样式选择器。

三、不同分辨率显示不同宽度样式案例

1、DIVCSS小案例描述
我们首先设置一个DIV盒子CSS命名为“.abc”,设置其高度为300px,css边框为黑色;以及设置margin:0 auto布局居中。预先设置这两个样式是为了便于观察。
我们通过手动拖拽浏览器显示宽度,然后观察此盒子宽度变化情况,当浏览器宽度调节到宽度不大于500px时,对应此盒子宽度显示100px;调节浏览器宽度不大于901px时,显示“.abc”对应盒子宽度显示200px;当调节浏览器宽度大于1201px时,盒子对象宽度显示1200px;当小于1200px时候显示宽度为900px。

2、CSS代码


复制代码
代码如下:

.abc{ height:300px; border:1px solid #000; margin:0 auto} 
@media screen and (min-width: 1201px) { 
.abc {width: 1200px} 

/* css注释:设置了浏览器宽度不小于1201px时 abc 显示1200px宽度 */ 

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

/* 设置了浏览器宽度不大于1200px时 abc 显示900px宽度 */ 

@media screen and (max-width: 901px) { 
.abc {width: 200px;} 

/* 设置了浏览器宽度不大于901px时 abc 显示200px宽度 */ 

@media screen and (max-width: 500px) { 
.abc {width: 100px;} 

/* 设置了浏览器宽度不大于500px时 abc 显示100px宽度 */ 


需要注意是CSS代码顺序,由大到小排版CSS(判断浏览器宽度越大越放前),这样是因为逻辑关系,@media 判断CSS排错将导致判断失效。

3、HTML代码

复制代码
代码如下:

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="utf-8" /> 
<title>无标题文档</title> 
<style> 
.abc{ height:300px; border:1px solid #000; margin:0 auto} 
@media screen and (min-width: 1201px) { 
.abc {width: 1200px} 

/* 设置了浏览器宽度不小于1201px时 abc 显示1200px宽度 */ 

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

/* 设置了浏览器宽度不大于1200px时 abc 显示900px宽度 */ 

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

/* 设置了浏览器宽度不大于900px时 abc 显示200px宽度 */ 

@media screen and (max-width: 500px) { 
.abc {width: 100px;} 

/* 设置了浏览器宽度不大于500px时 abc 显示100px宽度 */ 

</style> 
</head> 
<body> 
<div class="abc">DIVCSS5实例:我这个DIV宽度会随浏览器宽度变化哦,试试改变浏览器宽度</div> 
</body> 
</html> 


4、为了兼容IE9以下版本浏览器需要加入一个google的JS,当然可以下载引人html

复制代码
代码如下:

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

将JS代码放入</head>标签前即可,这里直接引人google在线JS,你可以下载此JS文件重新HTML引人即可。


5、完美兼容各大浏览器HTML+CSS+JS源代码

复制代码
代码如下:

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="utf-8" /> 
<title>无标题文档</title> 
<style> 
.abc{ height:300px; border:1px solid #000; margin:0 auto} 
@media screen and (min-width: 1201px) { 
.abc {width: 1200px} 

/* css 注释说明:设置了浏览器宽度不小于1201px时 abc 显示1200px宽度 */ 

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

/* 设置了浏览器宽度不大于1200px时 abc 显示900px宽度 */ 

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

/* 设置了浏览器宽度不大于900px时 abc 显示200px宽度 */ 

@media screen and (max-width: 500px) { 
.abc {width: 100px;} 

/* 设置了浏览器宽度不大于500px时 abc 显示100px宽度 */ 

</style> 
<!--[if lt IE 9]> 
<script src="http://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js"></script> 
<![endif]--> 
</head> 
<body> 
<div class="abc">DIVCSS5实例:我这个DIV宽度会随浏览器宽度变化哦,试试改变浏览器宽度</div> 
</body> 
</html> 


分享到:

扫描二维码推送至手机访问。

版权声明:本文由云河空间发布,如需转载请注明出处。

本文链接:https://yuyunhe.cn/index.php/post/161.html

分享给朋友:

“css做屏幕适配” 的相关文章

SVN Skipped 'xxx' -- Node remains in conflict 错误的解决办法

svn提交发现错误#cd /home/svn/app/# svn upUpdating '.':Skipped 'xxx' -- Node remains in conflictAt revision 1054.Summary of conflicts: ...

Thinkphp3.2.x 多图上传几个注意点

1、<form enctype="multipart/form-data">2、<form enctype="multipart/form-data">3、<input type="file...

解决在微信内分享第三方链接标题、图片、摘要、链接等问题

<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script> <script> var imgUrl = docum...

Mysql 触发器使用(含navicat使用案例)

Mysql 触发器使用(含navicat使用案例)

CREATE TRIGGER updateutime2 BEFORE UPDATE on yp_cms_score for EACH ROW BEGIN  SET NEW.utime= ...

MySQL获得当前日期时间\时间戳函数

MySQL获得当前日期时间\时间戳函数 1.1 获得当前日期+时间(date + time)函数:now()mysql> select now();+———————+| now() |+———————+| 2008-08-08 22:20:46 |+———————+除了 now()...

微信支付 总提示get_brand_wcpay_request:fail 也不跳转支付页面 的解决方案

微信支付 总提示get_brand_wcpay_request:fail 也不跳转支付页面 的解决方案

最近在做微信支付,帮客户部署好环境后,测试微信支付,发现点击支付后老是提示:get_brand_wcpay_request:fail,于是找到代码中调用微信支付的代码段:WeixinJSBridge.invoke('getBrandWCPayRequest', { &nb...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。