28173 sujets
CSS et mise en forme, CSS3
Bonjour,
Les styles par défaut de Firefox pour les éléments legend et fieldset sont:
Ce qui n'explique pas vraiment le positionnement constaté du legend par dessus le bord du fieldset...
Les éléments de formulaire sont souvent rendus bizarrement...
Suivant les besoins graphiques, on pourra entourer le fieldset d'une div, et on stylera la div pour dessiner un cadre plutôt que le fieldset.
Les styles par défaut de Firefox pour les éléments legend et fieldset sont:
legend {
padding-left: 2px;
padding-right: 2px;
border: none;
position: static ! important;
float: none ! important;
}
fieldset {
display: block;
margin-left: 2px;
margin-right: 2px;
padding: 0.35em 0.625em 0.75em;
border: 2px groove ThreeDFace;
}
Ce qui n'explique pas vraiment le positionnement constaté du legend par dessus le bord du fieldset...
Les éléments de formulaire sont souvent rendus bizarrement...
Suivant les besoins graphiques, on pourra entourer le fieldset d'une div, et on stylera la div pour dessiner un cadre plutôt que le fieldset.
Il me semble que certaines aides techniques liront « [ légende ] [ label ] » pour chaque contrôle de formulaire associé explicitement à un label et à l'intérieur d'un fieldset doté d'un legend.
Quant à savoir si un hN est une alternative intéressante... je ne sais pas trop.
À partir du moment où on «masque» le fieldset, notamment en supprimant la bordure, peu importe que le legend soit superposé à la bordure du fieldset, non?
On aura tout de même quelques difficultés pour styler le legend lui-même, comme le montre cet exemple (rendus différents dans Firefox, IE et Opera... bien que ça ne soit pas méchant):
Quant à savoir si un hN est une alternative intéressante... je ne sais pas trop.
<nicolas> a écrit :
En fait même avec un div autour, il semble impossible de déplacer cet élément legend.
À partir du moment où on «masque» le fieldset, notamment en supprimant la bordure, peu importe que le legend soit superposé à la bordure du fieldset, non?
On aura tout de même quelques difficultés pour styler le legend lui-même, comme le montre cet exemple (rendus différents dans Firefox, IE et Opera... bien que ça ne soit pas méchant):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Test</title>
<style type="text/css">
div {
width: 250px;
border: solid 1px black;
padding: 10px;
}
fieldset, legend {
border: none;
margin: 0;
padding: 0;
}
legend {
display: block;
width: 100%;
background: skyblue;
text-align: center;
font-size: 1.2em;
font-weight: bold;
}
p {margin: .5em 0;}
</style>
</head>
<body>
<div>
<fieldset>
<legend>Test</legend>
<p>Un paragraphe.</p>
</fieldset>
</div>
</body>
</html>