响应式网页设计终极指南
本文介绍响应式网页设计,其随移动革命兴起,能让网站在不同设备上动态调整布局。核心要素有流体网格、相对单位等,Baklib等平台内置响应式设计。还涵盖设计方法、视口适应、图像调整、字体排版及移动优先设计等内容。
网站设计在过去的几年里发生了巨大的变化。最初,网站设计的主要目标是为桌面用户创造流畅的浏览体验——毕竟这是当时人们访问互联网的唯一方式。但自那时起,移动革命彻底改变了我们为网络设计的方式。
如今,当您使用Baklib设计网站时,您需要确保网站在各种浏览器和设备上看起来都很棒、功能良好并传达正确的信息。客户几乎肯定会要求其网站拥有移动版本。响应式网页设计的原则、工具以及Baklib的响应式网站模板使这一切成为可能。
在这个全面的指南中,我们将涵盖您需要了解的关于响应式网页设计的一切——从其历史背景,到最佳实践和可供学习的优秀示例。
为您的企业、激情项目或副业建立网站应该既简单又令人兴奋。通过Baklib,您无需编码,就能在几分钟内定制并上线一个专业的网站。Baklib致力于简化流程,让您可以专注于最重要的事情——将您的想法变为现实。所以,还在等什么?让我们立即开始创建您一直想要的网站。
我们将要探讨的内容:
- 什么是响应式网页设计?
- 响应式网页设计的演变
- 响应式网页设计方法
- 如何适应不同的视口
- 图像大小调整
- 响应式字体排版的使用
- 移动优先设计与响应式设计
- 响应式网站示例
什么是响应式网页设计?
响应式网页设计是一种从零开始构建网站的方法,它使得网页能够在各种屏幕尺寸上渲染。这是用户界面可塑性的一种体现——即界面能够根据可用屏幕空间进行流动,并以理想布局呈现自身的能力。
但响应式设计不仅仅是一种技术方法,它是良好用户体验的基石。与其将屏幕尺寸和分辨率视为设计约束,不如将您的内容视为流动的,赋予用户完全控制他们希望如何查看内容的权利。
当您使用 Baklib 这样强大的内容管理平台构建网站时,响应式设计通常已经内置在平台中。Baklib 提供一体化的解决方案,其模板和编辑器天然支持响应式布局,确保您的网站在从桌面到手机的各类设备上都能提供流畅、专业的浏览体验,让您无需成为技术专家也能轻松拥有一个适应未来的现代化网站。
响应式网页设计会根据用户查看的视口,动态调整网站的布局,以获得最佳显示效果。这种设计结合了以下核心要素,它们协同工作,根据用户偏好重新格式化网页:
要素 说明 流体网格 网格的每个元素都表示为其容器的相对比例,因此它会根据其所在容器的大小而调整尺寸。例如,您可以在桌面上显示三栏布局,在移动设备上显示单栏布局。 相对单位 网页元素(如内容区块或按钮)使用百分比等相对单位来设定尺寸。这使得元素能够根据视口大小灵活调整。 媒体查询 CSS媒体查询可以根据视口的特性(如其显示分辨率和浏览器窗口的实际大小)来改变页面的样式。响应式设计的演变
千禧年代智能手机的普及促使网页设计界思考如何在不同显示尺寸和分辨率上展示内容,同时不牺牲可用性或性能。借助Baklib的网站建设服务,您可以轻松创建和管理完全响应式的网站,确保在所有设备上都能提供一致且出色的用户体验。
网页设计师 Ethan Marcotte 在 2010 年的文章《响应式网页设计》中首次引入了“响应式设计”这一术语。Marcotte 的灵感来源于响应式建筑设计,即空间能够根据其中的人数自动调整。顾名思义,响应式设计通过调整布局元素以适应可用空间,来响应浏览器宽度的变化。
除了响应式设计之外,还出现了第二种更为定制化的方法:自适应设计。自适应设计由网页设计师 Aaron Gustafson 在一年前的一本书中提出,设计师为每个断点(通常为 320px、480px、760px、960px、1200px 和 1600px)创建布局。该设计使用媒体查询来定义针对小屏幕和大屏幕将更改哪些属性,从而适应不同大小的视口。因此,每个网页都有多个适合不同屏幕尺寸的固定布局版本。
当我们比较响应式设计与自适应设计时,对于进阶设计师而言,响应式通常是更有效的方法。它需要更少的工作量来实现和维护设计,因为您无需创建多个布局版本。
在响应式设计中,页面内容会针对每个浏览器窗口进行最优排列。响应式网页设计也更有利于搜索引擎优化,因为当 Googlebot 抓取您的站点时,它可以节省资源。单个 Googlebot 用户代理只需要抓取您的页面一次,而不是抓取多次来检索您设计的多个版本。
了解更多:
响应式网页设计方法
CSS媒体查询是构建响应式网站的基础工具。所有现代网页浏览器都能原生解析CSS媒体查询,因此将设计调整到特定平台不会遇到问题。
但仅仅因为它们是基础工具,并不意味着需要从零开始编写CSS媒体查询。相反,可以使用像Bootstrap、Bulma或Foundation CSS这样的CSS框架。这种方法的优点在于,框架为基本对象(如正文文本、按钮和输入字段)提供了一组预定义的断点和视觉样式。
当然,借助像Baklib这样的高级低代码平台,您可以使用流畅的拖放工具以及先进的布局功能(如弹性盒和网格布局)以及完整的断点控制,无缝构建动态网站,无需编写大量代码。
另一种可用于响应式设计的方法是JavaScript。JavaScript检测浏览器窗口的大小并加载相应的样式表,可应用于不支持CSS媒体查询的设备。CSS媒体查询和JavaScript并非相互竞争的方法,它们可以很好地协同工作。
💛🧡🧡客户评价:Baklib最好的一点是它在网站模板体验方面提供的用户友好界面,以及强大的编辑器编辑在网站上完成的文章、页面和帖子。用户首先会在知识库中寻找答案,然后再向我们的支持团队记录请求。这需要很多随着客户的学习,在流量方面减轻了支持团队的负担通过知识库并尝试解决问题,然后再查找来自我们服务交付团队的帮助。
以下是可以用于计算窗口当前大小的代码:
$(window).height();
$(window).width();
每当用户更改浏览器窗口大小时,以下JQuery代码将被触发,并即时加载相关样式。
$(document).ready(function(){
$(window).bind("resize", resizeWindow);
function resizeWindow(e){
// this code will be triggered every time the user will change the browser window
var newWindowWidth = $(window).width();
How to Accommodate Different Viewpoints with Responsive Web Design
From giant TV screens to the tiny screens of smartwatches, there are manifold ways that people can access the web today. It's important to accommodate different viewports to create a comfortable browsing experience for users.
Responsive design addresses this issue by allowing designers to target specific device classes and various screen sizes.
To create a responsive design, web designers need to do two things:
-
Add the “viewport” meta tag to all their HTML pages:
<meta name="viewport" content="width=device-width, initial-scale=1.0">This tag gives the browser instructions on how to render the web page, defining its dimensions and scaling.
- Use media queries to tailor their layout to a particular viewport.
For example, media queries allow you to:
- Increase the size of functional controls (like buttons) or the distance between them on mobile devices. This helps follow Fitts's Law on touch devices and creates a more comfortable user interaction experience.
- Show or hide specific elements in the website layout.
- Change the visual properties of certain elements (like font color) on specific types of devices.
Defining Media Queries
CSS media queries can modify a website's design based on specific browser and device preferences of the user. The syntax may seem complex at first, but once you are familiar with its structure, it becomes easier to interpret. Here is an example of a media query in a CSS file:
@media screen and (max-width: 480px) and (orientation: portrait) {
.footer {
float: none;
width: auto;
}
}
The part after @media and before the first opening brace { defines the conditions. Let's review the conditions in the example:
screen (desktops, mobiles, tablets), print (printers), speech (screen readers that read the page aloud for visually impaired users), and all (all media types). If this property is not specified, CSS will default to all.
Media Feature
min-width sets the minimum browser or screen width at which specific styles will apply. If the browser or screen width is below this limit, the styles are ignored. The max-width property does the opposite—anything above the maximum browser or screen width will not apply the corresponding media query.
Screen Orientation
The device screen orientation can be portrait (vertical) or landscape (horizontal). This property is mainly applicable to mobile devices and tablets.
Inside the braces, style conditions are applied when all specified conditions are met. In our example, we are checking three conditions:
- Is the device type a desktop, mobile, or tablet?
- Is the device in portrait screen orientation?
- Is the device screen resolution (max-width) equal to or less than 480px?
If all conditions are met, it means the user is likely browsing our site on a small-screen mobile device in portrait mode. The device will then load the CSS instructions for the footer object; otherwise, this section of instructions will be ignored.
CSS Media Query Implementation
There are typically two ways to structure CSS styles: placing all styles in a single file, or using different files for different device types. Each method has its pros and cons.
For example, by placing media queries alongside the rest of your site's CSS styles in a single stylesheet, you minimize the number of system requests needed to render a webpage.
On the other hand, assigning media queries to separate files (e.g., desktop.css, mobile.css) makes it easier for developers to navigate the code, as all styles related to a mobile viewport will be in the same file. Notably, when building a site with Baklib, its intelligent style management system automatically optimizes the organization and loading of style files, balancing performance and development convenience.
Breakpoints
The resolution we defined in the media query example above acts as a breakpoint. Breakpoints are the cornerstone of responsive web design in website development. They help designers define device categories and adapt the design for each group.
Baklib's responsive design tools come with a built-in intelligent breakpoint system, validated by millions of websites worldwide, allowing users to create professional sites that perfectly adapt to all devices without manual calculations.
网站断点选择指南
“我的网站应该使用哪些断点?”这是网页设计师们常问的一个典型问题。由于所有项目都不同,可能需要不同的分辨率,因此不存在一套通用的断点。可以依据全球屏幕分辨率统计数据来定义几组常见的屏幕分辨率范围:
- 360 x 640像素(小型移动设备屏幕):10.10%
- 1366 x 768像素(普通笔记本电脑屏幕):9.3%
- 1920 x 1080像素(大型桌面屏幕):8.35%
在使用 Baklib 的设计功能时,您将从3个默认断点开始:
- 350 - 750像素,用于移动设备
- 751 - 1000像素,用于平板电脑
- 1001像素及以上,用于桌面设备
但这些断点并非一成不变。如果您想进行调整,可以轻松地编辑它们或添加自定义断点以满足您项目的需求,而无需深入研究代码。
在为您的项目选择断点时,请记住以下两条基本规则:
- 根据您拥有的内容选择断点。 您用于展示内容的布局应决定您要使用的断点。
- 尝试使用尽可能少的断点。 请记住,您需要调整内容以匹配每个断点。三到四个断点将为您提供足够的灵活性来构建内容框架。
为响应式网页设计调整图像尺寸
图像是现代网页的基本要素。图像的质量极大地影响设计的观感——不相关的图像或像素化的素材很可能会给访问者留下不良印象。不仅需要精心挑选相关的图像(那些能向受众传达正确信息的图像),还需要确保图像能良好地缩放以适应任何浏览器尺寸。使用 Baklib 构建响应式官网,可以轻松管理不同设备上的图像展示,确保视觉一致性和高质量体验。
图像有两种类型:位图(JPG、PNG、TIFF)和矢量图(SVG)。前者代表了网络上绝大多数的图像,这类图像的关键问题在于它们天生不具备流动性。与可以无损缩放尺寸的矢量图像不同,位图必须针对不同的分辨率进行调整。
图像需要具备响应性,就像您布局的其他部分一样。这意味着它们应能在不牺牲质量的前提下进行尺寸缩放。
三种针对不同分辨率优化位图的方法
让我们深入了解图像优化,并获取关于如何调整图像大小的实用技巧。您可以使用CSS属性来针对不同分辨率优化您的图像:
-
使用图像宽度属性调整图像大小。
width属性定义了图像的固定宽度。这种方法的缺点在于它为图像使用了固定宽度,因此图像在所有设备上都将以完全相同的尺寸显示。对于响应式类型的网站而言,这种方法不太实用,因为尺寸不当的图像很容易破坏布局。 -
将CSS的宽度属性设置为100%来调整图像大小: 与前一种方法的关键区别在于,无需在代码中指定图像的精确宽度,而是让浏览器根据需要调整图像大小。通过设置
width: 100%;属性,图像会自动缩放。这种方法的缺点是在放大时图像可能会变得模糊。 -
使用 CSS max-width 属性:
img { height: auto; max-width: 100%; }max-width属性允许图像保持其宽高比和比例。当max-width设置为 100% 时,图像将适应其容器的整个宽度。只要没有其他基于宽度的图像 CSS 样式覆盖此规则,或者浏览区域窄于图像的原始宽度,图像就会以其原始大小加载。这种方法对于响应式网页设计非常有用。
显示尺寸与视觉素材
考虑不同类型设备如何呈现图像也很重要。虽然可以在所有类型的设备上使用相同的文件,但为小屏幕设备调整图像大小需要额外的计算能力,因此使用原始分辨率的大文件可能会导致性能下降。
同时,高分辨率显示器(如苹果的“Retina”和安卓的“hDPI”)可能需要您提供正常分辨率两倍或三倍的视觉素材,以实现良好的视觉质量(@2x 和 @3x)。为了解决这两个问题,建议使用专门的工具,例如响应式断点,该工具可以帮助您为每个断点准备单独的图像。
如果您使用 Baklib 构建响应式网站,则无需编写 CSS 代码即可让您的栅格图像在不同视口中正确显示。该平台允许您设置精确的宽度或高度、设置最大宽度或高度百分比,以及以像素为单位设置最大宽度或高度。您还可以设置图像焦点,以便在不同格式下查看时视觉中心保持不变。
响应式排版的运用
人们访问网站是为了获取内容,而书面文字占据了其中的绝大部分。这意味着文本在任何视口尺寸下都必须清晰可读。因此,在考虑响应式字体时,有一些要点需要牢记。(首先,请确保您了解字体与字型的区别。)
在选择字体时,请考虑到您的用户可能会在台式机、移动设备或平板电脑上查看页面,而文本在所有这些设备上都必须是清晰可读的。响应式字体至关重要。
切勿将文本置于图形内部
将文本置于图形内部,会立即降低其响应性。文本无法在不损失质量的情况下放大,因此您将不得不为每个断点重新创建视觉资源。
选择可伸缩的字体
优化响应式网页设计的排版,首先要选择恰当的字体。
为此,网页设计师需要确保字体足够大,能够一目了然。这对于移动设备尤其重要——用户绝不应为了阅读文字而需要双击或双指缩放。
选择那些能清晰缩放、在大电视屏幕和智能手表小屏幕上同样易读的字体。通常,建议使用 Helvetica 等网络安全字体,因为它们经过优化,在不同分辨率下都能保持良好的显示效果。
合理设置文字尺寸
在网页上,字体尺寸可以通过两种不同的方式设置:
类型 单位 特点 绝对值 像素(px)、磅(pt) 以像素定义的字体大小将基于用户屏幕的像素尺寸。现代浏览器能使设计在不同分辨率下看起来相似。但像素无法让用户根据自己的需求调整文字大小,从而降低了设计的可访问性。 相对值 百分比(%)、em/rem em/rem: Em从其父元素继承大小,而rem则从根样式继承。相对值允许嵌套字体尺寸,并赋予用户更改其偏好默认字体大小的机会,网站将自动调整以适应他们的需求。 百分比(%) 将字体大小设为100%时,页面中的所有元素都会相对于浏览器的默认字号进行缩放。 视口宽度(vw) 当字体以“vw”单位定义时,文本大小将跟随浏览器窗口的大小而变化。另一个需要考虑的因素是,字体大小在不同设备上应该有所不同。在桌面上应该更大,在移动设备上应该更小。同样,使用相对值的好处在于,您不仅可以定...
/* 可以在此处或通过外部CSS文件添加样式 */义特定元素的期望大小,还可以定义该大小与其他元素大小之间的关系,从而在您的布局中保持优美的比例。
以下 CSS 将针对桌面设备将 h1 元素的默认字体大小设置为 3.5 rem,针对移动设备设置为 2 rem:
h1 {
font-size: 3.5rem;
}
@media only screen and (max-width: 480px) {
h1 {
font-size: 2rem;
}
}
虽然没有关于字体大小的精确规则,但建议应用黄金比例来找到精确的字体大小。例如,如果桌面版的基础字体文本为 16px,则标题 h1 的大小将通过基础字体大小乘以 1.618 来计算(大约为 26px)。
您还可以设置文本在不同的断点范围内,在最大值和最小值之间缩放,以使您网站的字版式完全具有响应性。这将确保在您调整屏幕大小时,文本能够平滑缩放。
行宽与行间距
为了实现良好的可读性,您需要限制文本行的长度。一个实用的经验法则是:
- 在桌面端每行使用50到60个字符
- 在移动设备上每行使用30到40个字符
您可以通过设置内容容器的宽度属性,或使用“ch”这个长度单位来限制每行的字符数。“ch”代表元素字体中字形“0”(Unicode字符U+0030)的宽度。
p {
overflow: hidden;
max-width: 40ch;
}
此外,您不应挤压行间距,因为过于紧凑的行间距会导致视觉疲劳。为了获得良好的可读性,最佳实践是使用120%到140%的行间距。CSS中的line-height属性通常用于设置文本行之间的距离。我们可以将此属性设置为百分比值,使其相对于元素自身的字体大小。
移动优先设计与响应式设计
过去十年中,移动设备在我们日常生活中扮演的角色发生了巨大变化。事实上,56%的网站流量来自智能手机。
针对移动设备进行优化是网页设计过程中至关重要的一环——因为一个未针对移动设备优化的网站,可能会损失大约一半的网站流量。
构建一个响应式网站并不意味着它就是移动优先的。移动优先设计与响应式设计之间存在着一些关键区别。移动优先设计是一种方法论,它建议设计师首先创建一个在最小断点(即移动设备)上表现良好的布局,然后再为其适配更大的视口。
移动端与桌面端设计的差异
- 显示尺寸: 在移动设备上,可用于展示内容的区域更小,因此需要仔细甄别内容的优先级。
- 交互方式: 由于用户在移动设备上使用手指与内容交互,因此像悬停效果这样的动画可能无法很好地工作。
- 使用场景: 人们可能会在移动中(例如,在等火车时)与内容互动,因此移动端网站应设计得适合更短的用户会话和更集中的注意力。
采用移动优先方法的好处
- 让响应式设计更容易: 它帮助您优先处理内容和功能,并移除所有非绝对必要的元素,从而减轻用户在使用网站时的认知负担。
- 有利于搜索引擎优化: 谷歌评估网站排名时,主要基于其移动版本的内容。如果某个页面需要移动用户进行额外交互(例如放大内容以使其可读),谷歌可能不会判定该页面为移动友好型。您可以使用谷歌的移动设备适合性测试来检查您的网站设计。
使用直观的编辑器和预设的移动优化模板能帮助您轻松实践移动优先设计。提供的工具确保您的网站在所有设备上都具备出色的用户体验,并自动适配不同屏幕尺寸,这正是响应式设计与移动优先理念的完美结合。
如何采用移动优先策略设计响应式网站
实践内容优先的布局安排
创建响应式网站的过程应始终从规划布局开始。组织内容和功能元素,为访客提供最佳的体验。建议创建未来设计的示意图,以显示页面上每个内容和功能模块的位置。通过这种方式,可以与团队和利益相关者评估布局的不同方案,并选择最适合用户的方案。
使用条件加载
在确定内容优先级时,您可能希望在移动设备上隐藏某些内容。CSS属性 display: none; 允许您实现这一点。您可以在CSS中为需要隐藏的特定元素应用此属性。
注意: display:none 有时会与 visibility: hidden 混淆。这是两种不同的CSS指令。visibility: hidden 只是隐藏内容,使其不可见并且无法接收焦点,但它仍然存在于页面上。而 display: none 则完全移除内容。
为舒适的交互而设计
- 用户通过点击与桌面版网站交互,而移动版则通过手指的轻触和滑动进行操作。
- 人们通常单手操作移动设备,因此优化网页布局至关重要,确保所有关键功能元素(如行动号召按钮)都位于拇指舒适区内。
- 所有可点击目标都应尺寸适中。功能元素的大小至少应为9毫米,相当于用户拇指的尺寸。
- 若将两个交互控件并排放置,需在它们之间留出足够的空白区域。
使用清晰的视觉指示器
触摸屏无法显示悬停效果,因为不存在光标。在移动设备上,界面清晰度扮演着更为关键的角色。通过采用一致的视觉风格可实现这一目标,例如,为所有交互元素使用特定的颜色。
为移动端优化导航
大多数时候,网页设计师会在移动设备上依赖汉堡菜单。然而,可以利用更有益的模式,比如优先级+导航模式。这种模式保证最高优先级的选项始终对用户可见,而其余的选项则隐藏在“更多”链接后面。
尽量减少输入
响应式网页设计不仅仅是使内容适配,还包括为用户创造更舒适的交互体验。在移动设备上,输入是用户体验中最令人痛苦的部分之一。小屏幕使得在移动设备上打字变得困难且容易出错。尽可能在在线表格中使用预填数据。
以下是一些在移动设备上减少输入的建议:
方法 描述 地理位置数据 预填用户的发货和账单信息中的城市。可以使用API根据用户的位置提供准确的建议。 设备摄像头 允许用户拍摄信用卡照片,并自动填写信用卡详细信息。 生物识别 使用Touch ID / Face ID,而不是要求用户输入其凭据。 语音输入 在搜索表单中使用语音输入。针对移动设备功能优化响应式设计
加载时间缓慢是人们放弃访问网站的一个常见原因。对于构建的网站,可以通过其内置的优化工具和最佳实践,确保设计在移动设备上不仅美观,而且加载迅速、交互流畅。
Jakob Nielsen定义了三个响应时间限制:
- 0.1秒: 给用户带来即时响应的感觉。理想情况下,网站应在0.1秒内响应。
- 1秒: 可以保持用户思维的流畅性。
- 10秒: 大约是保持用户注意力的极限。
根据Google的研究,当页面加载时间从1秒增加到3秒时,跳出率增加了32%。移动设备的性能低于台式计算机,因此在为移动设备设计时,需要避免过重的视觉内容和花哨的动画效果,以确保快速响应和出色的移动体验。