28197 sujets

CSS et mise en forme, CSS3

Bonjour,
je voulais savoir pourquoi un fieldset sans legend apparait bien sur FF mais pas sur IE .?

mon fieldset n'apparait pas sur ie alors que sur FF oui


#fieldset_contact{
	margin:0 auto;
	border:3px solid #F1751F;
	-moz-border-radius:10px;  
    -webkit-border-radius: 10px ;
    -khtml-border-radius: 10px; 
    border-radius: 10px;
    behavior: url(border-radius.htc); 
	background-color:#BED0DE;
	width:864px;
    top:1em;
	position: relative;z-index 0;
	padding:0 10px 0 10px;
	border-radius: 10px 10px ;
	/*overflow:hidden;*/
}



la même class ailleurs fonctionne (avec des attributs différents : couleur etc....)

html

....
<form method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
    	<fieldset id="fieldset_contact">
		<legend class="legend_contact"> Contactez nous</legend>
			<div  class="tab_bg">
								
				 <div id="contact_img"></div>
                          .....
                        </div>
                        <div id="left_content">.... </div>
                        <div id="right_content">....</div>
       </fieldset>
</form>



///////Edit
ce que j'obtiens maintenant :


upload/34254-test.png


.legend_contact{
	-moz-border-radius: 10px;
    -webkit-border-radius: 10px;
    -khtml-border-radius:10px; 
    border-radius: 10px; 
    behavior: url(border-radius.htc); 
	background-color:#A5E43A;
	color:#431F0A;
	font-weight:bold;
	padding: 4px;
    border: 1px
     top :-1em;
     padding :0.4em;
}


Modifié par hackulous (18 Nov 2010 - 12:10)
Hello,

Aucune idée de la raison du comportement d'IE. En passant, quand tu rapportes un problème avec IE mieux vaut mentionner les versions affectées, il y en a trois actuellement sur le marché (IE6, IE7, IE8... même si IE6 vit ses derniers mois).

Quoi qu'il en soit, si tu n'utilises pas l'élément LEGEND alors tu n'as strictement aucune raison valable d'utiliser FIELDSET.
Le couple FIELDSET+LEGEND permet de rajouter une information commune à un ensemble de labels. L'utilisation typique est pour donner un label global à une série de boutons radio ou checkbox (vu que l'intitulé de chaque option sera déjà un élément LABEL):
<fieldset>
  <legend>Quel est l'age du capitaine?</legend>
  <input type="radio" id="cap1" name="agecpt" value="1">
  <label for="cap1">45 ans (ou pas)</label><br>
  <input type="radio" id="cap2" name="agecpt" value="2">
  <label for="cap2">72 ans, plus ou moins</label><br>
  <input type="radio" id="cap3" name="agecpt" value="3">
  <label for="cap3">89 ans et des brouettes</label>
</fieldset>

Les autres usages sont en général abusifs. Un FIELDSET sans LEGEND associé est une erreur. De plus, utiliser un FIELDSET+LEGEND pour donner un titre à un formulaire est une erreur, de même que dans certains cas l'utilisation de FIELDSET+LEGEND pour «structurer» les différentes parties d'un formulaire long (à voir au cas par cas, mais l'utilisation de titres HN est à priori plus adaptée).
Et aussi: quand on utilise LEGEND de manière correcte et qu'on veut le mettre en forme en CSS, ça peut être assez prise de tête. Placer un élément SPAN dans le LEGEND et styler ce SPAN, ça aide.
merci
j'utilise donc legend mais je ne comprend pas le décalage de la legend (cf image insérée au 1er post)...sur IE8
est ce à cause du padding ?

.legend_contact{ 
    -moz-border-radius: 10px; 
    -webkit-border-radius: 10px; 
    -khtml-border-radius:10px;  
    border-radius: 10px;  
    behavior: url(border-radius.htc);  
    background-color:#A5E43A; 
    color:#431F0A; 
    font-weight:bold; 
    padding: 4px; 
    border: 1px 
     top :-1em; 
     padding :0.4em; 
} 



Modifié par hackulous (18 Nov 2010 - 11:53)
a écrit :
De plus, utiliser un FIELDSET+LEGEND pour donner un titre à un formulaire est une erreur

aaah...
donc j'utiliserai une div alors pour avoir l'effet fieldset avec coin arrondi...

Merci pour ton aide...
Modifié par hackulous (18 Nov 2010 - 12:10)
Florent V. a écrit :

Quoi qu'il en soit, si tu n'utilises pas l'élément LEGEND alors tu n'as strictement aucune raison valable d'utiliser FIELDSET.

Les autres usages sont en général abusifs. Un FIELDSET sans LEGEND associé est une erreur.


Intéressant. Tu aurais une source la dessus ?
Moi je lis dans la spec :
a écrit :
The legend improves accessibility when the FIELDSET is rendered non-visually


Et je comprends avec "improve" que c'est optionnel.
Si je n'ai pas besoin sémantiquement de titre à mon groupe de champs, je ne les groupe donc pas ? J'ai bien saisi ce que tu voulais dire ?
a écrit :
Grouping controls makes it easier for users to understand their purpose while simultaneously facilitating tabbing navigation for visual user agents and speech navigation for speech-oriented user agents.


Source : http://www.w3.org/TR/html401/interact/forms.html#h-17.10