私は次のHTMLを持っています:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>:before pseudo-class and images</title>
<style type="text/css" media="screen">
img {
display: block;
width: 640pt;
}
img:before {
content: "Test";
}
</style>
</head>
<body>
<img src="http://andreygromov.name/picture/flower/flower4.jpg" alt="Ваза с цветами" />
</body>
</html>
:before は画像には表示されませんが、どの div にも表示されます。
なんで?
更新: W3C でこの説明を見つけました:
ノート。この仕様は、:before および :after と置き換えられた要素 (HTML の IMG など) との相互作用を完全には定義していません。これは、将来の仕様でより詳細に定義されます。
更新 2:
私は言及するのを忘れています-CSSで画像の「alt」属性を視覚化する必要があります。
img:before {
display: block;
content: attr(alt);
background-color: #333;
/* etc. */
}