CSS 如何改变一个特定的宽视口的背景颜色
我们可以通过使用我们称之为 “视口 “的宽度来确定用于冲浪的设备的方法。
在计算机图形学中,视口通常表示用户正在查看的多边形(通常是矩形)区域。当我们在网络浏览器 中谈论视口时,我们通常指的是一个窗口,其上的内容是可见的,而在这个窗口之外,用户无法看到内容。
基本上有两种类型的视口。
- 固定的视口,浏览器在其上绘制整个网页,称为布局视口。
-
根据缩放或其他原因,当前可见的布局视口的部分被称为视觉视口。
屏幕尺寸
它基本上是指设备的物理宽度和高度。有许多设备的屏幕尺寸各不相同;基于屏幕尺寸,用户与网页的交互方式也会发生变化。那么,屏幕尺寸和视口宽度之间的关系是什么呢。
- 无论使用何种设备,用户都更习惯于垂直滚动,这就是为什么我们使用视口的宽度来对设备进行分类,因为布局视口的最大宽度受到设备物理宽度的限制。
-
在这一点上,我们知道什么是 “视口”,以及它们是如何与屏幕尺寸相关的。如果我们想有一个响应式的网页,在一个特定的宽度后改变风格,我们必须使用元视口标签来设置视口。
-
这个标签告诉浏览器它将如何控制页面的大小和缩放。元视口值 width=device-width 通知页面以独立于设备的像素调整其宽度,以匹配屏幕的宽度。
页面可以通过添加initial-scale=1的值来利用整个横向宽度,该值指示浏览器在CSS像素和设备独立像素之间建立1:1的关系,而不管设备的方向如何。
例子
下面是一个用设备宽度和初始比例1来设置视口的例子。
<!DOCTYPE html>
<html lang="en">
<head>
<title>Example of Viewport</title>
</head>
<body>
<p>Lorem ipsum dolor sit, amet consectetur adipisicing elit. Atque earum in iste non animi itaque debitis sint! Repellat vero aliquid ullam. Aliquid voluptates recusandae praesentium numquam reiciendis, ullam aliquam nostrum! </p>
</body>
</html>
媒体查询和媒体规则
我们已经知道我们可以使用视口宽度来触发样式变化,现在我们将讨论CSS中的媒体查询。你可以使用媒体查询,根据设备的整体种类(如打印与屏幕)或其他细节(如屏幕分辨率或浏览器视口宽度)来应用CSS样式。我们使用媒体查询来做以下事情
- 有条件地应用样式。
-
当我们需要针对任何特定形式的媒体时
-
或者当我们想测试或必须监控媒体状态时。
要使用媒体查询,我们必须指定我们所针对的媒体类型和我们所要实现的功能。我们还可以利用逻辑运算符来创建一个更复杂的媒体查询。我们还可以使用 “不 “来反转媒体查询的含义,这在某些情况下是非常方便的。让我们看一个媒体查询的例子。
@media print {
color: black;
font-size: larger;
}
上述媒体查询将只应用于打印类型的媒体,并将颜色改为黑色和增加字体大小。
下面是一个复杂媒体查询的例子。
@media (min-width: 30em) and (orientation: landscape)
{Color: black;
Font-size: larger;
}
上述查询适用于相同的样式,但适用于尺寸至少为30em且为横向的媒体。
媒体规则 –
我们指定媒体类型和媒体特征的部分,通常被称为媒体规则。
可以在媒体规则中使用的各种逻辑运算符列举如下
- Not
- And
- Or
例子
下面是一个使用媒体查询解决手头问题的示例代码。
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>
body {
background-color: rgb(223, 241, 223);
font-size: 20px;
}
@media only screen and (max-width: 750px) {
body {
background-color: aliceblue;
}
}
</style>
</head>
<body>
<h1>Example of media query to change background color</h1>
<p>Please resize the browser window to see a change in background color. </p>
</body>
</html>
结论
最后,通过使用CSS中的媒体查询,你可以在一个特定的宽视口上改变背景色。你只需要指定视口的宽度,并在你的代码中使用它,为那个特定的视口尺寸设置不同的背景色。这将使你能够为每一种设备类型和屏幕尺寸创建一个优化的网站设计,这对于提供一个良好的用户体验至关重要。