搜索
首页web前端css教程开发人员的设计原理:流程和CSS提示更好的网页设计

Design Principles for Developers: Processes and CSS Tips for Better Web Design

人人都能烹饪,这在技术上是成立的。但真正懂得如何烹制美味佳肴,与随意将几种食材扔进锅里碰运气,两者之间存在差异。网页开发亦是如此,你可能了解“食材”——background-color.heading-1——但并非每个人都知道如何将这些食材转化为美观易用的网站。

每次使用 HTML 和 CSS 时,你都在进行设计——赋予内容形式和结构,以便他人理解。人们设计已有数百年历史,并在此过程中发展出一些原则,这些原则也适用于今天的数字界面。这些原则体现在三个关键领域:文字的显示方式(排版)、内容的排列方式(间距)以及个性化的添加方式(颜色)。让我们从开发人员的角度出发,利用 CSS 属性和指南,消除网页设计中的猜测成分,探索如何使用这些网页设计“食材”。

目录
  • 排版
  • 间距
  • 颜色

排版

易于阅读的网站并非偶然。事实上,Taimur Abdaal 曾撰写过一篇关于此主题的文章,其中包含大量针对处理排版的开发人员的建议。我们将重点关注两个基本的设计原则,它们可以帮助你以更赏心悦目、更易于阅读的方式显示文字:重复和层级。

利用重复实现一致性和可维护性

由于软件中可重用性的重要性,重复在网络上相当自然地出现。例如,CSS 类允许你为文本定义特定样式,然后在整个网站中重用该样式。这导致了类似内容的文本样式重复且一致,从而帮助用户浏览网站。

例如,如果你正在处理新段落的样式,首先考虑是否存在具有类似样式的现有内容,并尝试使用相同的 CSS 类。如果没有,你可以创建一个具有通用名称的新类,可以在网站的其他地方重复使用。考虑使用 .paragraph--emphasize 而不是 .footer\_\_paragraph--emphasize,或使用 .heading-1 而不是 .hero\_\_site-title。前几个例子可以在你的网站上使用,而后者则限定在特定的组件中。你甚至可以添加一个前缀,例如 text-,以指示该类专门用于文本样式。这种方法将减少 CSS 文件的大小和复杂性,同时使将来更新全局样式变得更容易。

在设计中,有无数种方法可以试验样式。设计师有时会沉迷于字体样式,创建许多略微不同的相似样式。但是,在代码中,将文本样式限制在最低限度非常有价值。开发人员应敦促设计师将类似的样式组合起来,以减少代码量,并提高可重用性和一致性。

层次结构为内容提供清晰的视觉顺序

层次结构是你只有在它不存在时才会真正注意到的东西。在排版中,层次结构指的是各种文本之间的视觉差异。它是标题、段落、链接和其他文本样式之间的区别。这种区别是通过为每种类型的文本内容选择不同的字体、颜色、大小、大小写和其他属性来实现的。良好的层次结构使复杂信息更容易理解,并引导用户浏览你的内容。

HTML 本身提供了一些层次结构(例如,标题的字体大小从 <h1></h1><h6></h6> 逐渐减小),但 CSS 为更大的创造力打开了大门。通过为 <h></h> 标签赋予更大的字体大小,你可以快速建立标题级别之间更大的尺寸差异——从而形成更多层次结构。为了创建更多变化,你还可以更改颜色、text-aligntext-transform 属性。

关于字体选择的说明

===========================================================================================================================================================================================================================================================================

====================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================

在排版方面,我们需要确保它尽可能易于阅读。可读性最大的整体因素是你选择的字体——这是一个巨大的话题。许多因素决定了字体的“可读性”。有些字体专门设计用于标题或短行文本;这些被称为“显示”字体,它们通常比设计用于文本的字体更具个性。独特的装饰和怪癖使显示字体在小尺寸和作为大段落的一部分时更难阅读。根据经验,应为文本使用更直观的字体,仅为标题使用显示字体。

如果你手头紧缺,需要一种易读的字体,可以尝试 Google Fonts。将一段文本添加到预览字段,并将其大小调整到你网站上显示的大致大小。然后,你可以将结果缩小到衬线或非衬线字体,并扫描字体列表以查找易于阅读的字体。Roboto、Noto Sans、Merriweather 和 PT Serif 都是非常易读的选项。

用于提高可读性的 CSS 属性

  • 主要段落的字体大小应在 16px 和 18px(1em 和 1.25em)之间,具体取决于你选择的字体。

  • 手动设置行高(两行文本之间的垂直空间),使你的文本不那么拥挤,更容易阅读。对于标题,从 line-height: 1.25(即字体大小的 1.25 倍)开始,段落至少为 1.5(但不超过 1.9),然后根据需要调整。文本行越长,行高就应该越大。为了保持文本的灵活性,避免在行高添加单位。没有单位,你设置的行高将与你的字体大小成比例。例如,line-height: 1.5font-size: 18px 将使你的行高为 27 像素。如果你在较小的屏幕上将字体大小更改为 font-size: 16px,则计算出的行高将自动更改为 24 像素。

  • 注意文本行中包含多少个字符,目标是 45 到 75 个字符长(包括标点符号和空格)。这样做通过限制眼睛和头部移动来跟踪文本行,从而减少用户的阅读疲劳。由于网络的变异性,不可能完全控制行长,但你可以使用 max-width 值和断点来防止文本行变得太长。一般来说,文本行越短,扫描速度就越快。而且不必过于担心计算每一行的字符数。完成几次后,你就会对什么看起来是对的产生感觉。

