如何通过一个标签实现如下效果:
一般我们实现的方式如下:
- <span>¥</span><span>100</span>
定义两个标签分别设置不同的样式来搞定。
通过CSS属性::first-letter可以通过一个标签来实现类似效果。
- <div class="price">¥100</div>
- .price::first-letter {
- font-size: 72%;
- }
效果如下:
first-letter的兼容性也是很好的。可以在实际项目中使用。另外,他有一个缺点就是他只能修改开头第一个字符,如果需要修改末尾单位的字符样式。也可以通过另外一个属性来设置。
size-adjust 浏览器将调整字体大小,无论字体系列("宋体"性质值0.58)
unicode-range 设置font-face特定的字符。
- <div class="money">100元</div>
- @font-face {
- font-family: smallYuan;
- src: local('PingFang SC'),
- local('PingFang SC Light'),
- local('Source Han Sans CN'),
- local('Noto Sans CJK SC'),
- local("Microsoft Yahei");
- size-adjust: 20%;
- unicode-range: U+5143;
- }
- .money {
- font-family: smallYuan;
- font-size: 24px;
- color: red;
- }
效果如下:
size-adjust+ unicode-range 的兼容性在当下并不是太小,不支持safari。所以采用的时候要注意这一点。