开始研究响应式web设计,CSS3 Media Queries是入门。
Media Queries,其作用就是允许添加表达式用以确定媒体的环境情况,以此来应用不同的样式表。换句话说,其允许我们在不改变内容的情况下,改变页面的布局以精确适应不同的设备。
那么,Media Queries是如何工作的?
两种方式:

一种是直接在link中判断设备的尺寸,然后引用不同的css文件:

1     <link rel="stylesheet" type="text/css" href="styleA.css" media="screen and (min-width: 400px)">

意思是当屏幕的宽度大于等于400px的时候,应用styleA.css
在media属性里:

  • screen 是媒体类型里的一种,CSS2.1定义了10种媒体类型
  • and 被称为关键字,其他关键字还包括 not(排除某种设备),only(限定某种设备)
  • (min-width: 400px) 就是媒体特性,其被放置在一对圆括号中。
1     <link rel="stylesheet" type="text/css" href="styleB.css"  media="screen and (min-width: 600px) and (max-width: 800px)">

意思是当屏幕的宽度大于600小于800时,应用styleB.css

另一种方式,即是直接写在<style>标签里:

1 @media screen and (max-width: 600px) { /*当屏幕尺寸小于600px时,应用下面的CSS样式*/
2  .class {
3  background: #ccc;
4            }
5 }

写法是前面加@media,其它跟link里的media属性相同。
其实基本上就是样式覆盖~,判断设备,然后引用不同的样式文件覆盖。
要注意的是由于网页会根据屏幕宽度调整布局,所以不能使用绝对宽度的布局,也不能使用具有绝对宽度的元素。这一条非常重要,否则会出现横向滚动条。

补充:media query中的not only all等关键字
not: not是用来排除掉某些特定的设备的,比如 @media not print(非打印设备)
only: 用来定某种特别的媒体类型。对于支持Media Queries的移动设备来说,如果存在only关键字,移动设备的Web浏览器会忽略only关键字并直接根据后面的表达式应用样式文件。对于不支持 Media Queries的设备但能够读取Media Type类型的Web浏览器,遇到only关键字时会忽略这个样式文件。
all: 所有设备,这个应该经常看到
还有其它一些:

还有其它一些:

media_type

设备类型说明

all

所有设备

aural

听觉设备

braille

点字触觉设备

handled

便携设备,如手机、平板电脑

print

打印预览图等

projection

投影设备

screen

显示器、笔记本、移动端等设备

tty

如打字机或终端等设备

tv

电视机等设备类型

embossed

盲文打印机


以下是demo

一个三栏布局的,在不同的尺寸下,变为两栏,再变为一栏

代码如下:01    <!DOCTYPE HTML>
02    <html>
03    <head>
04    <meta charset="utf-8">
05    <meta name="viewport" content="width=device-width, initial-scale=1" />
06    <title>css3-media-queries-demo</title>
07    <style>
08    body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {09        padding: 0;
10        margin: 0;
11    }
12    .content{13        zoom:1;
14    }
15    .content:after{16        content: ".";
17        display: block;
18        height: 0;
19        clear: both;
20        visibility: hidden;
21    }
22    .leftBox, .rightBox{23        float: left;
24        width: 20%;
25        height: 500px;
26        margin: 5px;
27        background: #ffccf7;
28        display: inline;
29        -webkit-transition: width 1s ease;
30        -moz-transition: width 1s ease;
31        -o-transition: width 1s ease;
32        -ms-transition: width 2s ease;
33        transition: width 1s ease;
34    }
35    .middleBox{36        float: left;
37        width: 50%;
38        height: 800px;
39        margin: 5px;
40        background: #b1fffc;
41        display: inline;
42        -webkit-transition: width 1s ease;
43        -moz-transition: width 1s ease;
44        -o-transition: width 1s ease;
45        -ms-transition: width 1s ease;
46        transition: width 1s ease;
47    }
48    .rightBox{49        background: #fffab1;
50    }
51    @media only screen and (min-width: 1024px){52        .content{
53                width: 1000px;
54                margin: auto
55            }
56    }
57    @media only screen and (min-width: 400px) and (max-width: 1024px){58        .rightBox{
59            width: 0;
60        }
61        .leftBox{ width: 30%}
62        .middleBox{ width: 65%}
63    }
64    @media only screen and (max-width: 400px){65        .leftBox, .rightBox, .middleBox{
66            width: 98%;
67            height: 200px;
68        }
69    }
70    </style>
71    </head>
72
73    <body>
74    <div class="content">
75      <div class="leftBox"></div>
76      <div class="middleBox"></div>
77      <div class="rightBox"></div>
78    </div>
79    </body>80    </html>

