当前位置: 首页 > news >正文

《CSS 简易速速上手小册》第4章:视觉美学(2024 最新版)

在这里插入图片描述

文章目录

  • 4.1 颜色理论在 CSS 设计中的应用:网页的调色盘
    • 4.1.1 基础知识
    • 4.1.2 重点案例:创建一个具有情感设计的登录页面
    • 4.1.3 拓展案例 1:使用颜色增强信息的可视化表示
    • 4.1.4 拓展案例 2:利用颜色创建网站的品牌身份
  • 4.2 字体与文本样式:网页的声音
    • 4.2.1 基础知识
    • 4.2.2 重点案例:创造一个具有良好可读性的博客文章页面
    • 4.2.3 拓展案例 1:使用 Web 字体增强品牌形象
    • 4.2.4 拓展案例 2:创建动态文本效果以吸引注意力
  • 4.3 使用图标和 SVG:网页的表情包
    • 4.3.1 基础知识
    • 4.3.2 重点案例:为导航菜单添加图标
    • 4.3.3 拓展案例 1:使用 SVG 制作响应式图表
    • 4.3.4 拓展案例 2:为按钮添加交互动画

4.1 颜色理论在 CSS 设计中的应用:网页的调色盘

在网页设计的世界里,颜色不仅仅填充空间,它们传达情感,引导视觉流动,甚至影响用户的行为。掌握颜色理论在CSS设计中的应用,就像是拿到了一盒神奇的调色盘,让你能够为你的网站绘制出完美的背景。

4.1.1 基础知识

  • 颜色模型:在CSS中,我们常用RGB(红、绿、蓝)、HEX(十六进制颜色码)、HSL(色相、饱和度、亮度)等方式来表示颜色。
  • 颜色和情感:不同的颜色能够激发不同的情感。例如,蓝色通常与可靠和专业相关联,而黄色则传达乐观和幸福。
  • 对比和协调:使用对比色(色轮上相对的颜色)可以创建动态和吸引注意的设计;使用类似色(色轮上相邻的颜色)则可以创造和谐和统一的视觉效果。

4.1.2 重点案例:创建一个具有情感设计的登录页面

假设你要为一个健康和福祉应用设计登录页面,你希望这个页面能够传达一种安静和放松的感觉。

  • CSS 样式
body {background-color: #f0f6f7; /* 淡蓝色背景给人一种清新安静的感觉 */color: #333; /* 深色文字提供良好的对比和可读性 */
}.button {background-color: #4CAF50; /* 绿色按钮表示前进和积极的行动 */color: white;
}.link {color: #007BFF; /* 蓝色链接代表可信赖和安全 */
}

这个案例展示了如何通过颜色的选择和搭配来传达特定的情感和信息。

4.1.3 拓展案例 1:使用颜色增强信息的可视化表示

假设你正在设计一个数据仪表板,需要通过颜色来区分不同类型的信息。

  • CSS 样式
.positive {color: #4CAF50; /* 绿色表示正面的数据或增长 */
}.negative {color: #F44336; /* 红色用于警告或表示下降的趋势 */
}.neutral {color: #FFEB3B; /* 黄色用于中性数据或需要注意的信息 */
}

通过颜色的应用,用户可以快速识别数据的性质和重要性。

4.1.4 拓展案例 2:利用颜色创建网站的品牌身份

为一个初创公司设计网站时,你希望通过颜色来建立品牌的视觉身份。

  • CSS 样式
:root {--brand-color: #009688; /* 选择一个独特的品牌颜色 */--accent-color: #FFC107; /* 辅助颜色用来吸引注意或突出显示 */
}.header {background-color: var(--brand-color);color: white;
}.highlight {color: var(--accent-color);
}

通过定义和使用CSS变量,我们可以在整个网站中一致地使用品牌颜色,增强品牌识别。

掌握颜色理论在CSS设计中的应用,就像是给你的网站穿上了一件定制的晚礼服。每种颜色的选择和搭配都应该有意图和目的,让用户在浏览你的网站时,不仅仅是获取信息,更是享受一场视觉和情感上的盛宴。记住,颜色不只是填充空间的工具,它们是讲述你网站故事的调色盘。

在这里插入图片描述


4.2 字体与文本样式:网页的声音

