How can I style a part of a single character with overlays using a dynamic width?
问题
在.content 上设置position:relative 。
位置:after 绝对
将:after 设置为overflow:hidden 。
调整:after 的宽度、高度、文本缩进和行高,以隐藏其位。
我可以只设计一个角色的一部分吗?
意义CSS属性不能分配给部分字符。但是,如果您只想为角色的某一部分设置样式,那么就没有标准化的方法可以做到这一点。
例子有没有可能设计一个"X",中间是红色,然后是黑色?
不工作代码1 | X |
1 2 3 4 5 6 7 8 9 10 11 12 13 | .content { position: relative; font-size: 50px; color: black; } .content:after { content: 'X'; color: red; width: 50%; position: absolute; overflow: hidden; } |
JSfiddle演示
目的我的目的是为字体设计一个很棒的
在玩演示小提琴的时候,我自己想出来,想分享我的解决方案。这很简单。
首先:演示要部分设置单个字符的样式,需要为内容添加额外的标记。基本上,您需要复制它:
1 2 3 | <?div class="content"> <span class="overlay">X</span> X |
使用诸如:after或:before之类的伪元素会更好,但我没有找到实现这一点的方法。
覆盖需要绝对定位到内容元素:
1 2 3 4 5 6 7 8 9 10 11 12 | ?.content { display: inline-block; position: relative; color: black; } ?.overlay { width: 50%; position: absolute; color: red; overflow: hidden; }? |
不要忘记
您可以使用任何宽度来代替
很好的解决方案。我有一个版本使用了在Chrome19中工作的
- http://jsfiddle.net/v5xzj/4/
基本上:
不过,我不确定它是否能在跨浏览器中正常工作——
此外,您最终不得不复制CSS文件中的内容而不是HTML,根据具体情况,这可能不是最佳选择。