【问题标题】:Can't set data-icon alignment and padding无法设置数据图标对齐和填充
【发布时间】:2016-08-17 11:09:54
【问题描述】:

我从 Fontastic 下载了一个符号,并将其添加到我的 html 中

<a href="#">SHOW MORE NEWS <span aria-hidden="true" data-icon="a"></span></a>

问题是符号是 18px x 20px。它在 &lt;a&gt; 元素中添加了不需要的空间,我无法添加填充或将其与文本对齐。

我该怎么做?

【问题讨论】:

  • 你有例子吗? JSFiddle、Codepen 等
  • 在这里,jsfiddle.net/q0pjj0jb,但我无法使符号工作。我已经添加了字体文件和 css,你能帮帮我吗?

标签: html css fonts symbols webfonts


【解决方案1】:

最简单的方法可能是绝对定位您的图标,这样它就会脱离流程并且不再影响父级a。像这样的东西应该可以解决问题:

[data-icon="a"] {
  position: absolute; 
  left: 100%;
  bottom: 0;
}
a {
  position: relative;
}

你可能想使用一些不同的选择器,但你明白了......

我设置了一个小小提琴来演示:https://jsfiddle.net/1wsuc7ns/

更新: 您评论说您只看到符号的一部分。这有点奇怪,因为上面的代码不应该以任何方式影响符号的大小。也许这里还有其他一些 css 在起作用。首先想到的是a 上的overflow:hidden;。试试下面的代码:

[data-icon="a"] {
  position: absolute; 
  right: 0;
  bottom: 0;
}
a {
  position: relative;
  padding-right: 20px;
}

所以我在a 标记内为图标添加了一些额外的空间(您可能需要稍微调整一下数字)并更改位置以将符号保留在a 内。

另一个问题可能是符号覆盖了某些东西。您可以尝试在符号中添加一个相当高的z-index,看看是否可以解决问题。

如果不查看实际呈现的页面,我只能说更多......

【讨论】:

  • 感谢回复,但我只能看到一半的符号。如果你有机会看到我的小提琴,下载字体文件并在本地运行它,你会发现问题
  • 看看更新。也许您可以分享“一半符号”的意思的屏幕截图,或者甚至在某个地方设置一个演示来重现该问题。
  • 对不起,我看不到它,因为白色背景上的白色。真正的问题是data-icon 元素在父元素之外。如果我向父级&lt;a&gt; 添加背景颜色,它将不会应用于data-icon。即使我将它们包装在带有背景色的&lt;div&gt; 中。你可以很容易地在你的 jsfiddle 中看到问题:看看它在哪里结束 background-color 属性
  • 而且.. 如果我想对齐它怎么办?我尝试了垂直对齐但没有成功
猜你喜欢
  • 1970-01-01
  • 2013-11-18
  • 1970-01-01
  • 2010-12-13
  • 2014-08-17
  • 2018-07-27
  • 1970-01-01
  • 2013-08-03
  • 2022-12-20
相关资源
最近更新 更多