2016-02-01 35 views
1

有什么方法可以修改文本中的单个字体字符吗?CSS:更改单个文本字符

我有一个webfont,其中的“ - ”字符不与字母正确对齐,我想将它向上移动相对于其他字符。

有没有什么办法可以实现这一点,而无需切换到图像基础解决方案?

谢谢!

+1

比其他CSS [:第一字母(https://developer.mozilla.org/en-US/docs/Web/CSS/::first-letter)无,您需要将文本包装在一个范围内或通过JavaScript解析。 – j08691

+2

或者,如果字体支持,尝试使用其他行字符之一https://www.cs.tut.fi/~jkorpela/dashes.html –

+0

使用不同的行字符是一个非常好的主意,但可惜没有帮助这个案例。 :( – j00ls

回答

1

您可以自己包裹的字符,或者使用jQuery/Javascript来搜索该字符和包裹。

根据你的问题和你对人们问题的一些答案。这工作,并已经过测试。

.moveMe { position: relative; top: -2px; }
<p>Hyphen<span class="moveMe">-</span>moved.</p> 
 
<p>Hyphen-unmoved.</p>

+0

工程就像一个魅力!谢谢! 对不起乌龟 - 我认为你的意思是一样的,但不知怎的,你制作的笔没有反映你在这里写的东西,所以它对我没有用。顺便说一句。 - 解决方案的秘诀是“相对”部分,这就是为什么我之前尝试过的所有东西都不起作用。 – j00ls

+0

是我连接的笔是过时的版本。我昨天添加的是正在工作,但我很高兴你解决了你的问题。 请记住,应用跨度与ID,然后使用该ID通过CSS格式是一种很好的方法来定位和设置特定字符! – A1raa

+0

如果它将应用于多个地方,最好的做法是使用类而不是ID。有一个身份证多于一次宣布是不可靠的。当然,它会像使用课程一样工作,但这只是不好的做法。 – robbclarke

1

是将字符包装在<span>之内,因此它看起来像wo<span>r</span>d。然后,您可以给跨度#id并将该字体分配给id内的字符。

最终输出看起来像wo<span id="change-font">r</span>d

使用量程和定位连字符position: relative;。只需更改号码。

http://codepen.io/anon/pen/MKBaXN

+0

这正是我所尝试过的 - 然而我并没有太多的东西可以用来操纵单个字符 添加边距或填充适用于整行并将所有字符向上移动。高度,我没有想出如何操作它 – j00ls

+0

你可以把它放在一支笔里吗?我可以看看你是什么意思 编辑:我做了一支笔,并把它放在答案中。 – A1raa

+0

似乎你的解决方案没有成功 - 也许这是与浏览器相关的?(使用firefox) 我已更新笔以显示文本的两个版本相互比较,我该如何做这项工作? – j00ls