【CSS in Depth 2 精译_044】第七章 响应式设计概述

news/2024/10/3 11:45:44 标签: css, 前端, css3, html5, 响应式设计, 响应式

当前内容所在位置(可进入专栏查看其他译好的章节内容)

  • 第一章 层叠、优先级与继承(已完结)
    • 1.1 层叠
    • 1.2 继承
    • 1.3 特殊值
    • 1.4 简写属性
    • 1.5 CSS 渐进式增强技术
    • 1.6 本章小结
  • 第二章 相对单位(已完结)
    • 2.1 相对单位的威力
    • 2.2 em 与 rem
    • 2.3 告别像素思维
    • 2.4 视口的相对单位
    • 2.5 无单位的数值与行高
    • 2.6 自定义属性
    • 2.7 本章小结
  • 第三章 文档流与盒模型(已完结)
    • 3.1 常规文档流
    • 3.2 盒模型
    • 3.3 元素的高度
    • 3.4 负的外边距
    • 3.5 外边距折叠
    • 3.6 容器内的元素间距问题
    • 3.7 本章小结
  • 第四章 Flexbox 布局(已完结)
    • 4.1 Flexbox 布局原理
    • 4.2 弹性子元素的大小
    • 4.3 弹性布局的方向
    • 4.4 对齐、间距等细节处
    • 4.5 本章小结
  • 第五章 网格布局(已完结)
    • 5.1 构建基础网格
    • 5.2 网格结构剖析 (上)
      • 5.2.1 网格线的编号(下)
      • 5.2.2 网格与 Flexbox 配合(下)
    • 5.3 两种替代语法
      • 5.3.1 命名网格线
      • 5.3.2 命名网格区域
    • 5.4 显式网格与隐式网格(上)
      • 5.4.1 添加变化 (中)
      • 5.4.2 让网格元素填满网格轨道(下)
    • 5.5 子网格(全新增补内容)
    • 5.6 对齐相关的属性
    • 5.7 本章小结
  • 第六章 定位与堆叠上下文(已完结)
    • 6.1 固定定位
      • 6.1.1 创建一个固定定位的模态对话框
      • 6.1.2 在模态对话框打开时防止屏幕滚动
      • 6.1.3 控制定位元素的大小
    • 6.2 绝对定位
      • 6.2.1 关闭按钮的绝对定位
      • 6.2.2 伪元素的定位问题
    • 6.3 相对定位
      • 6.3.1 创建下拉菜单(上)
      • 6.3.2 创建 CSS 三角形(下)
    • 6.4 堆叠上下文与 z-index
      • 6.4.1 理解渲染过程与堆叠顺序(上)
      • 6.4.2 用 z-index 控制堆叠顺序(上)
      • 6.4.3 深入理解堆叠上下文(下)
    • 6.5 粘性定位
    • 6.6 本章小结
  • 【第七章 响应式设计>响应式设计】(概述) ✔️​
    • 7.1 移动端优先设计原则(精译中 ⏳)
    • 7.2 媒体查询

文章目录

《CSS in Depth》新版封面

《CSS in Depth》新版封面

译者按
继上一章学完 CSS 定位与堆叠上下文相关的知识后,本章来到全书第二篇(涵盖第 4 ~ 7 章内容)的最后一章——响应式设计>响应式设计。由于篇幅原因,开篇概述并没有和 7.1 节合并到一起。下一篇将重点展开响应式设计>响应式设计三大原则的第一大原则:移动端优先设计原则。本节先来看看响应式设计>响应式设计的相关背景知识,也算是给大家预热预热。前面知识点还有薄弱环节的,也可以利用我上面给出的各章节完整目录,对照梳理一下,及时查漏补缺。一切准备就绪后,就随我一起向第 7 章发起冲锋吧!

第七章 响应式设计>响应式设计 Responsive design

本章概要

  • 基于多种设备及屏幕尺寸构建页面
  • 用媒体查询,根据视口大小来变更设计
  • 采用移动端优先的方式(mobile-first approach)来设计页面样式
  • 使用响应式图片(responsive images)

现代社会中,网络(Web)无处不在:上班用台式机上网,回家躺床上用平板电脑上网,甚至连客厅里的智能电视都能联网,更别说随身携带的智能手机了。这个由 HTML、CSS 和 JavaScript 搭建的 Web 平台,俨然成为了一个前所未有的独特生态系统。

这也给 Web 开发人员带来一个颇有挑战的问题:网站究竟该如何设计,才能让用户在可能用到的各种设备上访问页面时,做到既好用又好看呢?起初,不少开发人员的解决方案是同时搭建两个网站:桌面端(译注:即 PC 端)和移动端。服务器会将来自移动端设备的网络请求,从原来的 http://www.wombatcoffee.com 重定向到 http://m.wombatcoffee.com。该移动端站点往往会针对尺寸较小的屏幕提供更简约的用户体验,设计上也更精简。

随着越来越多的上网设备在市面上不断涌现,这种解决方案的好日子也基本到头了:平板设备该用移动端还是桌面端呢?主打一个大屏的手机又该如何是好?换成 iPad Mini 情况又如何?要是移动端用户偏要用桌面端的某些功能怎么办?最终,这种将 PC 端和移动端强行剥离的方案所带来的麻烦远比它能解决的问题多得多。除此之外,还需要同时维护多个站点。

