使用CSS3的@media来实现网页自适应
如今,电脑显示器的屏幕分辨率向越来越大发展,而手机等移动设备终端的分辨率却不可能大到哪里去。越来越多的网站,开始让自己的页面自适合各种分辨率,在小分辨率下显示基本的内容,在大分辨率下显示全部功能,甚至是分多等级的多版本。
作为web前端开发人员需要知道并且会用这种知识。
css2的@media
css2里面虽然支持@media属性,但是能实现的功能比较少,一般只用做打印的时候做特殊定义的CSS。
语法: @media sMedia { sRules }
说明:
sMedia : 指定设备名称。请参阅附录:设备类型
sRules : 样式表定义
指定样式表规则用于指定的设备类型。请参阅link对象的media属性(特性)。
示例:
|
1
2
3
4
5
6
7
8
9
|
// 设置显示器用字体尺寸@media screen {BODY {font-size:12pt; }}// 设置打印机用字体尺寸@media print {@import "print.css"BODY {font-size:8pt;}} |
css3的@media
@media 属性在CSS3里面已经演变成一种 media queries(媒体查询/匹配)了,在CSS3里面,可以用查询语句来匹配各种类型的屏幕。
语法:@media : { sRules }
取值:
|
1
2
|
<sMedia>:指定设备名称。{sRules}:样式表定义。 |
说明:
判断媒介(对象)类型来实现不同的展现。此特性让CSS可以更精确作用于不同的媒介类型,同一媒介的不同条件(分辨率、色数等等).
|
01
02
03
04
05
06
07
08
09
10
11
12
13
|
media_query: [only | not]? [ and ]*expression: ( [: ]? )media_type: all | aural | braille | handheld | print | projection | screen | tty | tv | embossedmedia_feature: width | min-width | max-width| height | min-height | max-height| device-width | min-device-width | max-device-width| device-height | min-device-height | max-device-height| device-aspect-ratio | min-device-aspect-ratio | max-device-aspect-ratio| color | min-color | max-color| color-index | min-color-index | max-color-index| monochrome | min-monochrome | max-monochrome| resolution | min-resolution | max-resolution| scan | grid |
解析
media_query:媒体查询条件。包括了 only not and 这些经常在程序里面出现的逻辑判断。
expression:表达式。媒体特征的匹配与否。
media_type:媒体的种类。包括了很多。
media_feature:媒体的特征。常用的是 min-width max-width 最小最大宽度的判断。
DEMO(推荐在Chrome或者FIREFOX下打开,打开后,按快捷键“CTRL”+”+”,“CTRL”+”-”来缩放页面):
CSS代码
|
1
2
3
4
5
|
body{background:blue;}/*宽度500px-800px之间+高度100px-400px之间 蓝色*/@media screen and (max-width:500px){body{background:green;}}/*宽度小于500px时 绿色*/@media screen and (min-width:800px){body{background:red;}}/*宽度大于800px时 红色*/@media screen and (max-height:100px){body{background:yellow;}}/*高度小于100px时 黄色*/@media screen and (min-height:400px){body{background:pink;}}/*高度大于400px时 粉色*/ |
HTML代码
|
1
2
3
4
5
6
|
<p>效果演示,请缩小/扩大浏览器的窗口大小注意背景色的变化。逻辑如下:</p><p>/*宽度500px-800px之间+高度100px-400px之间 蓝色*/</p><p>/*宽度小于500px时 绿色*/</p><p>/*宽度大于800px时 红色*/</p><p>/*高度小于100px时 黄色*/</p><p>/*高度大于400px时 粉色*/</p> |
demo演示地址:http://www.zjgsq.com/example?pid=1180
使用CSS3的@media来实现网页自适应的更多相关文章
- 使用CSS3 Media Queries实现网页自适应
原文来源:http://webdesignerwall.com 翻译:http://xinyo.org 当今银屏分辨率从 320px (iPhone)到 2560px (大屏显示器)或者更大.人们也不 ...
- 使用CSS3 Media Queries实现网页自适应(转)
当今银屏分辨率从 320px (iPhone)到 2560px (大屏显示器)或者更大.人们也不再仅仅用台式机来浏览网页,现在有手机,平板电脑等等.所以传统的固定宽度设计形式将不再是个最佳选择,网页设 ...
- 利用@media screen实现网页布局的自适应
利用@media screen实现网页布局的自适应 优点:无需插件和手机主题,对移动设备友好,能够适应各种窗口大小.只需在CSS中添加@media screen属性,根据浏览器宽度判断并输出不同的长宽 ...
- @media实现网页自适应中的几个关键分辨率
不同分辨率设备或不同窗口大小下网页布局经常是不同的,一不小心就会发生错位.可以利用@media screen实现网页布局的自适应,但是怎样兼容所有主流设备就成了问题.到底分辨率是多少的时候设置呢?首先 ...
- [转]运用@media实现网页自适应中的几个关键分辨率
转自百度经验:http://jingyan.baidu.com/article/6f2f55a1ab36c3b5b83e6c46.html 经常为不同分辨率设备或不同窗口大小下布局错位而头疼,可以利用 ...
- css -- 运用@media实现网页自适应中的几个关键分辨率
经常为不同分辨率设备或不同窗口大小下布局错位而头疼,可以利用@media screen实现网页布局的自适应,但是怎样兼容所有主流设备就成了问题.到底分辨率是多少的时候设置呢? 先看下面的代码,这是从b ...
- 使用CSS3的@media来编写响应式的页面
首先要知道,我们为什么要写自适应的页面(响应式页面) [直接看干货] 众所周知,电脑.平板.手机的屏幕是差距很大的,假如在电脑上写好了一个页面,在电脑上看起来不错,但是如果放到手机上的话,那可能就会乱 ...
- CSS3 之 Media(媒体查询器)
1.响应式Media(媒体查询器) (1)<link rel=“stylesheet” media=“screen and (max-width: 600px)” href=“small.css ...
- 控制页面打印的2种方法(css3的media媒体查询和window.print())
在实际开发中,有时可能会有打印的需求.下面我总结了2种打印的方法,希望对各位小伙伴有所帮助. ①:直接用window.print()方法就可以打印整个页面,下面是一个小demo <!DOCTYP ...
随机推荐
- 入门ROS教程与视频汇总(kinetic)
参考网址: Richard Wang 3 Shawn Chen 部分视频网址: http://v.youku.com/v_show/id_XMjUxMTc5MzE5Mg http://i.you ...
- qlserver排序规则在全角与半角处理中的应用
--1.查询区分全角与半角字符--测试数据DECLARE @t TABLE(col varchar(10))INSERT @t SELECT 'aa'UNION ALL SELECT 'Aa'UNIO ...
- 怎么使用T-sql生成两位字母
SQL code select char(cast(rand()*25 as int)+97)+char(cast(rand()*25 as int)+97) select 两 ...
- Python爬虫之HDU提交数据
前一篇http://www.cnblogs.com/liyinggang/p/6094338.html 使用了爬虫爬取hdu 的代码,今天实现了将数据向hdu 提交的功能,接下来就是需要将两个功能合并 ...
- Winafl学习笔记
最近在跟师傅们学习Winafl,也去搜集了一些资料,有了一些自己的理解,就此记录一下. Winafl是一个运行时插桩工具,可以提高crash的捕获率. 同时也有自己的遗传算法,可以根据代码覆盖程度进行 ...
- 插头DP学习笔记——从入门到……????
我们今天来学习插头DP??? BZOJ 2595:[Wc2008]游览计划 Input 第一行有两个整数,N和 M,描述方块的数目. 接下来 N行, 每行有 M 个非负整数, 如果该整数为 0, 则该 ...
- 查看当前session权限
oracle 1111.2.0.1.0 环境 查看connect都有什么权限 SQL> select * from dba_sys_privs where GRANTEE='CONNECT'; ...
- Tomcat --> Cannot create a server using the selected type
今天在eclipse想把之前的Tomcat 6删掉,重新配置一个,不料没有下一步 Cannot create a server using the selected type 这句话出现在窗口上面,应 ...
- CI框架的事务开启、提交和回滚
1.运行事务 $this->db->trans_start(); // 开启事务$this->db->query('一条SQL查询...');$this->db-> ...
- Ubuntu16.04 下的网易云出现网络异常、无法播放,界面无响应问题的统一解决
能够在Linux系统下体验到原生界面的网易云音乐是件不错的事情,但是它总是经常性的出现网络异常,界面无响应的问题 为了听歌的体验,进行深入探究: 首先通过终端启用网易云音乐:sudo netease- ...