间距

查看排版后,你可以退后一步检查内容的布局或间距。运动和邻近是与间距相关的两个设计原则。

运动关乎内容流程

运动是指你的眼睛如何穿过页面或页面的流程。你可以使用运动来引导用户的视线,从而讲述故事、指向主要操作项或鼓励他们滚动。这是通过在各个组件内构建内容,然后排列这些组件来形成页面布局来实现的。通过注意你的眼睛如何穿过内容,你可以帮助用户在扫描页面时知道在哪里寻找。

与书籍(往往具有非常线性的结构)不同,网站在其布局方面可以更具创造性——以无数种方式。重要的是要确保你对如何布局内容有目的,并以尽可能轻松地引导用户浏览你的内容的方式进行布局。

考虑以上三个示例。哪个最容易理解?左侧的排列由于图像的位置而将你的视线从屏幕上移到左侧,这使得难以找到按钮。在中间选项中,由于图像与标题相比太大,很容易忽略标题。在右侧,标题首先吸引你的注意力,并且图像的构成使其指向主要操作项——按钮。

空白是创建强大运动的有用工具,但很容易使用过多或过少。考虑一下你如何使用它来引导用户的视线并划分你的内容。如果使用得当,用户不会注意到空白本身,但能够更好地关注你正在呈现的内容。例如,你可以使用空白来分隔内容(而不是彩色框),这将导致布局不那么杂乱。

邻近性建立关系

当物体靠得更近时,它们会被感知为相关的。通过控制元素周围的间距,你可以暗示它们之间的关系。创建一个间距系统以帮助通过重复建立一致性并避免使用随机数字可能会有所帮助。此系统基于默认浏览器字体大小(1rem 或 16px),并使用涵盖大多数场景的不同值:

  • 0.25rem (4px)
  • 0.5rem (8px)
  • 1rem (16px)
  • 2rem (32px)
  • 4rem (64px)

你可以使用 Sass 或 CSS 变量,以便在整个项目中保持这些值的一致性。系统可能如下所示——但使用你感到舒适的任何内容,因为命名事物很难:

  • $space-sm
  • $space-med
  • $space-lg
  • $space-xl
  • $space-xxl

颜色传达个性并引起注意

颜色极大地影响网站的个性。如果使用得当,它会使页面充满活力和情感;如果使用不当,它会分散对内容的注意力,或者更糟糕的是,使其无法访问。颜色与大多数设计原则密切相关。它可用于通过引导用户的视线来创建运动,并可用于通过引起对最重要操作项的注意来创建强调。

关于颜色选择的说明

对于颜色,可能很难知道从哪里开始。为了提供帮助,你可以使用一个四步过程来指导你的颜色选择,并为网站构建一个调色板。

步骤 1:了解你的情绪

在选择颜色之前,你必须了解你网站和品牌的基调或态度。查看你的内容,并决定你试图传达什么。它是有趣的、信息丰富的、复古的、响亮的、阴沉的吗?通常,你可以将网站的基调归纳为几个形容词。例如,你可以将 The North Face 总结为冒险和粗犷的,而 Apple 则为极简和美丽的。

步骤 2:找到你的主色

记住你的情绪,尝试想象一种代表它的颜色。从颜色的饱和度(颜色的强度)和亮度(颜色与白色或黑色的接近程度)开始。如果你的情绪是乐观或华丽的,那么较浅(更饱和)的颜色可能是最好的。如果你的情绪是严肃或含蓄的,那么较暗(不太饱和)的颜色更好。

接下来,选择一种色相。色相指的是大多数人认为的颜色——它在色轮的旋转中落在哪里?颜色的色相赋予它最大的意义。人们倾向于将色相与某些想法联系起来。例如,红色通常与权力或危险相关,绿色与金钱或自然相关。查看类似的网站或品牌以了解它们使用的颜色可能会有所帮助——尽管你不需要遵循它们的领导。不要害怕尝试!

步骤 3:添加辅助色

有时需要两种或三种主要颜色,但这并非必要。想想不同品牌的颜色。有些使用单一颜色,而另一些则具有主色和一两种辅助色。可口可乐使用其独特的红色。宜家主要是蓝色,带有一些黄色。汰渍是橙色,带有一些蓝色和黄色。根据你网站的情绪,你可能需要几种颜色。尝试使用 Adobe Color 或 Coolors 等工具,这两个工具都允许你添加主色,然后尝试不同的颜色关系,例如互补色或单色,以快速查看是否有任何效果很好。

步骤 4:扩展你的调色板

