引言

过去,建立网站要简单得多。如今,网站的布局不仅要适应计算机,还要适应平板电脑,移动设备甚至电视。

使网站的布局适应性强被称为“响应式 Web 设计”。CSS 媒体查询是响应式设计的最重要部分之一。在本文中,我们将仔细研究媒体查询,以及如何在 CSS 中使用它们。

什么是媒体查询?

媒体查询是 CSS3 的一项功能,可使网页调整其布局,以适应不同的屏幕尺寸和媒体类型。

语法

@media media type and (condition: breakpoint) {
  // CSS rules
}

我们可以在各种条件下定位不同的媒体类型。如果满足条件和/或媒体类型,则将应用媒体查询中的规则,否则将不应用。

语法一开始可能看起来很复杂,所以我们对每个部分进行详细说明......

@ media 规则

首先使用 @media 规则定义媒体查询,然后在花括号内写 CSS 规则。 @ media 规则也用于指定目标媒体类型。

@media () {
  // CSS rules
}

括号

在括号内,我们设置了一个条件。例如,我想为移动设备应用更大的字体。为此,我们需要设置一个最大宽度来检查设备的宽度:

.text {
  font-size: 14px;
}

@media (max-width: 480px) {
  .text {
    font-size: 16px;
  }
}

通常,文字大小为 14px。但是,由于我们应用了媒体查询,因此,当设备的宽度小于或等于 480px 时,文字将变为 16px。

重要提示:始终将媒体查询放在 CSS 文件的末尾。

媒体类型

如果我们不应用媒体类型,则 @ media 规则默认选择所有类型的设备。否则,媒体类型必须紧跟在 @ media 规则之后。设备种类繁多,但我们可以将其分为 4 类:

  • 所有——用于所有媒体类型
  • 打印——用于打印机
  • 屏幕——用于计算机屏幕,平板电脑和智能手机
  • 语音——用于大声“阅读”页面的屏幕阅读器

例如,当我只想选择屏幕时,将在 @ media 规则之后设置 screen 关键字。我还必须使用“ and”关键字将规则连接起来:

@media screen and (max-width: 480px) {
  .text {
    font-size: 16px;
  }
}

断点

断点可能是你会听到和使用的最常见的术语。断点是确定何时更改布局并在媒体查询中调整新规则的关键。让我们回到开头的示例:

@media (max-width: 480px) {
  .text {
    font-size: 16px;
  }
}

在这里,断点是 480px。现在,媒体查询知道何时设置或覆盖新类。基本上,如果设备的宽度小于 480px,则将应用 text 类,否则,则不会应用 text 类。

常见断点:是否有标准分辨率?

最常见的问题之一是“我应该使用哪个断点”。市场上有大量设备,因此我们不能也不应为每个设备定义固定的断点。这就是为什么——我们不能说设备具有标准分辨率,但是在日常编程中存在一些常用断点——的原因。如果你使用的是 CSS 框架(如 Bootstrap、Bulma 等),则还可以使用它们的断点。

现在,我们看一下设备宽度的一些常见断点:

  • 320px — 480px:移动设备
  • 481px — 768px:iPad,平板电脑
  • 769px — 1024px:小屏幕,笔记本电脑
  • 1025px — 1200px:台式机,大屏幕
  • 1201px 及以上:超大屏幕电视

如上所述,这些断点可能会有所不同,没有确切定义的标准,但是这些是一些常用的断点。

总结

响应式设计是当今 Web 设计和开发领域的必需品。媒体查询是构建响应式布局的最重要的部分之一。希望我的文章能帮助你理解媒体查询是怎么一回事。

如果你想了解有关 Web 开发的更多内容,欢迎订阅我的频道

谢谢阅读!

原文:Media Query CSS Tutorial – Standard Resolutions, CSS Breakpoints, and Target Phone Sizes,作者:Cem Eygi