《响应式Web设计:HTML5和CSS3实践指南》——2.11节基于相对字体大小的按钮

简介:

本节书摘来自华章社区《响应式Web设计:HTML5和CSS3实践指南》一书中的第2章,第2.11节基于相对字体大小的按钮,作者(美) Benjamin LaGrone,更多章节内容可以访问云栖社区“华章社区”公众号查看

2.11 基于相对字体大小的按钮
在一些场景下,响应式的按钮字体也是必需的。网站的移动版就是很好的例子。当在iPhone中查看一个常规按钮时,往往发现其太小而不易点击。结果就是,对移动设备的疏忽,带给使用移动设备的用户非常糟糕的用户体验。

2.11.1 准备工作
本节中所介绍的方法是使用新的字体尺寸单位REM。通过本方法,使用移动设备访问的用户能够看到更大的响应式的按钮字体。
REM是CSS3引入的新字体尺寸单位。是Root EM的简写,意即相对于根元素的字体大小。而EM是相对于父元素的字体大小,因此二者是有区别的。一种使用场景是在某些元素中使用REM,让其获得相对于整个body基本字体大小的值。

2.11.2 实现方式
该方法通过@media查询的方式为桌面设备及移动设备构建响应式的按钮。下面就是具体的实现步骤。
首先创建一个简单的HTML页面,含有一些基本占位符的文本信息(http://lipsum.com)和一个submit类型的input。


a1a0738898e76cddc84e5b7d4d099e4a0bb6d700

下一步需要创建@media查询,以期适应移动设备及两个不同大小的桌面设备窗口。在此为桌面设备添加额外的@media查询的目的在于,即使无法访问移动设备,也能立即观察到响应式的效果。
为大小为1024px和1280px的桌面设备建立@media查询,同样为移动设备设置两个@media查询,均为max-device-width: 480px,但是为了适应横竖屏,其中一个为orientation:landscape,另一个为orientation:portrait。


3a1a294da71bfcb84785ffda688838669bff890b


3ac18850b6acd3f97bd728687e7cfe66fba0cd49

现在如果通过移动设备查看该页面,就能发现REM字体大小单位如何相对于设置的基本字体创建新的字体。在移动设备上,可能会出现字体太小而很难辨识,同时按钮又太小而不易使用的情况。将你的移动设备从竖屏转换为横屏,马上就能发现按钮及其字体大小发生了变化。
对比移动设备版本和桌面设备版本的实现,会发现在每一个不同的设备下面,按钮的属性值均有所区别。如果将桌面设备浏览器窗口在1024px和1280px之间缩放的时候,同样会发现按钮的字体有所变化。

2.11.3 工作原理
字体大小单位REM创建了一个字体大小,该字体大小是相对于在HTML或body元素中的已经声明的基本字体大小而言的,如果未声明基本字体大小,则是相对于内建字体大小的。而通过@media查询的方式则能在不同设备和不同方向下给出实现相对字体大小的解决方案。

相关文章
|
16天前
|
编解码 前端开发 JavaScript
构建高效响应式Web界面:现代前端框架的比较
【4月更文挑战第9天】在移动设备和多样屏幕尺寸盛行的时代,构建能够适应不同视口的响应式Web界面变得至关重要。本文深入探讨了几种流行的前端框架——Bootstrap、Foundation和Tailwind CSS,分析它们在创建响应式设计中的优势与局限。通过对比这些框架的栅格系统、组件库和定制化能力,开发者可以更好地理解如何选择合适的工具来优化前端开发流程,并最终实现高性能、跨平台兼容的用户界面。
|
1月前
|
前端开发 开发者 UED
构建响应式Web界面:Flexbox的力量
【2月更文挑战第25天】 在现代网页设计中,创建能够适应不同屏幕尺寸的布局是至关重要的。Flexbox,一种CSS布局模式,提供了强大的工具来轻松地设计和调整灵活的响应式界面。本文将深入探讨Flexbox的核心概念,并通过实例展示如何使用它来构建美观、灵活且易于维护的响应式Web界面。
|
10天前
|
前端开发 搜索推荐 数据安全/隐私保护
HTML标签详解 HTML5+CSS3+移动web 前端开发入门笔记(四)
HTML标签详解 HTML5+CSS3+移动web 前端开发入门笔记(四)
18 1
|
10天前
|
PHP
web简易开发——通过php与HTML+css+mysql实现用户的登录,注册
web简易开发——通过php与HTML+css+mysql实现用户的登录,注册
|
22天前
|
编解码 前端开发 开发者
构建响应式Web界面:Flexbox与Grid布局的深度对比
【4月更文挑战第4天】 在现代前端开发中,构建灵活且响应式的用户界面是至关重要的。随着移动设备浏览量的增加,能够适应不同屏幕尺寸和分辨率的布局技术变得必不可少。Flexbox和Grid是CSS提供的两种强大的布局机制,它们各自以独特的方式解决了响应式设计的挑战。本文将深入探讨Flexbox和Grid的核心概念、使用场景和性能考量,为开发者提供在面对不同布局需求时做出明智选择的依据。
|
28天前
|
移动开发 监控 数据可视化
组态软件之万维组态介绍(web组态、html组态、vue2/vue3组态)
组态软件之万维组态、web组态、html组态、vue2/vue3组态,组态在工业自动化领域越来越重要,但由于市面上组态软件费用昂贵、集成复杂,使用技术门槛高,万维组态就应运而生;万维组态是一款功能强大的基于Web的可视化组态编辑器,采用标准HTML5技术,使用Vue2和Vue3语言,基于B/S架构进行开发,支持WEB端显示;支持快速集成,集成简单方便;支持在浏览器端完成便捷的人机交互,简单的拖拽即可完成可视化页面的设计;可快速构建和部署可扩展的SCADA、HMI、仪表板或LoT系统;
组态软件之万维组态介绍(web组态、html组态、vue2/vue3组态)
|
1月前
|
移动开发 前端开发 HTML5
Web前端全栈HTML5通向大神之路
本套课程共三大阶段,六大部分,是WEB前端、混合开发与全栈开发必须要掌握的技能,从基础到实践,是从编程小白成长为全栈大神的最佳教程!
46 3
Web前端全栈HTML5通向大神之路
|
1月前
|
编解码 前端开发 开发者
构建响应式Web界面:Flexbox的力量
【2月更文挑战第28天】 在现代网页设计中,创建能在不同设备上保持一致性和功能性的响应式界面是至关重要的。Flexbox,一个CSS布局模块,为前端开发者提供了强大工具来轻松实现灵活的布局设计。本文将深入探讨Flexbox的核心概念、使用场景以及如何通过它来优化响应式设计流程。
|
1月前
|
前端开发 开发者 UED
构建响应式Web界面:Flexbox与Grid布局的深度解析
【2月更文挑战第28天】 在现代前端开发中,打造灵活且适应不同屏幕尺寸的用户界面是至关重要的。随着移动设备的普及,响应式设计已经成为网页制作不可或缺的一部分。本文将深入探讨两种强大的CSS布局模块——Flexbox和Grid,它们如何简化布局创建过程,并赋予设计师更大的灵活性去构建动态和流畅的响应式界面。通过对这两种技术的比较、使用场景分析以及代码示例,读者将能够更好地理解何时以及如何使用这些工具来提升前端项目的质量和效率。
16 0
|
1月前
|
编解码 前端开发 开发者
构建响应式Web界面:Flexbox布局的全面指南
【2月更文挑战第28天】 在当今多变的设备屏幕尺寸和分辨率中,创建一个能够适应不同视口的响应式Web界面至关重要。本文深入探讨了CSS Flexbox布局模块,它是一种设计灵活且强大的方式来创建复杂的响应式布局。我们将透过概念解析、关键属性讲解以及实际案例分析,帮助前端开发者掌握Flexbox的核心原理和应用技巧,以实现流畅的页面布局调整和优化用户体验。