文章转载自:http://www.cnblogs.com/mofish/archive/2012/05/23/2515218.html

转载于:https://www.cnblogs.com/xiaomifeng/p/6039885.html

[转载]利用@media screen实现网页布局的自适应,@media screen and相关推荐

  1. 利用 @media screen 实现网页布局的自适应,@media screen and

    利用 @media screen 实现网页布局的自适应,@media screen and 开始研究响应式web设计,CSS3 Media Queries是入门. Media Queries 其作用就 ...

  2. 利用@media screen实现网页布局的自适应

    利用@media screen实现网页布局的自适应 优点:无需插件和手机主题,对移动设备友好,能够适应各种窗口大小.只需在CSS中添加@media screen属性,根据浏览器宽度判断并输出不同的长宽 ...

  3. 【疯狂积累CSS】2:利用@media screen实现网页布局的自适应

    如果文档宽度小于 300 像素则修改背景颜色(background-color): @media screen and (max-width: 300px) {body {background-col ...

  4. css media 顺序,CSS3 利用@media screen实现网页布局的自适应,样式顺序

    利用@media screen可以适应不同屏幕大小,做出相应的界面调整: 在css中@media (min-width: 768px)表示最小是768也就是>=768: @media (min- ...

  5. css div网页布局代码 自适应,css+div页面布局之1 -- 自适应

    浮动 float属性:定义元素在哪个方向浮动.float:left  | right |  none 浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止. 外边距 margi ...

  6. 利用css进行网页布局

    网页布局: 又称版式布局,是网页UI设计师将有限的视觉元素进行有机的排列组合,将理性的思维个性的化的表现出来,是一种具有个人艺术特色的视觉传达方式.传达信息的同时有美感.网页设计特点(相对纸媒来说). ...

  7. css利用什么xhtml标记构建网页布局,css是利用什么XHTML标记构建网页布局

    css是利用 的XHTML标记构建网页布局:XHTML是相对HTML来说的,比html更严格,指的是网页结构规范等,而css是用来美化各部分结构:html利用div标签实现整体的网页布局,利用css实 ...

  8. html响应式布局效果图,响应式网页布局的实现方法原理

    昨天我在马海祥博客上跟大家详细的介绍过<什么是响应式网页设计?>,我觉的响应式网页设计不仅仅是一种趋势,还更是一个新的设计解决方案!它有助于解决不同的分辨率和设备(台式电脑,笔记本电脑,平 ...

  9. 移动端网页布局中需要注意事项以及解决方法总结

    移动端网页布局中需要注意事项以及解决方法总结,这份对我们在布局移动端网页的时候非常有用! winphone系统a.input标签被点击时产生的半透明灰色背景怎么去掉 <meta name=&qu ...

最新文章

  1. java负载均衡框架_SpringCloud与Consul集成实现负载均衡功能
  2. SAP MM41 收到报错:Retail materials cannot be maintained.
  3. C++ 在线编译器(支持 C++11)
  4. 在QT中结构体快速从二进制文件中读取数据
  5. Microsoft企业库配置问题
  6. 数据共享如何改变世界_做个手活就改变世界了?论“手工木匠”如何改变了西方文明(3)...
  7. Palo Doris版五分钟快速入门
  8. android学习笔记---35_Intent意图,深入解剖
  9. OpenCV-Python实战(23)——将OpenCV计算机视觉项目部署到云端
  10. CentOS6.6安装cobbler
  11. mysql 命令行恢复数据库_使用MySQL命令行备份及恢复数据库
  12. 基于Ribbon界面的MFC应用程序
  13. linux下raid0创建教程,Linux下构建raid0、raid1、raid5
  14. 【LeetCode】马三来刷题之Remove Duplicates from Sorted Array
  15. 如何用AI快速绘制大鼠模型及相关技术路线图,超详细教程!
  16. 期末大作业+毕业设计:在线电影网站设计——影视大全(6页面)含登录注册HTML+CSS+JavaScript
  17. web-前端之后台管理系统模板首页
  18. Java多态性:Java什么是多态?
  19. 超时代视频加密软件使用教程
  20. 转录因子和组蛋白修饰研究思路 | DNA蛋白互作专题

热门文章

  1. Android之一窥究竟Activity间的数据传递以及Intent的用处
  2. SparkStreaming和Storm的区别
  3. nginx配置文件基本配置
  4. python能处理图片吗_python图片处理(一)
  5. BeanShell用法汇总(部分摘抄至网络)
  6. 【LeetCode】最大子序和
  7. 【Salvation】——登录注册存储数据验证用户
  8. 哪种脚本语言最适合你!
  9. 使用IntentService给自己的Android应用写一个文件下载器。
  10. JS如何获取RadiobuttonList的选中值