首先回顾下css3中的@mediacss
定义和使用:css3
使用 @media 查询,你能够针对不一样的媒体类型定义不一样的样式。web
@media 能够针对不一样的屏幕尺寸设置不一样的样式,特别是若是你须要设置设计响应式的页面,@media 是很是有用的。浏览器
当你重置浏览器大小的过程当中,页面也会根据浏览器的宽度和高度从新渲染页面。ide
实例:若是文档宽度小于 300 像素则修改背景颜色(background-color):函数
@media screen and (max-width: 300px) { body { background-color:lightblue; } }
@media功能在scss和在css中基本同样,只是加强了一下。spa
scss容许@media在css规则中进行嵌套,若是@media嵌套在CSS规则内,编译时,@media将被编译到文件的最外层,包含嵌套的父选择器,scss代码实例以下:设计
.sidebar { width: 300px; @media screen and (orientation: landscape) { width: 500px; } }
编译成css代码以下:code
.sidebar { width: 300px; } @media screen and (orientation: landscape) { .sidebar { width: 500px; } }
@media的queries容许互相嵌套使用,编译时,scss自动添加and。blog
代码实例以下:
@media screen { .sidebar { @media (orientation: landscape) { width: 500px; } } }
编译后的css代码以下:
@media screen and (orientation: landscape) { .sidebar { width: 500px; } }
@media固然也能够使用scss中的变量、运算符以及函数,代码实例以下:
$media: screen; $feature: -webkit-min-device-pixel-ratio; $value: 1.5; @media #{$media} and ($feature: $value) { .sidebar { width: 500px; } }
被编译后的css代码以下:
@media screen and (-webkit-min-device-pixel-ratio: 1.5) { .sidebar { width: 500px; } }