《响应式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查询的方式则能在不同设备和不同方向下给出实现相对字体大小的解决方案。

相关文章
|
4月前
|
前端开发 JavaScript UED
在数字化时代,Web 应用性能优化尤为重要。本文探讨了CSS与HTML在提升Web性能中的关键作用及未来趋势
在数字化时代,Web 应用性能优化尤为重要。本文探讨了CSS与HTML在提升Web性能中的关键作用及未来趋势,包括样式表优化、DOM操作减少、图像优化等技术,并分析了电商网站的具体案例,强调了技术演进对Web性能的深远影响。
65 5
|
4月前
|
前端开发 JavaScript 搜索推荐
HTML与CSS在Web组件化中的核心作用及前端技术趋势
本文探讨了HTML与CSS在Web组件化中的核心作用及前端技术趋势。从结构定义、语义化到样式封装与布局控制,两者不仅提升了代码复用率和可维护性,还通过响应式设计、动态样式等技术增强了用户体验。面对兼容性、代码复杂度等挑战,文章提出了相应的解决策略,强调了持续创新的重要性,旨在构建高效、灵活的Web应用。
73 6
|
4月前
|
移动开发 开发者 HTML5
构建响应式Web界面:Flexbox与Grid的实战应用
【10月更文挑战第22天】随着互联网的普及,用户对Web界面的要求越来越高,不仅需要美观,还要具备良好的响应性和兼容性。为了满足这些需求,Web开发者需要掌握一些高级的布局技术。Flexbox和Grid是现代Web布局的两大法宝,它们分别由CSS3和HTML5引入,能够帮助开发者构建出更加灵活和易于维护的响应式Web界面。本文将深入探讨Flexbox和Grid的实战应用,并通过具体实例来展示它们在构建响应式Web界面中的强大能力。
73 3
|
5月前
|
存储 前端开发 JavaScript
CSS:现代Web设计的不同技术
【10月更文挑战第11天】 CSS:现代Web设计的不同技术
|
5月前
|
移动开发 前端开发 JavaScript
HTML与现代Web开发的不同技术
【10月更文挑战第11天】HTML与现代Web开发的不同技术
60 0
|
5月前
|
前端开发 开发者 容器
构建响应式Web界面:Flexbox与Grid布局的深度解析
【10月更文挑战第11天】本文深入解析了CSS3中的Flexbox和Grid布局,探讨了它们的特点、应用场景及使用方法。Flexbox适用于一维布局,如导航栏;Grid布局则适用于二维布局,如复杂网格。通过示例代码和核心属性介绍,帮助开发者灵活构建响应式Web界面。
90 5
|
5月前
|
JavaScript 前端开发 网络架构
如何使用Vue.js构建响应式Web应用
【10月更文挑战第9天】如何使用Vue.js构建响应式Web应用
|
5月前
|
JavaScript 前端开发
如何使用Vue.js构建响应式Web应用程序
【10月更文挑战第9天】如何使用Vue.js构建响应式Web应用程序
|
5月前
|
前端开发 JavaScript 测试技术
构建响应式Web应用程序:React实战指南
【10月更文挑战第9天】构建响应式Web应用程序:React实战指南
|
5月前
|
编解码 前端开发 JavaScript
使用 CSS 打印样式为 Web 页面设置专业的打印机效果
使用 CSS 打印样式为 Web 页面设置专业的打印机效果
123 2

热门文章

最新文章