2009-06-02 83 views
23

Me di cuenta de que la etiqueta "fieldset" representa un borde de esquina redondeada en IE (representa cuadratura en los otros navegadores).Esquinas redondeadas en un fieldset

<fieldset> 
     <legend>My legend</legend> 
</fieldset> 

PERO si establezco un estilo CSS en el campo, las esquinas redondeadas desaparecen.

¿Alguien sabe por qué? ¿Cómo mantener las esquinas redondeadas pero con otro color de borde?

[EDIT]: Lo siento por la confusión, no pido cómo tener esquinas redondeadas en Firefox/otros navegadores, quiero saber cómo mantener las esquinas redondeadas en IE y tener otro color de borde (frontera -color: rojo; en el fieldset cambia las rondas a cuadrados ...).

Respuesta

7

Algunos elementos (botones, cuadros de entrada) están utilizando el sistema de estilos visuales por defecto - y en el defecto temas de Windows XP/Vista, fieldsets han redondeado cor Ners. (Consulte Propiedades de pantalla, por ejemplo.)

Si asigna un estilo a <input />, por ejemplo, perderá sus efectos de desplazamiento, degradados y otras cosas también.

13

No hay POR QUÉ como tal, no es un secreto que los navegadores se comportan de manera diferente.

¿Ha explorado el atributo -moz-border-radius?

Creo que algo así como

fieldset { 
    -moz-border-radius:5px; 
    border-radius: 5px; 
    -webkit-border-radius: 5px; //edit :D 
} 

funciona en Firefox/Mozilla, pero ha sido un largo tiempo desde que probé: D

+1

webkit-frontera de radio para los navegadores WebKit y radio-frontera para la ópera. –

+0

No pregunté POR QUÉ los navegadores se comportan de manera diferente, pregunté por qué se comporta de manera diferente en IE. –

+1

No funcionará en los navegadores IE – marknt15

0

Usted podría utilizar CSS 3 propiedad border-radius, que funcionará en Firefox y Safari:

fieldset { 
-moz-border-radius: 5px; 
-webkit-border-radius: 5px; 
} 
8

Los bordes en IE son solo redondos cuando 1) Usted tiene el 'Usar estilos visuales en ventanas en botones' habilitado bajo Performance | Pestaña Efectos Visuales. Para decirlo de manera contundente: si tiene habilitada la opción 'XP tematización', se redondeará, cuando tenga el aspecto clásico de Win2000, no se redondeará.

El segundo requisito 2) es "sin CSS relacionado con bordes" para el conjunto de campos. Cada vez que asigna un color de borde, o estilo de borde, o ancho de borde, la 'redondez' se ha ido, no hay una solución para eso. Lo mismo ocurre con la entrada (tanto botones como campos), cuadro de texto y etiquetas de selección. Cada vez que IE no encuentre ninguna temática de CSS para que se represente el control, aplicará el 'tema predeterminado de Windows' al control.

-1
fieldset { 
    -moz-border-radius:5px; 
    border-radius: 5px; 
    -webkit-border-radius: 5px; //edit :D 
} 
11

Este sitio tiene una solución para las cuestiones relacionadas con las esquinas redondeadas y de campos IE10. Todavía hay problemas en IE (cara triste). Tienes que hacerlo flotar para que funcione el 100% del tiempo.

fieldset { 
 
    margin: 20px; 
 
    padding: 0 10px 10px; 
 
    border: 1px solid #666; 
 
    border-radius: 8px; 
 
    box-shadow: 0 0 10px #666; 
 
    padding-top: 10px; 
 
} 
 
legend { 
 
    padding: 2px 4px; 
 
    background: #fff; 
 
    /* For better legibility against the box-shadow */ 
 
} 
 
fieldset > legend { 
 
    float: left; 
 
    margin-top: -20px; 
 
} 
 
fieldset > legend + * { 
 
    clear: both; 
 
}
<fieldset> 
 
    <legend>Legend</legend> 
 
</fieldset>

http://www.456bereastreet.com/archive/201302/fieldset_legend_border-radius_and_box-shadow/

+1

Esto funciona bien no solo en IE! ¿Por qué es tan baja calificación? –

+0

[JsFiddle] (https://jsfiddle.net/jpjxgbve/) mostrando el arreglo 'border-radius' y' legend'. Tenga en cuenta que se debe establecer el color de fondo de la leyenda, de lo contrario, se verá el borde pasando por el texto. – mbomb007

Cuestiones relacionadas