首页 > web前端 > css教程 > 通过印刷对准和比例改进UI元素的图标

通过印刷对准和比例改进UI元素的图标

Jennifer Aniston
发布: 2025-03-13 09:50:10
原创
279 人浏览过

通过印刷对准和比例改进UI元素的图标

在用户界面元素中使用图标很有帮助。除元素标签外,图标还可以帮助用户向用户增强用户元素的意图。但是我不得不说,在浏览网络时,我注意到一些图标错位。即使图标的对齐正确,图标也通常在元素更改的印刷样式时响应良好。

我注意到了几个现实世界的例子,我想分享我对如何改善它们的想法。我希望这些技术能够帮助其他人建立用户界面元素,以更好地适应印刷变化并维护设计的原始目标。

示例1-网站消息传递

我在流行的媒体网站上找到了这个消息传递示例。图标的位置看起来不太糟糕。但是,当更改字体大小和线条高的某些元素样式属性时,它开始解开。

确定的问题

  • 图标绝对使用相对单元(REM)从左边缘定位
  • 由于图标是从流中取出的,因此给父母赋予较大的左填充价值以帮助整体间距 - 理想情况下,我们的padding-x是均匀的,无论存在是否存在图标,一切看起来都不错
  • rems中的图标(SVG)也大小 - 这不允许调整其父母大小的字体大小

建议

我们希望图标的顶部边缘处于蓝色虚线,但我们经常在红色虚线上找到图标的顶部边缘。

您是否曾经在文本旁边插入一个图标,但它不会与文本的顶部保持一致?您可以将图标移至位置,例如位置:相对;顶部:0.2EM。这效果足够好,但是如果将来的印刷样式变化,您的图标看起来可能不对。

我们可以更可靠地定位图标。让我们使用元素的基线距离(从一线基线到下一行基线的距离)来解决此问题。

基线距离为字体大小 *线高

我们将其存储在CSS自定义属性中:

 -  baselinedistance:calc(var(-fontsize) * var( -  lineHeight));
登录后复制
登录后复制

然后,我们可以使用(基线距离 - 字体大小) / 2的结果向下移动图标。

 -  iConOffset:calc((var( -  baseLinedistance) -  var(-fontsize)) / 2);
登录后复制

字体大小为1REM(16px)和1.5的线路高度,我们的图标将移动4像素。

  • 基线距离= 16px * 1.5 = 24px
  • 图标偏移=(24px - 16px) / 2 = 4px

演示:之前和之后

示例2 - 无序列表

我发现的第二个示例是无序的列表。它通过伪元素之前的A ::使用Web字体(Awesome)为其图标。关于有序和无序列表的造型,有很多很棒的文章,因此我不会详细介绍相对较新的:: Marker Pseudo-Element等。 Web字体通常可以根据所使用的图标与图标对齐方式合作。

确定的问题

  • 没有使用绝对定位 - 当使用伪元素时,我们通常不会使用flexbox,例如我们的第一个示例和绝对定位闪耀
  • 列表项结合了填充和负面文本的组合来帮助布局 - 在考虑多行文本和图标可伸缩性时,我永远无法使其正常工作

建议

因为我们还将在解决方案中使用伪元素,所以我们将利用绝对定位。此示例的图标大小比其相邻副本(约2倍)大一点。因此,我们将改变计算图标最高位置的方式。我们图标的中心应垂直与第一行的中心对齐。

从基线距离计算开始:

 -  baselinedistance:calc(var(-fontsize) * var( -  lineHeight));
登录后复制
登录后复制

使用(基线距离 - 图标大小) / 2的结果向下移动图标。

 -  iConOffset:calc(((var( -  baseLinedistance) -  var(-IconSize)) / 2);
登录后复制

因此,使用1REM(16px)的字体大小,1.6的线路高度和图标大小为2倍,副本(32px),我们的图标将获得-3.2像素的最高值。

  • 基线距离= 16px * 1.6 = 25.6px
  • 图标偏移=(25.6px - 32px) / 2 = -3.2px

较大的字体大小为2REM(32px),线条高为1.2和64px图标,我们的图标将获得-12.8像素的最高值。

  • 基线距离= 32px * 1.2 = 38.4px
  • 图标偏移=(38.4px - 64px) / 2 = -12.8px

演示:之前和之后

结论

对于用户界面图标,我们有很多选项和技术。我们有SVG,Web字体,静态图像,:: Marker和List-Style-Type。人们甚至可以使用背景色和剪贴仪来获得一些有趣的图标结果。执行一些简单的计算可​​以帮助以更优雅的方式对齐和扩展图标,从而实现更具防弹性的实现。

另请参阅:先前关于将图标与文本结盟的讨论。

以上是通过印刷对准和比例改进UI元素的图标的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板