[英]Can I style an image's ALT text with CSS?
我有一个深蓝色页面,当图像加载(或丢失)时,ALT 文本为黑色且难以阅读(在 FF 中)。
我可以将它(使用 CSS)样式设置为白色吗?
设置img
标签color
有效
img {color:#fff}
body {background:#000022} img {color:#fff}
<img src="http://badsrc.com/blah" alt="BLAH BLAH BLAH" />
你当然可以!
我这样做是作为标题徽标图像的后备,我认为某些版本的 IE 不会遵守。 编辑:或者 Chrome 显然 - 我什至没有在演示中看到替代文本(?)。 然而,Firefox 运行良好。
img { color: green; font: 40px Impact; }
<img src="404" alt="Alt Text">
您不能直接在 css 中设置 alt 属性的样式。 但是 alt 将继承 alt 所在项目的样式或其父项继承的样式:
<div style="background-color:black; height: 50px; width: 50px; color:white;"> <img src="ouch" alt="here i am"/> <div>
在上面的例子中,替代文字将是黑色的。 但是对于 color:white 替代文字是白色的。
因为这个问题是搜索引擎的第一个结果
选择的问题 - 顺便说一下 - 解决方案是,如果您想添加将应用于图像(例如边框)的样式。
例如 :
img { color:#fff; border: 1px solid black; padding: 5px; background-color: #ccc; }
<img src="http://badsrc.com/blah" alt="BLAH BLAH BLAH" /> <hr /> <img src="https://cdn4.iconfinder.com/data/icons/miu-square-flat-social/60/stackoverflow-square-social-media-128.png" alt="BLAH BLAH BLAH" />
如您所见,所有图像都将应用相同的样式
还有另一种方法可以轻松解决此类问题,使用onerror
并注入一些特殊类来处理中断的图像:
.invalidImageSrc { color:#fff; border: 1px solid black; padding: 5px; background-color: #ccc; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> <img onerror="$(this).addClass('invalidImageSrc')" src="http://badsrc.com/blah" alt="BLAH BLAH BLAH" /> <hr /> <img onerror="$(this).addClass('invalidImageSrc')" src="https://cdn4.iconfinder.com/data/icons/miu-square-flat-social/60/stackoverflow-square-social-media-128.png" alt="BLAH BLAH BLAH" />
您可以通过执行以下操作在图像上设置Alt attribut的样式:
img[alt] {
color: blue;
font-style: italic;
font-size: 14px;
}
在 Firefox 和 Chrome(可能还有更多)中,我们可以将字符串 '( .... )' 插入到尚未加载的图像的替代文本中。
img { font-style: italic; color: #c00; } img:after { content: " (Image - Right click to reload if not loaded)"; } img::after { content: " (Image - Right click to reload if not loaded)"; }
<img alt="Alt text - " />
您可以使用img[alt] {styles}
仅设置替代文本的样式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.