在网页设计的交响乐中,字体和文本样式是那些能够直接触及用户心灵的旋律。它们不仅仅是传递信息的工具,更是表达情感、塑造品牌个性和提升可读性的关键元素。正确地选择和使用它们,可以让你的网站“说话”的声音更加悦耳动听。

4.2.1 基础知识

  • 字体家族(Font Family):字体家族是一组具有相似设计特征的字体集合。在CSS中,通过 font-family 属性指定。
  • 字体大小(Font Size):字体大小决定了文本的可读性。使用 font-size 属性来设置。
  • 字体粗细(Font Weight):字体粗细影响文本的视觉重量。font-weight 属性用于控制。
  • 行高(Line Height):行高影响文本的排版密度和可读性。通过 line-height 属性调整。
  • 文本对齐(Text Align):文本对齐方式影响布局的整洁度和阅读流畅度。text-align 属性可用于设置对齐方式。

4.2.2 重点案例:创造一个具有良好可读性的博客文章页面

假设你需要设计一个博客文章页面,你希望它不仅内容丰富,而且易于阅读,能让读者沉浸其中。

  • CSS 样式
body {font-family: 'Open Sans', Arial, sans-serif; /* 选择易读的字体 */font-size: 18px; /* 设定一个舒适的阅读大小 */line-height: 1.6; /* 增加行高以改善阅读体验 */
}h1, h2, h3 {font-family: 'Merriweather', serif; /* 对标题使用更具特色的字体 */
}p {text-align: justify; /* 两端对齐段落文本 */
}

通过混合使用两种字体和调整文本排版的参数,我们可以创造一个既具有个性又易于阅读的博客文章页面。

4.2.3 拓展案例 1:使用 Web 字体增强品牌形象

假设你正在为一个品牌网站工作,想要通过使用特定的Web字体来强化品牌形象。

  • HTML 标签
<link href="https://fonts.googleapis.com/css?family=Roboto:400,700&display=swap" rel="stylesheet">
  • CSS 样式
body {font-family: 'Roboto', sans-serif; /* 应用Web字体 */font-weight: 400; /* 正文使用正常字重 */
}strong {font-weight: 700; /* 强调文字使用更粗的字重 */
}

通过从Google Fonts引入并使用 Roboto 字体,我们不仅提升了网站的视觉效果,也增强了品牌的独特性。

4.2.4 拓展案例 2:创建动态文本效果以吸引注意力

为了在一个宣传页面上吸引用户的注意力,你决定使用CSS动画来增加文本的动态效果。

  • CSS 样式
@keyframes fadeIn {from { opacity: 0; }to { opacity: 1; }
}.highlight {animation: fadeIn 2s ease-in-out; /* 文本淡入效果 */color: #FF5722; /* 使用鲜艳的颜色以吸引注意力 */font-weight: bold; /* 加粗文本以突出显示 */
}

通过简单的 CSS 动画和鲜明的颜色选择,我们可以让特定文本区域成为用户关注的焦点。

通过这些案例,我们可以看到,字体和文本样式在网页设计中扮演着至关重要的角色。它们不仅能够提升网站的整体美感,还能够在传递信息的同时,增强用户的阅读体验。记住,每个字体选择、每个样式调整,都应该服务于你想要讲述的故事和你想要传达的情感。继续实验和探索,让你的网站的“声音”更加悦耳。

在这里插入图片描述


4.3 使用图标和 SVG:网页的表情包

在数字沟通的时代,图标和SVG就像是网页的表情包,能够在不说一句话的情况下传达许多信息。正确使用这些视觉元素不仅能够丰富用户的互动体验,还能有效地引导用户注意力和行为。让我们深入了解如何在你的网页设计中巧妙地应用它们。

4.3.1 基础知识

  • 图标(Icons):图标是简洁的图形,用于表示一个动作、对象或概念。在网页设计中,图标可以帮助用户快速识别功能区域或导航元素。
  • SVG(Scalable Vector Graphics):SVG是一种基于XML的图像格式,用于描述二维矢量图形。SVG图像可以在任何尺寸下无损放大,非常适合网页设计中的图标、图表和其他图形。
  • 优势:与传统的像素图像(如PNG或JPEG)相比,SVG文件通常更小,且可以通过CSS和JavaScript进行样式化和动画处理。

4.3.2 重点案例:为导航菜单添加图标

假设你正在设计一个网站的导航菜单,希望通过添加图标来提高用户的识别速度和互动性。

  • HTML 结构
