
采用流体排版(Fluid Typography)意味着创建能适应各种屏幕尺寸的文字。随着技术的不断进步,各种形状和尺寸的设备层出不穷。作为一名前端开发人员,您必须创建能很好地适应各种屏幕尺寸的应用程序。流体排版设计将改善用户体验和可访问性,本文将告诉你如何做到这一点。
使文本响应的老式 *** 是使用媒体查询。这是指针对不同的屏幕尺寸设置不同的断点。为每个断点指定一个特定的字体大小值。
下面的代码中有一个 h1 标题和一个段落。
<h1>Open Replay Blogger</h1> <p> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eleifend, purus non bibendum SOLlicitudin. Neque dolor accumsan ligula, at tristique elit turpis eget tortor. Quisque interdum sapien vel mi lacinia laoreet. Vestibulum aliquam fringilla urna, ac condimentum justo suscipit id. Praesent ac sem eu ipsum volutpat feugiat. Proin suscipit ex sit amet viverra. Fusce in justo vitae tortor placerat tincidunt. </p>
下面的 CSS 代码示例显示了三个断点的媒体查询。
/* Default styles */
h1 {
text-align: center;
width: 500px;
margin: 20px auto;
}
p {
text-align: justify;
width: 350px;
margin: 20px auto;
}
/* Media queries to create responsive text */
@media screen and (max-width: 600px) {
h1 {
font-size: 22px;
}
p {
font-size: 14px;
}
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
h1 {
font-size: 36px;
}
p {
font-size: 20px;
}
}
@media screen and (min-width: 1025px) {
h1 {
font-size: 72px;
}
p {
font-size: 36px;
}
}

在上图中,您可以看到不同屏幕尺寸下的不同字体大小。
使用媒体查询可在一定程度上使文本具有响应性。但它仍有一些局限性。
如今,前端开发人员有了创建流体文本的新 *** 。其中两种 *** 是使用视口单位( vw 和 vh )和 CSS clamp() 函数。
您将了解如何使用这两种 *** 。以及为什么一种 *** 比另一种 *** 更好。但在此之前,让我们先来考虑一下让类型流体化的一些优势。
以下是实施流体排版不仅有利于最终用户,而且有利于开发人员的一些原因。
视口单位( vw 表示视口宽度, vh 表示视口高度)是实现流体排版的一种简单 *** 。使用视口单位时,可以根据浏览器的视口设置字体大小。浏览器的视口是浏览器在用户设备上覆盖的屏幕区域。
下面是一个使用视口宽度的演示。让我们使用之一个示例中相同的 h1 标题和段落。
下面的 CSS 代码显示了使用视口宽度添加字体大小值的过程。
h1 {
font-size: 10vw;
}
p {
font-size: 3vw;
}

如图所示,通过 viewport width,您可以创建随宽度变化而平滑缩放的文本。而这只需要几行代码。
这似乎是你应该一直使用的理想解决方案,对吗?其实不然。原因就在这里。
由于 vw 单位基于视口宽度,因此可能导致文本过小或过大。在很小或很窄的屏幕上,文字可能会变得太小,无法舒适地阅读。另一方面,对于使用超宽屏幕的用户来说,文本可能会变得过大。这也会造成布局问题。
有一种更好的 *** 可以解决这些潜在问题。那就是使用 CSS Clamp() 函数。
CSS clamp() 函数可让你设置字体大小值,以适应各种屏幕尺寸。它还允许你设置最小和更大字体大小值。
这意味着使用 clamp() 函数时,可以防止文字变得过小或过大。这有助于在响应性和可读性之间取得平衡。并创造更好的用户体验。
clamp() 函数取三个值。
.text {
font-size: clamp(min-value, pref-value, max-value);
}
min-value 是最小字体大小值。pref-value 是首选的字体大小值。max-value 是更大字体大小值。下面我们来看一个使用 clamp() 函数设置字体大小的示例。
p {
font-size: clamp(26px, 5vw, 52px);
}
这里的首选值是 5vw(视口宽度的 5%)。
但考虑到视口宽度为 400px 的情况。这意味着 5vw(400px 的 5%)是 20px。在这种情况下,5vw 的首选字体大小就是 20px。但浏览器会将字体大小设置为 26px,即最小值。
您设置的最小值和更大值就是边界。请确保字体大小值不小于指定的最小值,或大于指定的更大值。或大于指定的更大值。
上面的示例提供了以像素为单位的最小值和更大值。但一般认为更佳做法是使用相对单位,如 rem 。
相对单位(如 rem )会根据用户的偏好作出反应。如果用户改变了浏览器的默认字体大小,文本也会随之改变。
下面我们来看一个例子。
h1 {
font-size: clamp(3rem, 7vw + 1rem, 5rem);
}
p {
font-size: clamp(0.5rem, 2vw + 1rem, 4rem);
}