现在你已经缩小了范围并找到了你的主要颜色,是时候使用一个调色板来扩展你的范围了,这个调色板为你的项目提供了多功能性和约束性——这是一个我发现有用的方法。色调和阴影是这里的诀窍。色调是通过将你的主要颜色与白色混合制成的,阴影是通过与黑色混合制成的。你可以使用 Sass 颜色函数快速创建一个组织良好的系统:

<code>$main-color:          #9AE799;

$main-color-lightest: lighten($main-color, 20%);
$main-color-lighter:  lighten($main-color, 15%);
$main-color-light:    lighten($main-color, 10%);

$main-color-dark:     darken($main-color, 40%);
$main-color-darker:   darken($main-color, 50%);
$main-color-darkest:  darken($main-color, 60%);</code>

为了完善你的调色板,你还需要几种颜色,例如白色和黑色。尝试使用你的主要颜色的深色、几乎黑色的阴影来创建“浓郁的黑色”,并在光谱的另一端,选择几种用你的主要颜色着色的浅灰色。为白色和黑色着色会为你的页面添加更多个性,并有助于创建连贯的外观和感觉。

最后但并非最不重要的一点是,如果你正在处理交互式产品,则应添加成功、警告和错误状态的颜色。通常绿色、黄色和红色适用于这些,但请考虑如何调整色相以使其更适合你的调色板。例如,如果你的情绪是友好的,你的基色是绿色,你可能需要降低错误状态颜色的饱和度,以使红色感觉不那么负面。

你可以使用 mix Sass 颜色函数来实现这一点,方法是提供你的基色、默认错误颜色以及你想要与错误颜色混合的基色百分比。添加 desaturate 函数有助于降低颜色的色调:

<code>$success: mix($base-color, desaturate(green, 50%), 50%);
$warning: mix($base-color, desaturate(yellow, 30%), 5%);
$error:   mix($base-color, desaturate(red, 50%), 20%);</code>

在网络方面,有一个颜色原则你必须特别注意:对比度。这就是我们接下来要介绍的内容。

对比度

颜色对比度——两种颜色之间饱和度、亮度和色相的差异——是一个重要的设计原则,可确保网络对视力低下或色盲者具有可访问性。通过确保你的文本与其网站上的任何背景之间存在足够的对比度,将使所有视力正常的用户都能更好地访问。在查看可访问性时,请务必遵循 W3C 的 Web 内容可访问性指南 (WCAG) 中提供的颜色对比度指南。有很多工具可以帮助你遵循这些指南,包括 Chrome 开发工具中的检查面板。

现在,是时候将这些原则付诸实践了!你可以使用这些流程和 CSS 提示来帮助消除设计中的猜测成分,并创建更好的解决方案。从你熟悉的内容开始,最终,此处提到的设计原则将成为你的第二天性。

如果你正在寻找更多实用技巧,Adam Wathan 和 Steve Schoger 撰写了关于他们最喜欢的技巧的一些文章。

以上是开发人员的设计原理:流程和CSS提示更好的网页设计的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
迭代使用样式组件的React设计迭代使用样式组件的React设计Apr 21, 2025 am 11:29 AM

在一个完美的世界中,我们的项目将拥有无限的资源和时间。我们的团队将开始使用经过深思熟虑的UX设计进行编码。

哦,制作三角形面包丝带的许多方法!哦,制作三角形面包丝带的许多方法!Apr 21, 2025 am 11:26 AM

哦,制作三角形面包屑丝带的许多方法

CSS指南中的SVG属性CSS指南中的SVG属性Apr 21, 2025 am 11:21 AM

SVG具有自己的一套元素,属性和属性集,以至于内联SVG代码可能会变得漫长而复杂。通过利用CSS和SVG 2规范的一些即将到来的功能,我们可以减少该代码以进行清洁标记。

交叉观察者的一些功能用途可以知道何时在元素中查看交叉观察者的一些功能用途可以知道何时在元素中查看Apr 21, 2025 am 11:19 AM

您可能不知道这一点,但是JavaScript最近偷偷地积累了许多观察者,而交叉观察者是其中的一部分

恢复偏爱减少运动恢复偏爱减少运动Apr 21, 2025 am 11:18 AM

我们可能不需要扔掉所有CSS动画。请记住,这更喜欢减少动作,而不喜欢不运动。

如何将进步的Web应用程序进入Google Play商店如何将进步的Web应用程序进入Google Play商店Apr 21, 2025 am 11:10 AM

PWA(Progressive Web应用程序)已经与我们在一起了一段时间。但是,每次我尝试向客户解释它时,同样的问题都会出现:“我的用户会成为

处理HTML的最简单方法包括处理HTML的最简单方法包括Apr 21, 2025 am 11:09 AM

这对我来说非常令人惊讶,HTML从未在其中包含其他HTML文件。似乎也没有任何东西

更改悬停在悬停的SVG的颜色更改悬停在悬停的SVG的颜色Apr 21, 2025 am 11:04 AM

使用SVG有很多不同的方法。取决于哪种方式,在不同状态或条件下重新定制该SVG的策略 - 悬停,

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。