【发布时间】:2014-07-31 03:47:54
【问题描述】:
是否可以用 css 制作虚线文本?
我知道最明显的做法是使用点状字体,但如果我只需要有节制地使用点状文本,那么让用户下载整个字体可能会有点过头了。
我的想法是用带有白色背景的小透明圆圈背景图案的伪元素覆盖文本。
类似这样的事情:
<div class="dottedText">Some dotted text</div>
CSS
.dottedText:after
{
content: '';
position:absolute;
left:0;
top:0;
width: 100%;
height: 100%;
background: radial-gradient(circle, transparent 50%, transparent 50%),
radial-gradient(circle, transparent 20%, white 50%) 30px 30px;
background-size:4px 4px;
}
我想我可能已经接近了,但是如果您更改字体大小,上述解决方案将无法正常工作。
我正在寻找解决方案
1) 点会随着字体大小的增加而增加,并且
2) 每个字母最好只显示一行点,而不是现在的双线。
编辑:当我说一行点时 - 我的意思是每个笔划应该只由一个点组成。例如:在上图中,请注意 'm' 字符有 2 列点....好吧,我只希望有一个。
理想情况下是这样的(取自here):
(我不确定,但可能需要调整径向渐变才能做到这一点)
编辑:
1) 我不介意使用哪种字体 - 只要它是内置字体。 (即使是等宽字体也可以)
2) 该解决方案不需要在每个浏览器中都有效。 (所以只有 webkit 的解决方案就可以了)
【问题讨论】:
-
我认为 SVG 是你最好的选择。
-
什么意思最好每个字母只显示一行点
-
@oGeez 我知道显而易见的事情是使用点字体:)
-
第二个例子不能使用“径向渐变”。这些东西就是不这样工作的。使用预先加点的字体或图像。
标签: css fonts radial-gradients