栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > Html/CSS > CSS教程

纯CSS实现设置半个字符的样式

CSS教程 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在stackoverflow上看到的问题怎么给半个字符设置样式,很多大神给出了答案。我就等就来学习围观吧。
一:基本解决方案:
html:

复制代码代码如下:
X
Y
Z
A

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;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/216764.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号