<nav><ul><li><a href="#"><img src="home-icon.svg" alt="Home">首页</a></li><li><a href="#"><img src="services-icon.svg" alt="Services">服务</a></li><li><a href="#"><img src="contact-icon.svg" alt="Contact">联系我们</a></li></ul>
</nav>

在这个案例中,我们为每个导航项添加了一个SVG图标,使得菜单项更加直观和吸引人。

4.3.3 拓展案例 1:使用 SVG 制作响应式图表

如果你需要在网站上展示一些数据图表,SVG可以帮助你创建可缩放且响应式的解决方案。

  • HTML 结构
<svg width="100%" height="200" viewBox="0 0 100 50"><circle cx="25" cy="25" r="20" fill="blue" /><circle cx="75" cy="25" r="20" fill="red" />
</svg>

这个简单的示例展示了如何使用SVG来创建一个响应式的图表,其中包含两个圆形代表不同的数据点。

4.3.4 拓展案例 2:为按钮添加交互动画

通过给SVG图标添加CSS动画,你可以为网站的按钮或其他元素增加有趣的交互效果。

  • HTML 结构
<button><svg width="20" height="20" viewBox="0 0 20 20"><path d="M0,5 20,5" stroke="#000" stroke-width="2"/><path d="M0,10 20,10" stroke="#000" stroke-width="2"/><path d="M0,15 20,15" stroke="#000" stroke-width="2"/></svg>菜单
</button>
  • CSS 样式
button:hover svg path {stroke: #FF5722;transition: stroke 0.3s ease-in-out;
}

当用户鼠标悬停在按钮上时,SVG图标的颜色会改变,为用户操作提供直观的反馈。

通过这些案例,我们可以看到图标和SVG在网页设计中的强大作用。它们不仅能够提升网站的视觉效果,还能够通过丰富的交互设计来增强用户体验。掌握了这些技巧,你就可以将你的网站变成一个充满活力和信息的视觉盛宴。继续探索和实验吧,让你的网站在视觉和交互上都能够给用户留下深刻印象。

相关文章:

《CSS 简易速速上手小册》第4章:视觉美学(2024 最新版)

文章目录 4.1 颜色理论在 CSS 设计中的应用&#xff1a;网页的调色盘4.1.1 基础知识4.1.2 重点案例&#xff1a;创建一个具有情感设计的登录页面4.1.3 拓展案例 1&#xff1a;使用颜色增强信息的可视化表示4.1.4 拓展案例 2&#xff1a;利用颜色创建网站的品牌身份 4.2 字体与文…...

设计模式浅析

一、设计模式的使用场景 设计模式&#xff08;Design Patterns&#xff09;是在软件开发中经过验证的最佳实践&#xff0c;用于解决常见的设计问题。它们提供了一种可复用的解决方案&#xff0c;可以帮助开发人员提高代码质量、可维护性和可重用性。设计模式的采用通常在以下情…...

Linux环境中的git

目录 1.要使用git&#xff0c;首先要安装git 2.首次使用git需要做的操作 3.git操作 1.要使用git&#xff0c;首先要安装git 指令&#xff1a;sudo yum install -y git 2.首次使用git需要做的操作 在gitee网页&#xff0c;在你的仓库中找到&#xff1a; 先将下面两行代码分别…...

单测的思路

文章目录 单测的定义方法的单测几种生成工具的对比生成步骤 接口的单测场景的单测总结参考 单测的定义 单元测试&#xff08;Unit Testing&#xff09;是一种软件开发中的测试方法&#xff0c;它的主要目的是确保软件中的最小可测试单元&#xff08;通常是函数、方法或类&…...

Linux内核与驱动面试经典“小”问题集锦(6)

接前一篇文章&#xff1a;Linux内核与驱动面试经典“小”问题集锦&#xff08;5&#xff09; 问题8 问&#xff1a;如何判断一个数是否是2的幂次&#xff08;假设最多32位&#xff09;&#xff1f; 备注&#xff1a;此问题是笔者年前参加小米面试时遇到的一个问题&#xff0c…...

【zabbix】(四)-钉钉告警企业微信配置

前提条件&#xff1a; 已经安装了Python3环境&#xff08;脚本需要requests模块&#xff09;。Centos7.x自带Python2&#xff08;不含requests模块&#xff09; 钉钉告警配置 一 安装Python3 参考该优秀文档部署 查看Python的模块&#xff1a;pip list / pip3 list 报错 …...

