什么是CSS媒体查询?
一、CSS媒体查询概念
CSS媒体查询即media quaries,可以针对不同的媒体类型定义不同的样式,从而实现响应式布局。也可以针对不同的分辨率定义不同的样式。
1024分辨率以上适用于:PC端
1024~768分辨率以上适用于:Pad pro
768~450分辨率以上适用于:Pad mini,mobile横屏
450分辨率以下适用于:mobile竖屏
二、CSS媒体查询语法
当分辨率>=500px的时候,会识别大括号里面的代码
@media all and (min-width:500px){
#box{ background:skyblue;}
}
当分辨率<=500px的时候,会识别大括号里面的代码
@media all and (max-width:500px){
#box{ background:skyblue;}
}
@media all and (min-width:500px) and (max-width:800px){
#box{ background:skyblue;}
}
@media print and (min-width:300px){
#box{ background:skyblue;}
p{ text-decoration: underline;}
}
当分辨率<500px的时候,会识别大括号里面的代码 , not条件反过来 , 针对分辨率的
@media not all and (min-width:500px){
#box{ background:skyblue;}
}
@media all and (max-width:1000px){
#box{ background:skyblue;}
}
@media all and (max-width:600px){
#box{ background:green;}
}
当前的分辨率是800?
只有竖屏下,才会触发大括号中的代码
@media all and ( orientation:portrait ){
#box{ background:skyblue;}
}
只有横屏下,才会触发大括号中的代码
@media all and ( orientation:landscape ){
#box{ background:skyblue;}
}
代码解析:
效果图:
常见的媒体类型:
all:用于所有的设备
print:用于打印机和打印预览
screen:用于电脑屏幕,平板电脑,智能手机等
speech:用于屏幕阅读器等发声设备
@media all and (min-width:500px){ }
@media all and (min-width:500px) and (max-width:800px){ }
orientation:portrait : 竖屏
orientation:landscape : 横屏
@media all and (orientation:portrait){ }
注:这个横竖屏操作,只是针对移动端的。在PC端屏幕永远是竖屏的。
注:空格是需要添加的,要符合规范。
link的使用:
<link rel="stylesheet" href="./hello.css" media="all and (min-width:600px)">
代码解析:
效果图: