玩转CSS3基础——媒体查询

简介: 媒体查询英文全称 Media Query,顾名思义就是查询用户所使用的媒体或者媒介。这里的媒体指的是用户所使用的终端

媒体查询

媒体查询英文全称 Media Query,顾名思义就是查询用户所使用的媒体或者媒介。这里的媒体指的是用户所使用的终端

到目前为止,网页的浏览终端是越来越多了,用户可以通过不同的终端来浏览网页,比如:电脑、平板电脑、手机、电视等。尽管我们无法保证一个网站在不同屏幕尺寸和不同设备上看起来一模一样,但是至少要让我们的Web页面能适配用户的终端。

然而在 CSS3 中的 Media Query (媒体查询)模块就是用来让一个页面适应不同的终端样式。

Media Type 媒体类型

首先我们来认识一下 CSS 中所支持的媒体类型。其实在 CSS2 中常碰到的就是 all(全部)、screen(屏幕)和 print(页面打印或打印预览模式)。然而媒体的类型其实远不止这 3 种。

在 W3C 中共列出了 10 种媒体类型,如下表所示:

image.png

虽然上面列出来了这么多,但是常用的也就是 all(全部)、screen(屏幕)和 print(页面打印或打印预览模式)这三种媒体类型。

媒体类型引用方法

引用媒体类型的方法有很多,常见的媒体类型引用方法有:link标签xml方式@import@media

  1. link标签

    link标签引入媒体类型其实就是在link标签引用样式的时候,通过link标签中的media属性来指定不同的媒体类型,比如:

     <link rel="stylesheet" href="index.css" media="screen">
     <link rel="stylesheet" href="demo.css" media="print">
  2. xml方式

    xml方式和link方式比较相似,也是通过media属性来指定,如下:

    <? xml-stylesheet rel="stylesheet" media="screen" href="index.css" ?>
  3. @import

@import引入媒体类型主要方式有两种,一种是在CSS文件中通过@import引入另一个样式文件,另一种是在style标签中引入

👉 需要注意的是 IE6IE7不支持这种方式

🌰举个栗子:

在样式文件中引入媒体类型:

  @import url('./index.css') screen;

在style标签中引入媒体类型:

<style>
    @import url('./index.css') screen;
</style>
  1. @meida 方式

@media是CSS3中新引进的一个特性,叫媒体查询。@media引入媒体同样也有两种方式,如下:

在样式文件中引入媒体类型:

  @media screen {
      /*具体样式*/
  }

在style标签中引入媒体类型:

<style>
    @media screen {
      /*具体样式*/
  }
</style>

虽然上面介绍了 4 种引入方式,但是最常见的就是第 1 种和第 4 种。

媒体查询具体语法

这里我们可以将媒体查询看成一个公式

Media Type(判断条件) + CSS(符合条件的样式规则)

🌰举个栗子:

  • link的方式
//表示当媒体类型是 screen 并且 屏幕最大的宽度是600px的时候,引入style.css样式
<link rel="stylesheet" media="screen and (min-width:600px)" href="style.css" />
  • @media的方式
@meida screen and (min-width:600px){
  /* 具体样式 */
}

上面的两个例子中都是使用 width 来进行的样式判断,但是实际上还有很多特性都可以被用来当作样式判断的条件。

具体如下表:详情可点击这里

image.png

有了 Media Query,我们能在不同的条件下使用不同的样式,使页面在不同的终端设备下达到不同的渲染效果。

这里还有个公式:

@meida 媒体类型 and (媒体特性){
  /* 具体样式 */
}

🌰举个栗子:

  • 最大宽度 max-width

该媒体特性是指媒体类型小于或等于指定宽度时,样式生效,例如:

/*当屏幕宽度小于750px的时候样式生效*/
@meida screen and (max-width:750px){
  /* 具体样式 */
}
  • 最小宽度 min-width

