响应式网页设计的基础知识

170 阅读8分钟

响应式网页设计(RWD)描述了一种网页设计方法,使网页在各种设备上呈现良好的效果,无论屏幕或浏览器窗口大小如何。用RWD制作的网页和应用程序可以根据用户的设备或屏幕的大小,流畅地重新缩放。

响应式网页设计在21世纪初被引入,并最终在2013年左右被作为许多网页的标准功能。这大约是在智能手机和其他移动设备开始普及的时候,有必要让网页能够在小屏幕上轻松浏览。

对于网页开发者来说,RWD绝不是一个新概念,但它的重要性丝毫不亚于它最初出现的时候。现在有许多不同的屏幕尺寸。从手机到桌面,以及两者之间的一切,而你希望你的网页在所有这些屏幕上看起来都是最好的。虽然静态页面更容易创建,也更便宜,但当涉及到与更多的观众接触时,它们就显得不足了。由于这些页面不能调整其内容以适应不同的分辨率,你的观众可能会在不同的设备上努力查看你的内容。因此,静态页面需要多个不同的版本来适应不同的设备尺寸。这可能意味着,在移动和桌面网页之间需要不同的URL。

响应式网页是可适应的,无论用户选择哪种设备,都能给他们最好的浏览体验。RWD的关键理念是设置不同的断点,比如浏览器的宽度。然后根据当前的断点,动态地改变网站的布局。

传统上,响应式网页只有HTML和CSS,但现在大多数当代响应式网页都是使用CSS3或JavaScript的jQuery构建的。

Three different layouts of the same website with three different widths of a browser

同一个网站在三个不同宽度的浏览器中的三种不同布局

如果你刚刚开始你的网页开发之旅,学习如何创建响应式网页是提升你的网页设计水平的最佳途径。

为什么响应式设计很重要以及其他设计考虑因素

网页应该可以在任何设备上浏览,而不会牺牲信息或需要多个URL。但除了用户体验之外,还有其他好处。这些只是RWD在网页开发方面至关重要的几个主要原因。

  • 移动使用的增加:人们比以往任何时候都更多地使用他们的智能手机来浏览互联网。事实上,移动流量现在占所有互联网流量的50%以上。这意味着,如果你的网站没有为移动端设计,你可能会失去很多潜在的访问者。

  • 改善用户体验:响应式设计确保用户无论使用什么设备都能访问你的内容。这一点很重要,因为用户更有可能参与并返回到一个易于使用的网站。

  • 更快的开发:对开发者来说,一个适用于所有设备的单一网页比为目标设备制作半打相同的网页版本更容易。

  • 更容易维护:一个单一的网站与几个网站相比,随着时间的推移,更容易管理。

  • 设计是面向未来的:RWD可以在未来不同屏幕尺寸的设备上使用,几乎没有变化。

  • 更好的搜索引擎优化:响应式网页更容易被浏览器抓取和索引,这意味着内容在搜索结果中更容易和准确地被描述。谷歌浏览器在其关于SEO最佳实践的文档中特别指出了RWD。

在设计一个响应式网站时,有一些关键的考虑因素需要牢记。我们决定在本文中坚持介绍基本情况,但还有其他设计方面的问题,我们将在这里简要地列出它们:

  • 设备能力媒体查询:这些是基于用于加载网页的硬件能力的媒体查询。

  • 响应性图像*。包括具有固定分辨率的媒体资产意味着必须使用基于百分比的缩放来以无障碍的方式调整其大小。

  • 响应性数据表:由于数据表可能需要大量的屏幕空间,因此以有意义的和视觉上吸引人的方式重新设置它们可能是一个挑战。这可能包括图表、图形或重新定向的表格。

  • 响应性的导航菜单:这一点在手机上最容易体现;许多导航菜单被转换为下拉菜单,在手机屏幕上很容易滚动。

  • RWD框架:有很多网页开发的框架,但其中最受欢迎的是Pure CSS、Montage JS和Bootstrap

