(转)CSS 为不同大小的浏览器视窗使用不同的样式表

转自:http://www.iefans.net/liulanqi-shichuang-butong-yangshibiao/

同一个网站,访问它的浏览器可能会是不同的宽度,常见的有320px,480px,800px,1024px,1280px,1920px等,为不同大小的浏览器视窗提供不同的访问效果,提高用户的使用体验,同时网站本身也可以为不同受众提供不同的资源。
下面提供两种不同的浏览器视窗解决方案,这两个方法都同样适用于IE浏览器与其他非IE内核浏览器。

一、通过W3C standard来定义,例如:

view sourceprint?
<link rel="stylesheet" media="screen and (min-device-width: 800px)" href="800.css" />
上面的代码表示:当访问网站的设备浏览器宽度大于等于800px时,将使用800.css这个样式。

又如:

view sourceprint?
<link rel=‘stylesheet‘ media=‘screen and (min-width: 701px) and (max-width: 900px)‘ href=‘css/medium.css‘ />
上面的代码表示:当访问网站的设备浏览器宽度在701px和900px之间时,将使用medium.css这个样式。

目前Mozilla, Opera和WebKit等浏览器的当前版本都支持这个标准,不幸的是IE浏览器并不支持此标准,包括IE8,以及IE9 Previous。

不要着急,方案二将解决此问题。

二、通过JQuery来动态调整页面样式
1、首先定义两个link,当然你也可以是一个,第二个是要更改的css

view sourceprint?
<link rel="stylesheet" type="text/css" href="main.css" />
<link id="size-stylesheet" rel="stylesheet" type="text/css" href="narrow.css" />

2、下面的JavaScript代码将根据不同的浏览器大小,更改css

view sourceprint?
unction adjustStyle(width) { 

    width = parseInt(width); 

    if (width < 701) { 

        $("#size-stylesheet").attr("href", "css/narrow.css"); 

    } else if ((width >= 701) && (width < 900)) { 

        $("#size-stylesheet").attr("href", "css/medium.css"); 

    } else { 

       $("#size-stylesheet").attr("href", "css/wide.css"); 

    } 

} 

$(function() { 

    adjustStyle($(this).width()); 

    $(window).resize(function() { 

        adjustStyle($(this).width()); 

    }); 

});

查看例子:

例子1 例子2 例子3 下载所有例子
英文原址:http://css-tricks.com/resolution-specific-stylesheets/

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
文章引用地址:http://www.iefans.net/liulanqi-shichuang-butong-yangshibiao/ 作者:iefans

时间: 2024-12-27 16:07:12

(转)CSS 为不同大小的浏览器视窗使用不同的样式表的相关文章

1月19日(HTML之旅) CSS样式表

一.样式表分三类: 1.内联样式表.——放在元素的开始标记中.——只对当前元素起作用.<input name="txt" style="border:0px; border-bottom:1px solid black;" type="text" /> 例: 结果: 2.内嵌样式表.——放在页面的<head></head>中间.——可以对整个页面. <head> <meta http-equi

css样式表---样式表分类、选择器

一.样式表分三类: 1.内联样式表.——放在元素的开始标记中.——只对当前元素起作用.<input name="txt" style="border:0px; border-bottom:1px solid black;" type="text" /> 例: 结果: 2.内嵌样式表.——放在页面的<head></head>中间.——可以对整个页面. <head> <meta http-equi

CSS样式表------第一章:样式表的基本概念

CSS(Cascading Style Sheets,层叠样式表),控制页面样式外观,作用是美化HTML网页. 一. 样式表的基本概念 1.样式表的分类 (1)内联样式表  -----放在元素的开始标记中,只对当前元素起作用,和html联合显示,控制精确,但是可重用性差,冗余多. 例: <input name="txt" style="border:0px; border-bottom:1px solid black;" type="text&quo

CSS的工作原理(样式重复的标签,浏览器到底会选择哪个样式??)

举个例子,标签P,也许会在嵌入样式表.外部样式表中多次被设置相关属性的值(比如color: red;/color : blue),那么浏览器到底是以哪个值来显示P的样式呢???这就是CSS的工作原理.(其中特指度比较重要) CSS有3种工作机制:1.继承    2.层叠   3.特指   (其中层叠原则是基于继承和特指的) 1.继承 :css中的祖先元素会向后代传递一样东西:CSS属性的值.body是所有元素的祖先,如果我们指定body{color:red;},那么文档中的所有元素都继承这一样式

CSS背景100%平铺 浏览器缩小背景显示不全解决办法

本文我们分享前端CSS背景100%平铺,浏览器缩小背景显示不全bug解决的两个方法,如果你也遇到了,那么就可以参考下面文章. 把浏览器的窗口缩小时,拖动滚动条时你会发现原本设定的CSS背景100%平铺的背景少了一块,而且窗口越小时,空白越大. 解决方法: width:100%;min-width:990px; 在width:100%; 后面加个 min-width:**px; 这个长度取于你的网页最低宽度. Ps: 逐风个人认为上诉的解决方案还不够人性化, 想要实现不同分辨率下灵活覆盖,逐风推荐

CSS强制图片大小

相信大家做网页时经常会碰到大分辨率的图片会把表格涨破以致漂亮的网页面目全非,但只要使用以下的CSS语句即可解决. 该CSS的功能是:大于600的图片自动调整为600显示. <style type="text/css"><!-- img {width:expression(this.width>600?"600px":this.width+"px");}} --></style> 上面的代码在使用的过程中发

CSS自动控制图片大小的代码

img { max-width: 800px; height: auto; } 代码中的max-width:800px限制图片的最大宽度为800像素,而下面的hight:auto很关键,可以保证图片有正确的长宽比,不至于因为被调整宽度而变形. 实用例子(未经测试————————————————————) WordPress自动调整图片大小 1.打开你的“样式表 (style.css)”文件,然后在 p img{ 或类似的地方添加下列代码(可以将所有550改成你想要的宽度) 代码如下 p img{

css限制图片大小,避免页面撑爆

/*==========限制图片大小======避免页面撑暴========*/img { max-width:100%;width:expression(width>669?"100%":width+"px");} --说明 .content img { max-width:100%;width:expression(width>(外层宽度px)?"100%":width+"px");} css限制图片大小,避免

CSS实现的兼容所有浏览器的div悬浮在网页一侧的代码

CSS实现的兼容所有浏览器的div悬浮在网页一侧的代码:固定悬浮在网页一侧的效果应用非常的频繁,尤其是客服系统或者公告系统,CSS提供了position:fixed属性即可实现此功能,但是IE6浏览器并不支持,虽然IE6的用户越来越少,但是毕竟还是有用户在使用,所以最好还是要实现兼容效果,下面就是一段能够兼容所有浏览器的代码实例,希望能够给需要的朋友带来帮助.代码如下: <!DOCTYPE html> <html> <head> <meta charset=&qu