He código HTML siguiente:: antes de las obras does't pseudo-clase con imágenes
<!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>
: antes no aparecerán para una imagen, pero lo hace para cualquier div.
¿Por qué?
Actualización: me encontré con esta explicación en el W3C:
Nota. Esta especificación no define completamente la interacción de: before y: after con los elementos reemplazados (como IMG en HTML). Esto se definirá con más detalle en una especificación futura.
Actualización 2:
me olvido de mencionar - i necesidad de visualizar el atributo "alt" de la imagen con CSS.
img:before {
display: block;
content: attr(alt);
background-color: #333;
/* etc. */
}
con 'div: before', es un poco como esto:' '
BTW, ¿por qué especifica el ancho de la imagen en 'pt'? Hay muy pocas razones para usar 'pt' en absoluto. – RoToRa
@RoToRa, porque las diferentes pantallas tienen una densidad de píxeles diferente. Teniendo todos los tamaños en píxeles, mi sitio web se verá diferente en diferentes pantallas. Necesito independencia de resolución. – AntonAL