什么是响应式网页设计?

响应式网页设计可以归结为灵活的布局,根据分辨率的不同而变化,以及使用CSS3 媒体查询,可以很容易地放大或缩小。

媒体查询是CSS3的一个功能,它允许媒体内容根据某些参数(最明显的是屏幕分辨率)进行渲染。

在本节中,我们将介绍响应式网页设计的几个核心支柱。其中包括:视口 布局 CSS媒体查询

这些概念并不详尽,但它们会给你一个很好的窗口,让你了解RWD的基本原理,并希望为你提供如何深入研究这一做法的想法。

设置视口

RWD中的视口本质上是指用来访问网页的设备的分辨率。视口 "<meta> 标签向网页发出指令,说明如何控制像素尺寸和网页的百分比缩放。

自从引入HTML5后,设计者应在所有网页中加入<meta> viewport元素。

这个实现应该被添加在你的HTML文件的<head> 标签之间:

<head>

<meta name="viewport" content="width=device-width, initial-scale=1.0">

</head>

让我们来分析一下<meta> viewport元素的每个部分是什么意思:

  • width=device-width 指示页面宽度与设备的屏幕宽度相等。
  • initial-scale=1.0 设置网页在浏览器中加载时的初始缩放级别。

将页面上的元素的大小调整到适合视口的范围内是至关重要的。在网页上垂直滚动是很自然的,但在水平方向上则不然。宽于视口宽度的元素应缩小尺寸或不包括在内,因为这将导致笨拙的用户体验。

布局

当你设计一个网页时,你很可能想同时显示多个东西。它可能是侧边栏、图像或任何数量的元素,但挑战仍然是相同的:使内容以一种合理的、可访问的方式适合。

给所有这些元素分配像素值,使它们适合视口,这可能是很诱人的。然而,如果视口发生变化,内容就会被剪掉,隐藏在水平滚动条后面。值得庆幸的是,这可以通过一个简单的改变来避免。如果我们给元素分配一个视口的百分比,而不是定制的像素值,那么无论视口的高度和宽度如何,它们都可以很容易地被放大或缩小尺寸。

在RWD中,有很多不同的响应式布局被广泛使用。我们不会对它们进行详细介绍,但如果你想了解更多,我们推荐你去看看:

  • 浮动
  • CSS网格
  • 流体网格(柔性网格)
  • Flexbox

这些布局技术经常被用来创建优雅和高效的响应式网页设计。

媒体查询和断点

现在我们已经了解了如何设置视口,以及如何用基于百分比的宽度来创建布局,我们需要一种用CSS来针对不同分辨率的方法。如上所述,媒体查询是CSS的功能,它使用@media 规则来加载资产,如果某些条件为真。媒体查询可以用来测试某些显示条件,比如。

  • width ( , )min-width max-width
  • height
  • orientation
  • aspect-ratio

媒体查询可以用来给响应式网页添加断点。断点是告诉网页在特定宽度(通常是像素)下改变其布局或加载不同的样式表的标记。为特定的设备分辨率设置断点可能是很诱人的,但这是不必要的繁琐。有许多不同的设备需要考虑,这种方法不是最佳的,相反,我们应该将断点建立在显示尺寸的滑动尺度上。这样一来,性能就会提高,用户就可以有效地浏览,而不受设备的影响。

在建设响应式网站和设置断点时,首先为移动设备进行设计是至关重要的。

通过构建你的代码,首先迎合较小的显示设备,网页在移动端会表现得更好。这意味着,在编写媒体查询要求时,如果显示器大于一个最小的像素值,我们就会对页面进行修改。

总结和下一步工作

你现在应该对响应式网页设计有了扎实的了解,包括它需要创建的内容和原因。还有很多东西需要学习,但这应该给你一个良好的基础。你的下一步应该是将这些理论付诸实践。