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

一、实用范围描述   -   TOP

CSS DIV网页布局中当分辨率小于等于1024px(像素)时,DIV布局对象显示1000px宽度,当分辨率大于1024px时候显示1200px宽度等需求。使用CSS实现改变浏览器显示宽度从而实现布局的网页宽度动态改变变化(网页宽度自动随浏览器显示宽度而变宽变窄)。

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

二、使用CSS单词与语法   -   TOP

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

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

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

1、DIVCSS小案例描述
我们首先设置一个DIV盒子CSS命名为“.abc”,设置其高度为300px,css边框为黑色;以及设置margin:0 auto布局居中。预先设置这两个样式是为了便于观察。

我们通过手动拖拽浏览器显示宽度,然后观察此盒子宽度变化情况,当浏览器宽度调节到宽度不大于500px时,对应此盒子宽度显示100px;调节浏览器宽度不大于901px时,显示“.abc”对应盒子宽度显示200px;当调节浏览器宽度大于1201px时,盒子对象宽度显示1200px;当小于1200px时候显示宽度为900px。

2、CSS代码

  1. .abc{ height:300px; border:1px solid #000; margin:0 auto}
  2. @media screen and (min-width: 1201px) {
  3. .abc {width: 1200px}
  4. }
  5. /* css注释:设置了浏览器宽度不小于1201px时 abc 显示1200px宽度 */
  6. @media screen and (max-width: 1200px) {
  7. .abc {width: 900px}
  8. }
  9. /* 设置了浏览器宽度不大于1200px时 abc 显示900px宽度 */
  10. @media screen and (max-width: 901px) {
  11. .abc {width: 200px;}
  12. }
  13. /* 设置了浏览器宽度不大于901px时 abc 显示200px宽度 */
  14. @media screen and (max-width: 500px) {
  15. .abc {width: 100px;}
  16. }
  17. /* 设置了浏览器宽度不大于500px时 abc 显示100px宽度 */

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

3、HTML代码

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8" />
  5. <title>无标题文档</title>
  6. <style>
  7. .abc{ height:300px; border:1px solid #000; margin:0 auto}
  8. @media screen and (min-width: 1201px) {
  9. .abc {width: 1200px}
  10. }
  11. /* 设置了浏览器宽度不小于1201px时 abc 显示1200px宽度 */
  12. @media screen and (max-width: 1200px) {
  13. .abc {width: 900px}
  14. }
  15. /* 设置了浏览器宽度不大于1200px时 abc 显示900px宽度 */
  16. @media screen and (max-width: 900px) {
  17. .abc {width: 200px;}
  18. }
  19. /* 设置了浏览器宽度不大于900px时 abc 显示200px宽度 */
  20. @media screen and (max-width: 500px) {
  21. .abc {width: 100px;}
  22. }
  23. /* 设置了浏览器宽度不大于500px时 abc 显示100px宽度 */
  24. </style>
  25. </head>
  26. <body>
  27. <div class="abc">DIVCSS5实例:我这个DIV宽度会随浏览器宽度变化哦,试试改变浏览器宽度</div>
  28. </body>
  29. </html>

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

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

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

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

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8" />
  5. <title>无标题文档</title>
  6. <style>
  7. .abc{ height:300px; border:1px solid #000; margin:0 auto}
  8. @media screen and (min-width: 1201px) {
  9. .abc {width: 1200px}
  10. }
  11. /* css 注释说明:设置了浏览器宽度不小于1201px时 abc 显示1200px宽度 */
  12. @media screen and (max-width: 1200px) {
  13. .abc {width: 900px}
  14. }
  15. /* 设置了浏览器宽度不大于1200px时 abc 显示900px宽度 */
  16. @media screen and (max-width: 900px) {
  17. .abc {width: 200px;}
  18. }
  19. /* 设置了浏览器宽度不大于900px时 abc 显示200px宽度 */
  20. @media screen and (max-width: 500px) {
  21. .abc {width: 100px;}
  22. }
  23. /* 设置了浏览器宽度不大于500px时 abc 显示100px宽度 */
  24. </style>
  25. <!--[if lt IE 9]>
  26. <script src="http://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js"></script>
  27. <![endif]-->
  28. </head>
  29. <body>
  30. <div class="abc">DIVCSS5实例:我这个DIV宽度会随浏览器宽度变化哦,试试改变浏览器宽度</div>
  31. </body>
  32. </html>

6、效果截图
因为设置宽度原因,不便截图,大家可直接查看在线案例,通过拖拽改变浏览器宽度观察效果。

7、在线演示:查看案例

8、完整案例代码文件打包下载

CSS判断不同分辨率显示不同宽度布局CSS3技术支持IE6到IE8的更多相关文章

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

    一.CSS DIV网页布局中当分辨率小于等于1024px(像素)时,DIV布局对象显示1000px宽度,当分辨率大于1024px时候显示1200px宽度等需求.使用CSS实现改变浏览器显示宽度从而实现 ...

  2. JS代码判断浏览器版本,支持IE6,IE7,IE8,IE9!三种方法!

    web开发的时候有时候会用到JS检测IE的版本,下面是检测Microsoft Internet Explorer版本的三种代码! 方法一: <script type="text/jav ...

  3. JS代码判断IE6,IE7,IE8,IE9的函数代码

    JS代码判断浏览器版本,支持IE6,IE7,IE8,IE9!做网页有时候会用到JS检测IE的版本,下面是检测Microsoft Internet Explorer版本的三种代码 做网页有时候会用到JS ...

  4. CSS根据屏幕分辨率宽度自动适应的办法

    CSS根据屏幕分辨率宽度自动适应的办法 第一种办法是js选择CSS <SCRIPT language=JavaScript><!-- Beginif (screen.width == ...

  5. 从三栏自适应宽度布局到css布局的讨论

    如何实现一个三栏自适应布局,左右各100px,中间随着浏览器宽度自适应? 第一个想到的是使用table布局,设置table的宽度为100%,三个td,第1个和第3个固定宽度为100px,那么中间那个就 ...

  6. 移动端布局的一些设置(在viewport里设置使页面显示相同宽度,显示相同像素大小)

    viewport(视口) 具体数值(不设置时默认为980 ,部分安卓手机不支持设置成具体数值) width=device-width 和设备宽度保持一致 user-scalable=no 是否允许用户 ...

  7. CSS 布局总结——变宽度布局

    变宽度布局 1-2-1 等比例变宽 总宽度设置 width: 85%; min-width: 650px; (关于IE6的min-width支持,可用) content 设置 width: 66%;  ...

  8. js判断屏幕分辨率的代码

    通过下面的代码判断分辨率 <script language="JavaScript"> <!-- Begin function redirectPage() { ...

  9. CSS中的EM属性之弹性布局

    这篇教程将引导大家如何使用“em”来创建一个基本的弹性布局,从而学习其如何计算?又是如何使用“em”对层进行弹性扩展?又是如何扩展文本和图像等内容?下在我们就一起带着这些问题开始今天的“em”之行. ...

随机推荐

  1. 将所需要的图标排成一列组成一张图片,方便管理。li的妙用

    我在做一个网站的header 但是视频教学里面将电话图标,微信图标,以及每一个英文字母右边的小点拼成一副图. (图片的名字是top_ioc.png)拼成的整个图片作为li的背景.通过移动就可以分别将每 ...

  2. Box2d b2World的RayCast方法

    RayCast方法: world.RayCast(callback:Function,point1:b2Vec2,point2:b2Vec2); * callback 回调函数 * point1 射线 ...

  3. synchronized关键字以及实例锁 类锁

    Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码. 一.当两个并发线程访问同一个对象object中的这个synchronized(this ...

  4. 让横向ul在页面中水平居中的方法

    在导航的布局中,导航条会用横向布局的ul li.如果要让其居中,怎么办呢? 第一种方法: ul{text-align:center;} li{display:inline} 这种方法不适合ie低版本. ...

  5. Android面试经验2

    1,android如何更换主题: 2,如何设计软件: 3,代码中用到那些设计模式: 4,c++和java有那些不同: 一,指针: 二,多重继承: 三,数据类型和类: 四,自动内存管理: 五,操作符重载 ...

  6. 关于Application.Lock…Application.Unlock有什么作用?

    因为Application变量里一般存储的是供所有连接到服务器的用户共享的信息(就像程序中所说的 "全局变量 "), 由于是全局变量,所以就容易出现两个或者多个用户同时对这一变量进 ...

  7. Java中的回调函数学习

    Java中的回调函数学习 博客分类: J2SE JavaJ#  一般来说分为以下几步: 声明回调函数的统一接口interface A,包含方法callback(); 在调用类caller内将该接口设置 ...

  8. HTML5的兼容问题以及调用js文件的方法

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  9. POJ 3258 River Hopscotch(二分查找答案)

    一个不错的二分,注释在代码里 #include <stdio.h> #include <cstring> #include <algorithm> #include ...

  10. Android Studio的使用(三)--包不分级、修改包名

    1.如果不喜欢将包逐级展开的话,可以将每一个包名都完整展现出来,只需要勾选Flatten Packages. 2.修改包名 3.填写新的包名 4.点击确认