该媒体特性是指媒体类型大于或等于指定宽度时,样式生效,例如:

/*当屏幕宽度大于750px的时候样式生效*/
@meida screen and (min-width:750px){
  /* 具体样式 */
}
  • 多个媒体特性混合使用

当需要多个媒体特性时,可以使用 and关键字将媒体特性结合在一起,例如:

/*当屏幕宽度大于等于400px并且小于等于750px的时候样式生效*/
@meida screen and (min-width:400px) and (max-width:750px) {
  /* 具体样式 */
}
  • not 关键字

not关键字可以用来排除某种媒体特性,例如:

/*样式代码将生效于除了打印设备并且屏幕宽度大于等于400px时生效*/
@meida not print and (min-width:400px) {
  /* 具体样式 */
}

👉 需要注意的是 如果未指明媒体设备,那么默认为all,就是应用于所有设备

相关文章
|
11天前
|
编解码 前端开发 UED
CSS进阶 - 响应式设计与媒体查询
【6月更文挑战第17天】响应式设计通过媒体查询适应不同设备,确保网页在桌面、平板、手机上提供优化体验。媒体查询是CSS核心技术,允许根据设备特性应用样式。常见问题包括忽视视口设置、硬编码断点和过度依赖查询。解决办法涉及设置正确的视口元标签、基于内容的断点和模块化设计。通过移动优先策略和灵活的断点管理,可创建高效、易维护的响应式网站。
|
1月前
|
编解码 前端开发 UED
【专栏:HTML 与 CSS 移动端开发篇】CSS 媒体查询与移动端特定样式
【4月更文挑战第30天】CSS媒体查询在移动端开发中至关重要,它基于设备特性(如屏幕尺寸、分辨率、方向)应用特定样式,实现响应式设计。通过`@media`规则定义条件,如`(max-width: 600px)`,当屏幕宽度小于或等于600px时应用相应样式。常见条件包括屏幕宽度、高度、方向和分辨率。媒体查询可用于响应式布局、导航菜单优化、图片加载及字体调整。在实践中,需注意保持查询简洁,充分测试,渐进增强,并提前规划。掌握媒体查询能提升移动端用户体验,创造更优秀的网页设计。
|
1月前
|
小程序 前端开发 JavaScript
使用CSS的媒体查询功能在小程序中实现自适应布局
使用CSS的媒体查询功能在小程序中实现自适应布局
|
1月前
|
编解码 前端开发 UED
【专栏:CSS 进阶篇】CSS 媒体查询与响应式设计
【4月更文挑战第30天】CSS媒体查询与响应式设计是网页适应多设备的关键。媒体查询基于设备特性应用不同样式,而响应式设计确保网站在各种屏幕尺寸上表现良好。通过弹性布局和图片优化,实现跨设备一致性体验。实践中,如新闻、电商和个人博客网站广泛采用响应式设计。然而,需注意性能优化、设计平衡及多设备测试。掌握这些技术,为用户提供优质、一致的数字体验,共创网页设计的美好未来!
|
1月前
|
编解码 前端开发 开发者
这篇彻底学会CSS媒体查询
【4月更文挑战第1天】 这篇彻底学会CSS媒体查询
28 0
|
1月前
|
编解码 前端开发 容器
CSS语言的@media查询
CSS语言的@media查询
|
1月前
|
编解码 前端开发 信息无障碍
CSS媒体查询(@media)全面解析
CSS媒体查询(@media)全面解析
46 1
|
1月前
|
Web App开发 前端开发 JavaScript
CSS容器查询获得主流浏览器支持,是什么?怎么用?
CSS容器查询获得主流浏览器支持,是什么?怎么用?
|
2天前
|
安全 JavaScript
旋转木马轮播图 html+css+js
旋转木马轮播图 html+css+js
|
2天前
|
移动开发 前端开发 JavaScript
HTML5+CSS3+JavaScript网页实战
HTML5+CSS3+JavaScript网页实战