css判断不同分辨率显示不同宽度布局实现自适应宽度

本文介绍了一个使用CSS媒体查询实现响应式布局的小案例。通过不同浏览器窗口大小调整DIV元素的宽度,展示了媒体查询在实际开发中的应用。同时,还介绍了如何通过引入特定JS文件来兼容IE9以下版本的浏览器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

.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排错将导致判断失效。

<!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]-->

5.完美兼容

<!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://my.oschina.net/meng527/blog/487004

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值