No creo que haya una forma de usar -moz-border-radius para redondear directamente una imagen en FireFox. Pero puedes simular las esquinas redondeadas a la manera antigua, con un marcado extra.
Así que tiene este aspecto:
<div id="container">
<img src="images/fubar.jpg" alt="situation normal" />
<div class="rounded lt"></div>
<div class="rounded rt"></div>
<div class="rounded lb"></div>
<div class="rounded rb"></div>
</div>
A continuación, el CSS:
#container {position:relative;}
#container img {z-index:0;}
.rounded {position:absolute; z-index:1; width:20px; height:20px;}
.lt {background:url('images/rounded_LT.png') left top no-repeat;}
.rt {background:url('images/rounded_RT.png') right top no-repeat;}
.lb {background:url('images/rounded_LB.png') left bottom no-repeat;}
.rb {background:url('images/rounded_RB.png') right bottom no-repeat;}
Las imágenes de fondo de las esquinas se ven como una especie de media luna, con la transparencia. Esta es una técnica espacial negativa, en la que permite que la imagen muestre dónde tienen transparencia las esquinas.
Las esquinas Div con fondos PNG-24 funcionarán muy bien. Si puede lidiar con las irregularidades, puede usar fondos GIF para IE6, o simplemente eliminar la imagen de fondo por completo para las esquinas cuadradas. Use los comentarios condicionales para servir el CSS a IE6.
Ya estoy usando un borde de 2px. Podría tener que eliminar los radios fronterizos de estos elementos y esperar a que Mozilla actúe en conjunto. Esto podría tener que ser otra "mejora progresiva" solo para los usuarios de WebKit. –
He estado jugando con SVG y he encontrado una forma de obtener esquinas redondeadas en un elemento de imagen: http://www.boogdesign.com/examples/svg/rounded-corners.xhtml Solo funcionará en Firefox 3.5 y muy probablemente demasiado trabajo, pero interesante. Escribiré una publicación en el blog sobre esto el fin de semana. – robertc
Bien, no esperé hasta el fin de semana: http://www.boogdesign.com/b2evo/index.php/2009/09/02/firefox-img-rounded-corners-svg?blog=2 – robertc