2009-06-02 5 views
23

J'ai remarqué que la balise "fieldset" restitue une bordure de coin arrondie sur IE (elle rend le carré sur les autres navigateurs). MAIS si je mets un style CSS sur le fieldset, les coins arrondis disparaissent !!Coins arrondis sur un fieldset

Quelqu'un sait pourquoi? Comment garder les coins arrondis mais avec une autre couleur de bordure?

[EDIT]: désolé pour la confusion, je ne demande pas comment avoir des coins ronds sur FireFox/autres navigateurs, je veux savoir comment garder les coins ronds sur IE et ont une autre couleur de frontière (frontière -color: rouge, sur le fieldset change les rounds en carrés ...).

Répondre

7

Certains éléments (boutons, boîtes d'entrée) utilisent les styles visuels système par défaut - et par défaut les thèmes Windows XP/Vista, fieldsets ont arrondi cor ners. (Regardez par exemple les propriétés d'affichage.)

Si vous attribuez un style à un <input />, par exemple, il perdra aussi ses effets de survol, ses dégradés et autres.

13

Il n'y a pas de POURQUOI en tant que tel, ce n'est pas un secret que les navigateurs se comportent différemment.

Avez-vous exploré l'attribut -moz-border-radius?

Je pense que quelque chose comme

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

œuvres dans FireFox/Mozilla, mais il a été longtemps que j'ai essayé: D

+1

-webkit-border-radius pour les navigateurs WebKit, et le rayon de frontière pour l'opéra. –

+0

Je n'ai pas demandé pourquoi les navigateurs se comportent différemment, j'ai demandé pourquoi il se comporte différemment sur IE. –

+1

Il ne fonctionnera pas dans les navigateurs IE – marknt15

0

Vous pouvez utiliser CSS 3 propriété border-radius, qui travaillera sur Firefox et Safari:

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

Les bordures dans IE ne sont arrondies que lorsque 1) Vous avez activé l'option 'Utiliser les styles visuels sur les fenêtres sur les boutons' sous Performance | Onglet Effets visuels. Pour parler franchement: si vous avez activé le thème XP, il sera arrondi, quand vous aurez le look classique de Win2000, il ne sera pas arrondi.

La deuxième exigence 2) est 'CSS non lié aux frontières' pour l'ensemble de champs. Chaque fois que vous affectez une couleur de bordure, un style de bordure ou une largeur de bordure, l'arrondi est parti, il n'y a pas de solution pour cela. Il en va de même pour l'entrée (à la fois les boutons et les champs), la zone de texte et les tags de sélection. Chaque fois que IE ne trouve aucun thème CSS pour le contrôle à rendre, il appliquera le «thème Windows par défaut» au contrôle.

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

Ce site a une solution pour les questions relatives aux coins arrondis et fieldset IE10. Il y a encore des problèmes dans IE (visage triste). Vous devez faire flotter pour travailler 100% du temps.

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

Cela fonctionne bien non seulement dans IE! Pourquoi est-il si faible? –

+0

[JsFiddle] (https://jsfiddle.net/jpjxgbve/) montrant le correctif 'border-radius' et' legend'. Notez que la couleur d'arrière-plan de la légende doit être définie, sinon la bordure est vue traversant le texte. – mbomb007

Questions connexes