【发布时间】:2017-11-30 15:43:27
【问题描述】:
我正在寻找一种 CSS 图像替换技术(例如 here 描述的图像替换)——你隐藏元素文本内容并改为显示图像——这将适用于透明图像并在图像关闭时显示替换的文本(例如通过 Windows 高对比度模式)。
我知道一些技术适用于具有非透明背景的图像,但当图像具有非透明背景时它们停止工作——元素的文本通过背景可见。
下面的这种技术的一个示例 - 在绝对定位的伪子元素上设置所需的背景,该伪子元素会呈现在元素上。问题:我要隐藏的文本仍然可见。
说明于this pen。
HTML
<div>Text which I want to replace by an image</div>
CSS
div {
position: relative;
width: 100px;
height: 100px;
}
div::after {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image: url("http://icons.iconarchive.com/icons/mazenl77/I-like-buttons-3a/512/Perspective-Button-Go-icon.png");
background-size: 100% 100%;
background-repeat: no-repeat;
}
其他技术即使使用透明图像也会隐藏文本,但在禁用图像时不显示文本,这是我需要的。我正在寻找一种两者兼得的产品。
【问题讨论】:
-
请多使用标点符号。很难阅读/理解。
-
@ProEvilz 现在更清楚了吗?实际上,仅用文字来描述有点难以描述。
-
你为什么不在你的 :after 上使用背景颜色来隐藏文本?
-
你可以使用
元素并设置替代文本吗?
-
@DD84 我不想,因为那是装饰图像,不应该出现在内容中,以便使文档更易于访问。
标签: css