CSS - 基于相对字体大小的按钮

简介: CSS - 基于相对字体大小的按钮

前言

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

准备工作

本节中所介绍的方法是使用新的字体尺寸单位REM。通过本方法,使用移动设备访问的用户能够看到更大的响应式的按钮字体。

REM是CSS3引入的新字体尺寸单位。是Root EM的简写,意即相对于根元素的字体大小。而EM是相对于父元素的字体大小,因此二者是有区别的。一种使用场景是在某些元素中使用REM,让其获得相对于整个body基本字体大小的值。

实现方式

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

接着为刚才的HTML页面元素添加CSS属性,基本字体设置为62.5%,同时为文本信息设置一个静态的字体大小,以此作为该方法的参照。

下一步需要创建@media查询,以期适应移动设备及两个不同大小的桌面设备窗口。在此为桌面设备添加额外的@media查询的目的在于,即使无法访问移动设备,也能立即观察到响应式的效果。

为大小为1024px和1280px的桌面设备建立@media查询,同样为移动设备设置两个@media查询,均为max-device-width:480px,但是为了适应横竖屏,其中一个为orientation:landscape,另一个为orientation:portrait。

在桌面设备的两个@media查询中,都添加一个input元素;对于min-width:1024px的查询设置为font-size:1rem,而对于min-width:1280px的查询则为font-size:2rem。为这两个查询添加属性width:84px;和padding:2%。

在为移动设备设置的@media查询中,同样都添加一个input元素。在orientation:landscape的查询中,设置属性font-size:2rem;及width:25%;,而对于orientation:portrait,该属性值则为font-size:2.4rem;和width:30%;。

现在如果通过移动设备查看该页面,就能发现REM字体大小单位如何相对于设置的基本字体创建新的字体。在移动设备上,可能会出现字体太小而很难辨识,同时按钮又太小而不易使用的情况。将你的移动设备从竖屏转换为横屏,马上就能发现按钮及其字体大小发生了变化。

对比移动设备版本和桌面设备版本的实现,会发现在每一个不同的设备下面,按钮的属性值均有所区别。如果将桌面设备浏览器窗口在1024px和1280px之间缩放的时候,同样会发现按钮的字体有所变化。

工作原理

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

目录
相关文章
|
1月前
|
前端开发
css 设置背景色渐变、字体颜色渐变
css 设置背景色渐变、字体颜色渐变
|
1月前
|
存储 前端开发 安全
详解CSS之Web 字体
详解CSS之Web 字体
22 4
|
2月前
|
前端开发
【前端web入门第三天】02 CSS字体和文本
本文详细介绍了CSS中字体和文本的相关属性。字体部分涵盖字体大小、粗细、样式、行高、字体族及`font`复合属性,通过具体示例展示了如何设置和使用这些属性。文本部分则讲解了文本缩进、对齐方式、修饰线及文字颜色等属性,并提供了实用的代码示例。此外,还简要介绍了调试工具中的一些细节,如错误属性标识和属性生效状态的控制。
64 28
|
3月前
|
前端开发 UED
设计新潮流:CSS动画毛玻璃按钮,展开效果引人入胜!
设计新潮流:CSS动画毛玻璃按钮,展开效果引人入胜!
|
3月前
|
前端开发 搜索推荐 容器
创意按钮,触手可及:CSS不规则形状效果揭秘!
创意按钮,触手可及:CSS不规则形状效果揭秘!
|
3月前
|
前端开发 Ubuntu Linux
CSS 系统字体堆栈参考
CSS 系统字体堆栈参考
31 0
|
3月前
|
缓存 前端开发 Linux
如何使用 @font-face 和 font-display 在 CSS 中定义自定义字体
如何使用 @font-face 和 font-display 在 CSS 中定义自定义字体
79 0
|
3月前
|
前端开发
css来实现一个好玩的按钮
这段代码实现了一个具有独特悬停效果的按钮。通过定义按钮及其`:after`伪元素,并设置初始状态下的透明度和尺寸,当鼠标悬停在按钮上时,背景色平滑过渡至另一种颜色,产生视觉上的动态扩展效果。为避免覆盖文字,特地调整了伪元素的层级,确保交互过程中文字始终可见。整体效果流畅自然,增强了用户界面的互动性与美观度。
56 0
|
4月前
|
前端开发
css特效——纯css绘制图标:带框的加号(添加按钮)、三横(三道杠)、带圈点(双层圆点)
css特效——纯css绘制图标:带框的加号(添加按钮)、三横(三道杠)、带圈点(双层圆点)
105 5
|
5月前
|
Web App开发 前端开发 Windows
CSS基础常用属性之字体属性(如果想知道CSS的字体属性知识点,那么只看这一篇就足够了!)
CSS基础常用属性之字体属性(如果想知道CSS的字体属性知识点,那么只看这一篇就足够了!)

热门文章

最新文章