CSS @media 查询

@media 查询,用于针对不同的媒体类型定义不同的样式。

@media 的css3版本的浏览器支持:

css语法:
@media 媒体类型 and|not|only (媒体功能) { css样式代码 }

html中针对不同的媒体使用不同样式:
<link rel="stylesheet" media="媒体类型 and|not|only (媒体功能)" href="test.css">

  • not 用来排除掉某些特定的设备的,比如 @media not print(非打印设备)。
  • only 用来定某种特别的媒体类型。在支持媒体查询的设备中没有实际作用。

媒体类型:

描述
all用于所有设备。
print用于打印机和打印预览。
screen用于电脑屏幕,平板电脑,智能手机等。
speech应用于屏幕阅读器等发声设备。

CSS3中废弃的类型:aural,braille,embossed,handheld,projection,tty,tv

/*在屏幕中显示时字体*/
@media screen{
  p{font-family:verdana,sans-serif;font-size:14px;}
}
/*打印时显示时字体*/
@media print{
  p{font-family:times,serif;font-size:10px;}
}
/*在屏幕中和打印时都为粗体*/
@media screen,print{
  p{font-weight:bold;}
}
/*非打印时*/
@media not print{
  p{font-weight:400;}
}

媒体功能:

描述
height页面可见区域高度。
width页面可见区域宽度。
min-height页面最小可见区域高度。
min-width页面最小可见区域宽度。
max-height页面最大可见区域高度。
max-width页面最大可见区域宽度。
device-width屏幕可见宽度。
device-height屏幕可见高度。
min-device-width屏幕最小可见宽度。
min-device-height屏幕的最小可见高度。
max-device-height屏幕可见的最大高度。
max-device-width屏幕最大可见宽度。
orientation页面可见区域高度是否大于或等于宽度。值:portrait|landscape
resolution设备的分辨率。如:96dpi, 300dpi, 118dpcm。
min-resolution设备的最小分辨率。
max-resolution设备的最大分辨率。
aspect-ratio页面可见区域宽度与高度的比率
min-aspect-ratio页面可见区域宽度与高度的最小比率。
max-aspect-ratio页面可见区域宽度与高度的最大比率。
device-aspect-ratio屏幕可见宽度与高度的比率。
min-device-aspect-ratio屏幕可见宽度与高度的最小比率。
max-device-aspect-ratio屏幕可见宽度与高度的最大比率。
color定义输出设备每一组彩色原件的个数。如果不是彩色设备,则值等于0。
min-color定义输出设备每一组彩色原件的最小个数。
max-color定义输出设备每一组彩色原件的最大个数。
color-index定义在输出设备的彩色查询表中的条目数。如果没有使用彩色查询表,则值等于0
min-color-index定义在输出设备的彩色查询表中的最小条目数。
max-color-index定义在输出设备的彩色查询表中的最大条目数。
monochrome定义在一个单色框架缓冲区中每像素包含的单色原件个数。如果不是单色设备,则值等于0
min-monochrome定义在一个单色框架缓冲区中每像素包含的最小单色原件个数
max-monochrome定义在一个单色框架缓冲区中每像素包含的最大单色原件个数。
scan定义电视类设备的扫描工序。progressive连续扫描,interlace交织扫描。
grid用来查询输出设备是否使用栅格或点阵。1代表是,0代表否。

例:在不同屏幕宽度时显示不同样式

/*当屏幕宽在 screen <= 200px 时,box的背景色是绿色, 其中 only 可以省略*/
@media only screen and (max-width: 200px) {
  .box{ background:green;}
}
/*当屏幕宽等于 400px 时,box的边框颜色是蓝色 */
@media screen and (width: 400px) {
  .box{ border-color:blue; }
}
/*当屏幕宽等于 400px 或 450px 时,box的边框颜色是蓝色 */
@media screen and (width: 400px),(width: 450px) {
  .box{ border-color:blue; }
}

/*当屏幕宽在 300px<= screen <=400px 之间时,box的背景色是红色 */
@media screen and (min-width: 300px) and (max-width: 400px) {    
  .box{ background:red; }
}
/*当屏幕宽 sreen >= 500px 时,box的背景色是粉色 */
@media screen and (min-width: 500px) {
  .box{ background:pink; }
}
/*在桌面电脑屏幕中 box 宽度25%*/
@media only screen and (max-width: 1200px) {
  .box{ width: 25%;}
}
/*在平板电脑屏幕中 box 宽度50%*/
@media only screen and (max-width: 992px) {
  .box{ width: 50%;}
}
/*在手机屏幕中 box 宽度100%*/
@media only screen and (max-width: 768px) {
  .box{ width: 100%;}
}
@media screen and (orientation:portrait) {
  /*若是手机,则手机横向时*/
}
@media screen and (min-resolution:300dpi) {
  /*设备分辨率大于等于 300dpi 时*/
}
@media screen and (aspect-ratio:16/9) {
  /*页面可见区域宽度与高度比为 16/9 时*/
}
@media screen and (min-color: 32) {
  /*检测设备拥有32位颜色时*/
}
@media tv and (scan:progressive){
  body{color:#f00;}
}

例:打印时隐藏不需要打印的内容,并设置打印内容样式

@media print{
  .box{ display:none; }
  .printBox{
     padding:20px;
     font-weight:bold;
     color:red;
  }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值