谈谈CSS的@media
来源:互联网 发布:网络有什么赚钱项目 编辑:程序博客网 时间:2024/05/22 14:18
今天菜鸟在做练习的时候需要用到@media,就上网搜了搜知识点,在这里做个归纳总结。
Media Queries能在不同的条件下使用不同的样式,使用页面达到不同的渲染效果。
语法
使用 @media 查询,可以针对不同的媒体类型定义不同的样式。
可以针对不同的屏幕尺寸设置不同的样式,当重置浏览器大小的过程中,页面也会根据浏览器的宽度和高度重新渲染页面。
@media:<media_query_list>
<media_query_list>:[<media_query>[',' <media_query>]*]?
<media_query>:[only | not]? <media_type> [and <expression>]* | <expression> [and <expression>]*
<expression>:'('<mediea_feature>[:<value>]?')'
浏览器支持
支持 不支持
媒体类型引用<media_type>
媒体类型通常以下四种方式引用:
- link方法引入,例:(常用)
<link rel="stylesheet" href="../css/example.css" media="screen and(max-width:800px)" />
- xml方法引入,例:
<?xml-stylesheet rel="stylesheet" media="screen and(max-width:800px)" href="css/example.css" ?>
- @import方法引入,在IE6-7中都不被支持,引用分两种形式:
在css文件中通过@import调用别一个css文件,例:@import url("css/reset.css") screen;@import url("css/print.css") print;
在<head></head>中的<style>...</style>中引入,例:<head> <style> @import url("css/style.css") all; </style></head>
- @media方法引入,分为两种形式:(常用)
在css文件中引入,例:@media screen{ 选择器{ 属性:属性值; }}
在<head></head>中的<style>...</style>中引入,例:<head> <style type="text/css"> @media screen{ 选择器{ 属性:属性值; } } </style></head>
媒体特性使用方法<mediea_feature>
例如:<link rel="stylesheet" media="screen and (max-width: 600px)" href="small.css" />
@media screen and (max-width: 600px) { 选择器 { 属性:属性值; }}
<link rel="stylesheet" media="screen and (min-width:600px) and (max-width:900px)" href="style.css"/>注:一个Media Query可以包含0到多个表达式,表达式又可以包含0到多个关键字,以及一种Media Type。
<link rel="stylesheet" href="style.css" media="handheld and (max-width:480px), screen and (min-width:960px)" />
- Media query只接受单个的逻辑表达式作为其值,或者没有值;
- css属性用于声明如何表现页页的信息;而Media Query是一个用于判断输出设备是否满足某种条件的表达式;
- Media Query其中的大部分接受min/max前缀,用来表示其逻辑关系,表示应用于大于等于或者小于等于某个值的情况;
- CSS属性要求必须有属性值,Media Query可以没有值,因为其表达式返回的只有真或假两种;
关键字
- not关键字:
<link rel="stylesheet" media="not print and (max-width: 1200px)" href="print.css" >
not关键字是用来排除某种制定的媒体类型,换句话来说就是用于排除符合表达式的设备。 - only关键字:
<link rel="stylesheet" media="only screen and (max-device-width:240px)" href="android240.css" type="text/css" />
only用来定某种特定的媒体类型,可以用来排除不支持媒体查询的浏览器。其实only很多时候是用来对那些不支持Media Query但却支持Media Type的设备隐藏样式表的。其主要有:支持媒体特性(Media Queries)的设备,正常调用样式,此时就当only不存在;对于不支持媒体特性(Media Queries)但又支持媒体类型(Media Type)的设备,这样就会不读了样式,因为其先读only而不是screen;另外不支持Media Qqueries的浏览器,不论是否支持only,样式都不会被采用。
说明
在Media Query中如果没有明确指定Media Type,那么其默认为all:
<link rel="stylesheet" type="text/css" href="style.css" media="handheld and (max-width:480px), screen and (min-width:960px)" />
媒体类型
媒体功能
以上根据如下资料整理,谢谢!
http://www.w3cplus.com/content/css3-media-queries
http://css.doyoe.com/
http://www.runoob.com/cssref/css3-pr-mediaquery.html
0 0
- 谈谈CSS的@media
- css @media的理解
- Bootstrap -- css的media属性
- css中media的用法
- CSS Media
- css media
- media.css
- css media
- css 的@media print控制打印
- css 的@media print控制打印
- css 的@media print控制打印
- css 的@media print控制打印
- CSS: max-width 的 @media 不运行
- CSS中 @media screen 和@media only screen 和@media 的不同
- CSS之不使用Media Queries的自适应CSS
- 谈谈我对CSS的认识
- 谈谈我对CSS的理解
- 谈谈CSS浏览器的兼容问题。集锦
- cglib中Enhancer的简单使用
- List
- css(1)
- bootstrap jquery mobile 支持手滑动轮播图
- Windows下Android NDK开发的几种方法总结
- 谈谈CSS的@media
- LeetCode:Remove Element
- linux下shell命令之cut
- 将不规则四边形图像插值成为一个矩形图像
- spring事务
- datasource 配置 removeAbandoned
- 8张图理解Java
- Android项目打包成APK文件
- Codeforces Round #331 (Div. 2)A. Wilbur and Swimming Pool(简单计算)