python-自动化篇-办公-一键将word中的表格提取到excel文件中

文章目录 代码 工作中&#xff0c;经常需要将Word文档中的表格粘贴到Excel文件中&#xff0c;以便汇总及分析。一个一个复制粘贴&#xff0c;非常不方便&#xff0c;还是Python自动化操作&#xff0c;省心省力。要求如下图所示&#xff0c;即将word中的所有表格&#xff0c;转存…...

C#,数值计算,矩阵的行列式(Determinant)、伴随矩阵(Adjoint)与逆矩阵(Inverse)的算法与源代码

本文发布矩阵&#xff08;Matrix&#xff09;的一些初级算法。 一、矩阵的行列式&#xff08;Determinant&#xff09; 矩阵行列式是指矩阵的全部元素构成的行列式&#xff0c;设A(a)是数域P上的一个n阶矩阵&#xff0c;则所有A(a)中的元素组成的行列式称为矩阵A的行列式&…...

人工智能|推荐系统——基于tensorflow的个性化电影推荐系统实战(有前端)

代码下载&#xff1a; 基于tensorflow的个性化电影推荐系统实战(有前端).zip资源-CSDN文库 项目简介&#xff1a; dl_re_web : Web 项目的文件夹re_sys&#xff1a; Web app model&#xff1a;百度云下载之后&#xff0c;把model放到该文件夹下recommend&#xff1a; 网络模型相…...

Hive SQL编译成MapReduce任务的过程

目录 一、架构及组件介绍 1.1 Hive底层架构 1.2 Hive组件 1.3 Hive与Hadoop交互过程 二、Hive SQL 编译成MR任务的流程 2.1 HQL转换为MR源码整体流程介绍 2.2 程序入口—CliDriver 2.3 HQL编译成MR任务的详细过程—Driver 2.3.1 将HQL语句转换成AST抽象语法树 词法、语…...

【C++】快速上手map、multimap、set、multiset

文章目录 一、前言二、set / multiset1. 常见应用2. 核心操作 三、map / multimap1. 常见应用2. 核心操作 一、前言 S T L STL STL 中的关联式容器分为树型结构和哈希结构&#xff0c;树型结构主要有四种&#xff1a; s e t set set、 m u l t i s e t multiset multiset、 m a…...

【分享】图解ADS+JLINK调试ARM

文章是对LPC2148而写的&#xff0c;但是对三星的44B0芯片同样适用&#xff0c;只需要在选择时将相应的CPU选择的S3C44B0就可以了。 JLINK在ADS下调试心得 前两天一个客户用jlink在ADS下调试LPC2148总报错&#xff0c;这个错误我之前在调试LPC2200的时候也碰到过&#xff0c;后…...

反无人机系统技术分析,无人机反制技术理论基础,无人机技术详解

近年来&#xff0c;经过大疆、parrot、3d robotics等公司不断的努力&#xff0c;具有强大功能的消费级无人机价格不断降低&#xff0c;操作简便性不断提高&#xff0c;无人机正快速地从尖端的军用设备转入大众市场&#xff0c;成为普通民众手中的玩具。 然而&#xff0c;随着消…...

Kotlin和Java 单例模式

Java 和Kotlin的单例模式其实很像&#xff0c;只是Kotlin一部分单例可以用对象类和委托lazy来实现 Java /*** 懒汉式&#xff0c;线程不安全*/ class Singleton {private static Singleton instance;private Singleton() {}public static Singleton getInstance() {if (insta…...

软考 系统分析师系列知识点之信息系统战略规划方法(9)

接前一篇文章&#xff1a;软考 系统分析师系列知识点之信息系统战略规划方法&#xff08;8&#xff09; 所属章节&#xff1a; 第7章. 企业信息化战略与实施 第4节. 信息系统战略规划方法 7.4.5 信息工程方法 信息工程&#xff08;Information Engineering&#xff0c;IE&…...

政安晨:示例演绎TensorFlow的官方指南(一){基础知识}

为什么要示例演绎&#xff1f; 既然有了官方指南&#xff0c;咱们在官方指南上看看就可以了&#xff0c;为什么还要写示例演绎的文章呢&#xff1f; 其实对于初步了解TensorFlow的小伙伴们而言&#xff0c;示例演绎才是最重要的。 官方文档已经假定了您已经具备了相当合适的…...