一种更为理想的方案,是给所有用户提供同一套 HTML 和 CSS:通过应用几个关键技术,网页内容就能根据用户实际的浏览器视口尺寸(或者屏幕分辨率)渲染出不同的页面效果。这样就无需维护两个不同的站点了,创建一次,就能同时在智能手机、平板电脑、或者其他任意智能设备上流畅运行。这种页面设计方案由 Web 设计师 Ethan Marcotte 发扬光大,并称之为 响应式设计>响应式设计(responsive design

浏览网页时,不妨留意一下您遇到的响应式设计>响应式设计,看看那个网站是如何响应浏览器的不同宽度的。新闻类的网站特别有意思,它们往往要将很多内容塞进同一个页面。撰写本书时,波士顿环球报的官网 https://www.bostonglobe.com/ 就是个绝佳案例。该网站能够根据浏览器窗口宽度的不同分别提供单栏、双栏或三栏布局。通常只要缩放浏览器窗口的宽度,就可以直接查看页面最终响应的布局效果。这便是响应式设计>响应式设计的工作方式。

响应式设计>响应式设计的三大原则如下:

  • 移动端优先(A mobile-first approach to design)设计:这意味着移动端的布局规划要先于桌面端。
  • @media 规则(The @mdeia at-rule :这套样式规则可以为不同尺寸的视口定制特定的样式。该语法通常被称为 媒体查询(media queries,其声明的样式仅在满足特定的条件下才会生效。
  • 应用流式布局(The use of fluid layouts:该布局可以根据视口宽度调整页面容器的大小。

之前在介绍第二章相关内容时提到过上述部分设计原则。本章将针对这三个核心原则进行更深入地探讨。先从一个响应式页面的构建开始,然后逐步展开介绍这三个原则。因为图片在响应式网站中的处理比较特殊,最后还会专门介绍一些响应式图片相关的知识。

DIY 补充:考察波士顿环球报的官网响应式设计>响应式设计

作为本节概述的补充,同时也为了方便大家对文中提到的单栏、双栏、三栏布局有一个直观的认识,特地到该网站去看了一下,确实做得非常精美:

补图 1 《波士顿环球报》官网单栏布局实测效果截图

【补图 1 《波士顿环球报》官网单栏布局实测效果截图】


补图 2 《波士顿环球报》官网双栏布局实测效果截图

【补图 2 《波士顿环球报》官网双栏布局实测效果截图】


补图 3 《波士顿环球报》官网三栏布局实测效果截图

【补图 3 《波士顿环球报》官网三栏布局实测效果截图】



关于《CSS in Depth》(中译本书名《深入解析 CSS》)

第 1 版第 2 版
读者评分原版:4.7(亚马逊);中文版:9.3(豆瓣)原版:5.0(亚马逊);中文版:暂无,待出版
出版时间原版:2018 年 3 月;中文版:2020 年 4 月原版:2024 年 7 月;中文版:暂无,待出版
原价原版:$44.99;中文版:¥139.00原版:$59.99;中文版:暂无,待出版
现价原版:$36.49;中文版:¥52.54 起步原版:$52.09;中文版:暂无,待出版
原版国内预订起步价 ¥461.00起步价 ¥750.00

本专栏为该书第 2 版高分译文专栏,全网首发,精译精校,持续更新,计划今年内完成全书翻译,敬请期待!!!


http://www.niftyadmin.cn/n/5688296.html

相关文章

LLM Visualization

Brendan Bycroft的网站,提供了交互式的可视化工具,展示了大型语言模型(LLMs)的内部机制 通过这个 链接 https://bbycroft.net/llm 访问 借助这个交互可视化,能够加深对模型结构和行为的了解

leetcode每日一题day22(24.10.2)——准时到达的列车最小时速

思路:这种在有约束条件情况下,求最值或最符合要求的情况,首先是很容易想到,从时速为1开始往后找找到满足条件就输出,但这无疑工程量很大,每种可能的速度都要对列车数组进行遍历, 时间复杂度为C…

深度学习:cGAN和pix2pix图像转换

cGAN和pix2pix的基础概念 cGAN cGAN是条件生成对抗网络(Conditional Generative Adversarial Networks)的简称。 它是一种基于基础GAN(Generative Adversarial Networks)架构的变体,通过给GAN模型引入额外的信息或条…

互联网前后端分离的开发场景,一般会员和数据权限的判断是放在前端还是后端?

推荐学习文档 golang应用级os框架,欢迎stargolang应用级os框架使用案例,欢迎star案例:基于golang开发的一款超有个性的旅游计划app经历golang实战大纲golang优秀开发常用开源库汇总想学习更多golang知识,这里有免费的golang学习笔…

使用Charles进行Mock数据:高效提升前端交互测试效率

在前端开发和测试过程中,我们时常会遇到依赖外部系统HTTP接口的情况。然而,由于外部系统未部署、服务不可用或其他原因,接口无法正常响应,这给我们的测试工作带来了很大的困扰。特别是在QA环境中,这种情况尤为常见。为…

【分布式微服务云原生】如何在ActiveMQ中优雅处理提前支付的延时订单

摘要 本文将深入探讨在ActiveMQ中如何处理用户提前支付的延时订单问题。我们将介绍如何通过更新订单状态、检查延迟任务、取消延迟消息、使用死信队列、消息选择性消费、设置合理的超时时间以及及时反馈和日志记录等策略,来确保系统的一致性和及时响应用户操作。文…

C/C++语言基础--C++IO流、输入输出流、文件流、字符串流、重定向流等详解

本专栏目的 更新C/C的基础语法,包括C的一些新特性 前言 流思想,我认为在计算机中是一个很重要的思想,因为计算机、编程无非就是获取数据,然后对数据进行操作;C给主要给我们提供了3种流,输入输出流、文件流…

vue3项目el-table表格行内编辑加输入框校验

核心点 1. el-form的model属性需要跟el-form-item的prop要对应 2. el-form的model属性绑定tableData 3. el-form-item的prop绑定字符串&#xff1a;scope.index.列名&#xff08;注意有个点&#xff09; 4. el-form-item需要单独设置rules属性 代码示例 <el-form :mod…