注:为首选值添加 rem 值可确保它响应用户的首选。
有时,为各种字体级别确定首选值以及最小和更大字体大小是一项挑战。你可以花时间反复试验。或者,你也可以利用这些工具为你的字体创建一个流体比例。
以下是在应用程序中实施流体排版时需要考虑的一些更佳实践。
clamp() 函数。在撰写本文时,为 94%。但您仍可以为可能不支持 clamp 的浏览器添加回退值。这将有助于提高应用程序的可访问性。在本文中,您已经了解了使文字适应不同屏幕尺寸的各种 *** 。在应用程序中实施流体排版将使其更易于访问。CSS clamp() 函数可以让你摆脱僵化的媒体查询。这不仅能改善用户体验,还能让开发人员轻松维护代码。
扫描二维码推送至手机访问。
版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。
谁在尝试访问某些网站时没有遇到过更新Java的请求? 虽然许多人通过交互式网站功能熟悉Java,但用户可能不太熟悉JavaScript——或者,实际上,他们可能错误地认为两者是相同的。 在本文中,我们将讨论JavaScript 是什么以及Java和JavaScript之间的区别。然后我们将概...
宝塔面板的计划任务,主要用于安排和管理需要定时执行的任务,如备份、内存清理等。其实对于大部分站长来说,主要使用该板块的备份网站、备份数据库及释放内存的三个定时任务计划。 Shell脚本的添加 输入任务名称,选择执行周期,输入执行的脚本内容。 注意事项: 输入脚本内容...
由于市场上有各种可用的数据库,用户经常会就MongoDB与MySQL进行辩论,以找出更好的选择。 使用MySQL等关系数据库的组织在根据不断变化的需求管理和存储数据时可能会面临一定的困难。同时,新公司想知道选择什么数据库,这样他们就不会在开发过程中遇到问题。 同时,构建金融应用程序的开发人员...
Laravel多年来一直是PHP应用程序开发的摇滚明星,这是有充分理由的。庞大的生态系统、活跃的社区、强大的就业市场、成功的初创公司——它拥有一切让采用新技术变得值得的东西。 如果你想学习Laravel,你不需要更进一步。通过浏览本指南,您可以找到最适合您的Laravel教程,与您的知识水平和...
想成为一名网络开发人员或好奇工作的哪些子类型的薪水最高?Web开发是一个竞争激烈、多样化的行业,随着新语言和框架的出现而不断发展。 询问Web开发人员的薪水是一个难以解决的问题(尽管我们尝试)。有太多的因素需要考虑。 无论您是自由开发者还是有兴趣从事更传统的工作、喜欢前端或后端工作,或者想知...
PHP开发:有些人认为它是,另一些人认为它是一种过时的技术,不值得花时间学习。但是这些数字说明了什么,尤其是当您查看PHP开发人员的薪水时? 虽然肯定有许多更新、更炫、更令人兴奋的语言,但PHP仍然是后端Web开发的可靠主食,也是许多雇主仍在寻找的技能。 有兴趣自己成为PHP开发人员吗?我们...