首页 > 其他分享 >CSS高级篇——媒体查询 (Media Queries)

CSS高级篇——媒体查询 (Media Queries)

时间:2023-01-04 14:36:04浏览次数:41  
标签:max Media screen Queries 像素 width media device CSS


我们已经知道,​​@media​​用于指定特定的媒介,比如 screen, print。

本篇要介绍的特性在指定媒介的基础上更进一步,可以精确到屏幕尺寸。

这也是响应式 (responsive) 布局的基础,一个页面可以同时适配手机和平板,页面布局随浏览器尺寸的变化而变化。

首先,简单回顾一下 ​​@media​​ 用法:

@media screen {
body { font: 12px arial, sans-serif }
#nav { display: block }
}

以上 CSS 样式仅仅指定了媒体类型,没有指定规格。

CSS3 增强了 ​​@media​​ 的功能,使它拥有了更加精细的控制能力。

特定尺寸

@media screen and (max-width: 1000px) {
#content { width: 100% }
}

上例代码的样式只有当 viewport 的宽度小于等于 1000px 时才会发生作用。

借助这一功能,我们可以轻松实现响应式设计,例如当 viewport 小于某个值时,不显示导航栏。

多个尺寸规则可以组合起来使用:

@media screen and (max-width: 1000px) {
#content { width: 100% }
}

@media screen and (max-width: 800px) {
#nav { float: none }
}

@media screen and (max-width: 600px) {
#content aside {
float: none;
display: block;
}
}

上例代码中,如果 viewport 宽度小于 600px,所有样式都会起作用,如果 viewport 小于 800px 大于 600px,那么只有第一条和第二条会起作用。

与 ​​max-width​​​ 相对应的,也可以指定 ​​min-width​​。

特定方向

@media screen and (orientation: landscape) {
#nav { float: left }
}

@media screen and (orientation: portrait) {
#nav { float: none }
}

​orientation​​ 用于指定屏幕方向。移动设备上很有用。

特定设备

这里的特定设备并非指设备品牌或类型,而是指它的物理属性。

宽度和高度

  • ​device-width​
  • ​device-height​
  • ​min-device-width​
  • ​max-device-width​
  • ​min-device-height​
  • ​max-device-height​
@media screen and (min-device-height: 768px) and (max-device-width: 1024px) {
/* You can apply numerous conditions separated by "and" */
}

像素比

CSS 的像素不一定等价于物理像素,理解这一点非常重要。

比如,一个物理宽度为 720px 的显示设备,浏览器可能会按照 480px 的逻辑像素来处理 CSS,像素比为 1.5:1,也就是说,1.5 个物流像素值对应 1 个 CSS像素值。

通过 ​​@media​​​ 的 ​​@device-pixel-ratio​​ 可以指定比例:

@media (device-pixel-ratio: 2) {

body { background: url(twiceasbig.png) }

}

当然,还可以指定最大和最小值:

  • ​min-device-pixel-ratio​
  • ​max-device-pixel-ratio​

其他

指定设备分辨率:

@media screen and (resolution: 326dpi) { /* */ }

@media screen and (min-resolution: 96dpi) { /* */ }

指定设备长宽比:

@media screen and (device-aspect-ratio: 16/9) { /* */ }


标签:max,Media,screen,Queries,像素,width,media,device,CSS
From: https://blog.51cto.com/u_15929756/5988610

相关文章

  • html css 学成在线综合案例
    html部分<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"conten......
  • 【工具】分享 9 个非常实用的 CSS 图标库
    以前网页上显示图标都是用切成小图片,然后根据不同场景作多个小图,通过js来控制显示效果。字图图标,顾名思义,就像使用通常的字体,可以设置字体颜色,大小等,不用在搞多张小图片,非常......
  • CSS总结2
    1.复合选择器1.1交集选择器集选择器由两个选择器构成,找到的标签必须满足:既有标签一的特点,也有标签二的特点。1.2并集选择器并集选择器(css选择器分组)是各个选择器通过逗号连......
  • CSS - 选择器 标签选择器,id选择器,类选择器,后代选择器,子代选择器,兄弟选择器,通用选择器,
    1.标签选择器它可以选中页面中所有的元素,而不是某一个元素内容,所以选中的是页面中共有的属性标签{css样式...} 2.ID选择器以#开头,ID的名称必须是唯一的,ID选......
  • css3核心属性
    圆角效果以前:做一个图片做为按钮背景现在:border-radius半径值阴影以前:带阴影的图片现在:盒阴影box-shadow文本阴影text-shadow透明度元素透明和颜色透明opacity指定0-1之......
  • css小米导航条案例1
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="width......
  • 博客园个性化CSS
    /**************************************************说明:1:我们建议你通过只改变css的方式来制作新的皮肤模板。当然,页面的部分代码你也是可以更改的,例如一些图片的地......
  • css产品展示模块
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="width......
  • css浮动的特点
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"cnotallow="IE=edge"><metaname="viewport"cnotallow="w......
  • HTML学习之基础元素,CSS,图像,链接
    什么是HTML?HTML是用来描述网页的一种语言。HTML指的是超文本标记语言:HyperTextMarkupLanguageHTML不是一种编程语言,而是一种标记语言标记语言是一套标记标签(ma......