node - 与数据库交互

在Web开发中,与数据库交互是常见的需求,用于持久化存储、检索和操作数据。不同的后端技术和数据库类型(如关系型数据库和非关系型数据库)有着不同的交互方式。下面介绍几种常见的数据库交互方法。 关系型数据库 关系型数据库(如MySQL、PostgreSQL、SQLite)使用结构化查…...

速盾:2024年cdn在5g时代重要吗

在2024年&#xff0c;随着5G技术的普及与应用&#xff0c;内容分发网络&#xff08;Content Delivery Network&#xff0c;CDN&#xff09;在数字化时代中的重要性将进一步巩固和扩大。CDN是一种用于快速、高效地分发网络内容的基础设施&#xff0c;它通过将内容部署在全球各地…...

微信小程序(四十一)wechat-http的使用

注释很详细&#xff0c;直接上代码 上一篇 新增内容&#xff1a; 1.模块下载 2.模块的使用 在终端输入npm install wechat-http 没有安装成功vue的先看之前的一篇 微信小程序&#xff08;二十&#xff09;Vant组件库的配置- 如果按以上的成功配置出现如下报错先输入以下语句 …...

所有设计模式大全及学习链接

文章目录 创建型设计模式结构型设计模式行为型设计模式 创建型设计模式 一种创建对象的设计模式&#xff0c;它们提供了一种灵活的方式来创建对象&#xff0c;同时隐藏了对象的创建细节。以下是常见的创建型设计模式&#xff1a; 工厂方法模式&#xff08;Factory Method Patte…...

深入理解JavaScript设计模式之单例模式

目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式&#xff08;Singleton Pattern&#…...

苍穹外卖--缓存菜品

1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得&#xff0c;如果用户端访问量比较大&#xff0c;数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据&#xff0c;减少数据库查询操作。 缓存逻辑分析&#xff1a; ①每个分类下的菜品保持一份缓存数据…...

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上&#xff0c;所以报错&#xff0c;到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本&#xff0c;cu、torch、cp 的版本一定要对…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在 GPU 上对图像执行 均值漂移滤波&#xff08;Mean Shift Filtering&#xff09;&#xff0c;用于图像分割或平滑处理。 该函数将输入图像中的…...

动态 Web 开发技术入门篇

一、HTTP 协议核心 1.1 HTTP 基础 协议全称 &#xff1a;HyperText Transfer Protocol&#xff08;超文本传输协议&#xff09; 默认端口 &#xff1a;HTTP 使用 80 端口&#xff0c;HTTPS 使用 443 端口。 请求方法 &#xff1a; GET &#xff1a;用于获取资源&#xff0c;…...

现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?

现有的 Redis 分布式锁库&#xff08;如 Redisson&#xff09;相比于开发者自己基于 Redis 命令&#xff08;如 SETNX, EXPIRE, DEL&#xff09;手动实现分布式锁&#xff0c;提供了巨大的便利性和健壮性。主要体现在以下几个方面&#xff1a; 原子性保证 (Atomicity)&#xff…...

Golang——9、反射和文件操作

反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一&#xff1a;使用Read()读取文件2.3、方式二&#xff1a;bufio读取文件2.4、方式三&#xff1a;os.ReadFile读取2.5、写…...

解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist

现象&#xff1a; android studio报错&#xff1a; [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决&#xff1a; 不要动CMakeLists.…...

【Linux手册】探秘系统世界:从用户交互到硬件底层的全链路工作之旅

目录 前言 操作系统与驱动程序 是什么&#xff0c;为什么 怎么做 system call 用户操作接口 总结 前言 日常生活中&#xff0c;我们在使用电子设备时&#xff0c;我们所输入执行的每一条指令最终大多都会作用到硬件上&#xff0c;比如下载一款软件最终会下载到硬盘上&am…...

Linux中《基础IO》详细介绍

目录 理解"文件"狭义理解广义理解文件操作的归类认知系统角度文件类别 回顾C文件接口打开文件写文件读文件稍作修改&#xff0c;实现简单cat命令 输出信息到显示器&#xff0c;你有哪些方法stdin & stdout & stderr打开文件的方式 系统⽂件I/O⼀种传递标志位…...