头闻号

福州中创建材有限公司

室内涂料|室外涂料|建材加工|建筑涂料|防水涂料|保温涂料

首页 > 新闻中心 > 科技常识:纯CSS实现设置半个字符的样式
科技常识:纯CSS实现设置半个字符的样式
发布时间:2024-09-22 11:26:39        浏览次数:8        返回列表

今天小编跟大家讲解下有关纯CSS实现设置半个字符的样式 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了有关纯CSS实现设置半个字符的样式 的相关资料,希望小伙伴们看了有所帮助。

在stackoverflow上看到的问题怎么给半个字符设置样式,很多大神给出了答案。我就等就来学习围观吧。一:基本解决方案:html:复制代码代码如下:<span class=”halfStyle” data-content=”X”>X</span><span class=”halfStyle” data-content=”Y”>Y</span><span class=”halfStyle” data-content=”Z”>Z</span><span class=”halfStyle” data-content=”A”>A</span>css:复制代码代码如下:.halfStyle {position:relative;display:inline-block;font-size:80px; color: black; overflow:hidden;white-space: pre; }.halfStyle:before {display:block;z-index:1;position:absolute;top:0;left:0;width: 50%;content: attr(data-content); overflow:hidden;color: #f00;}

效果如图:

这种方法用于任何动态文本或单个字符,并且都是自动适用的。所有你需要做的就是在目标文本上添加一个class,剩下的就解决了。

同时,保留了原文的可访问性,可以被盲人或视障人士使用的屏幕阅读器识别。

单个字符的实现:

纯CSS。所有你需要做的就是把.halfStyle class用在每个你想要渲染一半样式字符的元素上。

对于每个包含字符的span元素,你可以添加一个data属性,比如data-content=”X”,并且在伪元素上使用content:attr(data-content);这样,.halfStyle:before class将会是动态的,你不需要为每个实例进行硬编码

以下其它效果自行测试了。。。

二:左右开弓,两边都设置样式更改CSS:复制代码代码如下:.halfStyle {position:relative;display:inline-block;font-size:80px; color: transparent; overflow:hidden;white-space: pre; }.halfStyle:before { display:block;z-index:1;position:absolute;top:0;width: 50%;content: attr(data-content); overflow:hidden;pointer-events: none; color: #f00; text-shadow: 2px -2px 0px #af0; }.halfStyle:after { display:block;direction: rtl; position:absolute;z-index:2;top:0;left:50%;width: 50%;content: attr(data-content); overflow:hidden;pointer-events: none; color: #000; text-shadow: 2px 2px 0px #0af; }三:设置水平一半的样式CSS:复制代码代码如下:.halfStyle {position:relative;display:inline-block;font-size:80px; color: transparent; overflow:hidden;white-space: pre; }.halfStyle:before { display:block;z-index:2;position:absolute;top:0;height: 50%;content: attr(data-content); overflow:hidden;pointer-events: none; color: #f00; text-shadow: 2px -2px 0px #af0; }.halfStyle:after { display:block;position:absolute;z-index:1;top:0;height: 100%;content: attr(data-content); overflow:hidden;pointer-events: none; color: #000; text-shadow: 2px 2px 0px #0af; }四:水平三分之一的样式css:复制代码代码如下:.halfStyle { position:relative;display:inline-block;font-size:80px; color: transparent;overflow:hidden;white-space: pre; color: #f0f;text-shadow: 2px 2px 0px #0af; }.halfStyle:before { display:block;z-index:2;position:absolute;top:0;height: 33.33%;content: attr(data-content); overflow:hidden;pointer-events: none; color: #f00; text-shadow: 2px -2px 0px #fa0; }.halfStyle:after { display:block;position:absolute;z-index:1;top:0;height: 66.66%;content: attr(data-content); overflow:hidden;pointer-events: none; color: #000; text-shadow: 2px 2px 0px #af0; }五:垂直三分之的样式css:复制代码代码如下:.halfStyle { position:relative;display:inline-block;font-size:80px; color: transparent; overflow:hidden;white-space: pre; color: #f0f; text-shadow: 2px 2px 0px #0af; }.halfStyle:before { display:block;z-index:2;position:absolute;top:0;width: 33.33%;content: attr(data-content); overflow:hidden;pointer-events: none; color: #f00; text-shadow: 2px -2px 0px #af0; }.halfStyle:after { display:block;z-index:1;position:absolute;top:0;width: 66.66%;content: attr(data-content); overflow:hidden;pointer-events: none; color: #000; text-shadow: 2px 2px 0px #af0; }

来源:爱蒂网