28172 sujets

CSS et mise en forme, CSS3

bonjour,

A l'aide des différents tutoriels trouvé j'ai fabriqué un mini site pour m'entrainer (je viens du flash)

problème de compatibilité

mon formulaire (présentation) marche dans IE 6 mais dans firefox le champs date de naissance se retrouve en haut du formulaire à gauche. je pense que ça vient du float des champs (tout en bas du code css) parce que quand mon formulaire est tout seul sur une page (avec le code css en entier) tout est ok mais quand je l'intègre dans ma page html (réalisée à partir d'un modèle) ça ne marche plus.

merci de bien vouloir m'aiguiller !

code html de ma page


<!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"><!-- InstanceBegin template="/Templates/pagefleurs.dwt" codeOutsideHTMLIsLocked="false" -->
	<head>
	<!-- InstanceBeginEditable name="doctitle" -->
	<title>site des fleurs</title>
	<!-- InstanceEndEditable -->
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />
	<meta http-equiv="Content-Style-Type" content="text/css" />
	<meta http-equiv="Content-Language" content="fr" />
	<style type="text/css">
		@import url(styles.css);
		</style>
	<!-- InstanceBeginEditable name="head" --><!-- InstanceEndEditable --><!-- InstanceParam name="head" type="boolean" value="true" -->
</head>
	
	<body>
	head
  <div id="conteneur">		
		<h1 id="header"><a href="etape1.html" title="Colored Design - Accueil"><span>Colored Design</span></a></h1>

		<ul id="menu">
			<li><a href="lilas.html">Lilas</a></li>
			<li><a href="tulipe.html">Tulipes</a></li>
			<li><a href="coquelicot.html">Coquelicots</a></li>
			<li><a href="paquerettes.html">Pâquerettes</a></li>
			<li><a href="formulaire.html">Formulaire</a></li>
		</ul>
		
		<!-- InstanceBeginEditable name="contenu" -->
		<div id="contenu">
          <h2>formulaire</h2>
		  <form name="inscription" id="inscription" method="get" action="http://fredcavazza.net/articles/exemples/SVF_etape7.htm">
		<div id="titreForm">Inscription à notre newsletter</div>
		<div id="corpForm">
			<fieldset id="coordonnees">
				<legend>Vos coordonnées</legend>
				<br />
				<p>
					<label for="nom" class="oblig">* Nom :</label>
					<input type="text" name="nom" id="nom" />
				</p>
				<p>
					<label for="prenom" class="oblig">* Prénom :</label>
					<input type="text" name="prenom" id="prenom" />
				</p>
				<p>
					<label for="eMail" class="oblig">* e-Mail :</label>
					<input type="text" name="eMail" id="eMail" />
				</p>
				<p>
					<label for="pays" class="oblig">* Pays :</label>
					<select id="pays">
						<optgroup label="Europe">
							<option value="france" selected="selected">France</option>
							<option value="allemagne">Allemagne</option>
						</optgroup>
						<optgroup label="Amérique du Nord">
							<option value="etatsunis">&Eacute;tats-Unis</option>
							<option value="canada">Canada</option>
						</optgroup>
						<optgroup label="Asie">
							<option value="japon">Japon</option>
							<option value="chine">Chine</option>
						</optgroup>
					</select>
				</p>
				<p>
					<label for="dateNaissance" class="oblig">* Date de naissance :</label>
					<input type="text" name="dateNaissance" id="dateNaissance" />
				</p>
			</fieldset>
			<br />
			<fieldset id="periodicite">
				<legend>Périodicité</legend>
				<p>
					<input type="radio" name="periode" id="periodeH" value="hebdo" checked="checked" />
					<label for="periodeH">Newsletter hebdomadaire</label>
					<br />
					<input type="radio" name="periode" id="periodeM" value="mens" />
					<label for="periodeM">Newsletter mensuelle</label>
					<br />
					<input type="radio" name="periode" id="periodeT" value="trim" />
					<label for="periodeT">Newsletter trimestrielle</label>
				
			</fieldset>
			<br />
			<em>* Champs obligatoires</em>
		</div>
		<div id="piedForm">
			<input type="submit" name="valid" id="valid" value="S'inscrire" />
		</div>
	</form>
	    </div>
		<!-- InstanceEndEditable -->
	  <p id="footer">P&eacute;pini&egrave;re de Vitrolles</p>
	</div>
	</body>
<!-- InstanceEnd --></html>

et le css total


body
{
	margin: 10px 0 ;
	padding: 0 ;
	text-align: center;
	font: 0.8em "Myriad Pro", helvetica, sans-serif ;
	background: #A96FDF ;
}

/* On a ajouté de quoi mettre une police de caractère et une couleur de fond */

div#conteneur
{
	width: 770px ;
	margin: 0 auto ;
	text-align: left ;
	border: 2px solid #6D33A4 ;
	background: #fff ;
}
img
{
border-style:dotted;
height:244px
width:300px;
}
/* Une bordure autour de l'ensemble de la page,
et couleur blanche pour le fond de celle-ci */

/* Une image de fond correspondant aux 258 pixels
 de tout à l'heure, attention à bien compresser vos images */
 
 h1#header
{
	height: 258px;
	background: url(fleur.jpg) no-repeat left top;
}

 
 h1#header a
{
	width: 400px ;
	height: 70px ;
	display: block ;
	background: url(title.gif) no-repeat ;
	position: relative ;
	left: 350px ;
	top: 15px ;
	text-indent: -5000px ;
}/* On donne les mêmes dimensions au lien, chose
 possible grâce à la propriété display: block ; qui transforme le lien
  en élément de type block, auquel on peut donner des propriétés de taille.
   On met aussi l'image de fond qui a les mêmes dimensions que le cadre ainsi créé */
/* Le text-indent négatif est fait pour pouvoir ne
 cacher le texte hors de la page, ce que nous voulons. Ainsi il reste
  exploitable pour les syntèses vocales */


ul#menu
{
	height: 35px ;
	margin: 0 ;
	padding: 0 ;
	background: url(fontitredepart.gif) repeat-x 0 0px ;
	list-style-type: none ;
}
/* On donne une hauteur au menu, correspondant a
 la taille de l'image utilisée en fond, on met ensuite l'image de fond
  avec un décalage de 25 pixels vers le haut pour utiliser la technique de roll over expliquée dans un autre tutoriel; */
ul#menu li
{
	float: left ;
	text-align: center ;
}/* On rend les li en flottant pour pouvoir les
 afficher horizontalement, on cache les puces, et on centre le texte */

ul#menu li a
{
	width: 130px ;
	line-height: 25px ;
	font-size: 1.2em ;
	font-weight: bold ;
	letter-spacing: 2px ;
	color: #A96FDF ;
	display: block ;
	text-decoration: none ;
	border-right: 2px solid #A96FDF ;
}/* C'est sur les liens que le gros du travail est
 effectué, largeur, hauteur de ligne, taille de police, graisse de police,
  espacement des lettres, couleur, bordure et decoration du texte. 
  Nous pouvons dimensionner les a grâce à la propriété display: block ; */

ul#menu li a:hover
{
	background: url(fontitre.gif) repeat-x 0 0 ;
}/* Et pour finir on décale l'image de fond au passage
 de la souris pour laisser aparaître l'état survolé de l'image, 
 voir le tutoriel sur les roll over pour plus de détails */
 
 

div#contenu
{
	padding: 0 30px 0 100px ;
	background: url(bg_page.gif) no-repeat 15px 15px ;
}
/* On ajoute un petit élément décoratif sur le côté
 de la page et on crée un espace à gauche et à droite du contenu */

div#contenu h2
{
	padding-left: 25px ;
	line-height: 25px ;
	font-size: 1.4em ;
	background: url(petitefleur.gif) no-repeat left bottom ;
	color: #6D33A4 ;
	border-bottom: 1px solid #6D33A4 ;
}
/* Mise en forme du titre de page, une petite image,
 on décale le texte en fonction de l'image, on donne un couleur au texte et
  on met une bordure basse */

div#contenu h3
{
	margin-left: 15px ;
	padding-left: 5px ;
	border-bottom: 1px solid #6D33A4 ;
	border-left: 3px solid #6D33A4 ;
	color: #6D33A4 ;
}
/* De même que pour le titre h2, à ceci près qu'on
 ne donne pas d'image décorative cette fois ci */

div#contenu p
{
	text-align: justify ;
	text-indent: 2em ;
	line-height: 1.7em ;
}
/* On rend les paragraphes plus propre, alignement justifié,
 alinéa et hauteur de ligne supérieure à l'état normal pour aérer le tout */

div#contenu a
{
	color: #6D33A4 ;
}

div#contenu a:hover
{
	color: #A96FDF;
}
/* On met en forme les liens contenu dans la page */

p#footer
{
	margin: 0 ;
	padding-right: 10px ;
	line-height: 30px ;
	text-align: right ;
	color: #6D33A4 ;
}
/* Mise en forme de la partie pied de page, rien d'extra-ordinaire */

pre
{
	overflow: auto ;
	background: #dea ;
	border: 2px solid #9b2 ;
	padding: 5px 0 0 5px ;
	font-size: 1.2em ;
}
/*une couleur de fond, une bordure, la taille de police
 et un léger espace entre le texte et les bords du pre */

pre span
{
	color: #560 ;
}
/* Couleur de texte des éléments compris dans des span
 eux mêmes compris dans un pre */

pre span.comment
{
	color: #b30000 ;
}
/* Couleur différente pour les span.comment, les span
 utilisés pour les commentaires */
 
 /*code galerie*/
 
 #gallery {
	position:relative;
	width: 550px;
	height: 400px;
	background: #FFFFFF;
	background-color: #FFCCFF;
		}
	
/* le bloc qui contient les images se trouve à droite*/
#thumbs {
	width: 180px;
	float: left;
	}
/* je pars de gauche vers la droite pour les photos*/
#thumbs a {
	display: block;
	float: left;
	margin: 5px 5px 5px 5px;
	width: 50px;
	height: 50px;
}
/*les images sont réduites*/
#thumbs a img {
	width: 50px;
	height: 50px;
	border-style : solid;
	border-color:#0099FF;
}


#thumbs a:hover img {
	position: absolute;
	left:200px;
	width:auto;
	height: auto;
	top: 65px;
	}
	
/* Codes du tableau page pâquerettes*/
table {
border:3px solid #6D33A4;
border-collapse:collapse;
width:400px;
margin:auto;

}
thead, tfoot {
border:1px solid #6D33A4;
}
tbody {
border:1px solid #6D33A4;
}
th {
font-family:Myriad Pro;
color: #FFF;
border:1px dotted #6D33A4;
padding:5px;
background-color:#A96FDF;
width:25%;
}
td {
font-family:Myriad Pro;
font-size:80%;
border:1px solid #6D33A4;
padding:5px;
text-align:center;
}
caption {
font-family:Myriad Pro;
text-align:center;
}

/* code du formulaire*/

#formulaireentier {
	margin: 1em;
	padding: 0;
	font: .8em arial, hevetica, sans-serif;
	text-align: left;
	color: black;
	background: white;
}
p#notes {
	border-bottom: 1px dotted black;
	padding-bottom: 1em;
}
p#footer {
	border-top: 1px dotted black;
	padding-top: 1em;
}
/*** Mise en forme du formulaire ***/

#inscription {
	border: none;
	margin: 0;
	padding: 0;
	width: 40em;	/*** Largeur du formulaire ***/
}
#titreForm, #piedForm {	/*** Mise en forme du titre et du pied de formulaire ***/
	font: bold 1.1em Myriad Pro;
	color: white;
	background: #6D33A4;
	margin: 0;
	padding: .5em;
}
#piedForm {
	text-align: right; /*** Les boutons sont alignés à droite ***/
}
#piedForm input {
	font-weight: bold; /*** Pour améliorer la lisibilité des boutons ***/
	margin-left: 1em;
}
#corpForm {	/*** Mise en fome du corp du formulaire (bordure, couleur du fond...) ***/
	border: 1px solid black;
	color: black;
	background: #A96FDF;
	margin: 0;
	padding: 1em;
}
#corpForm fieldset {	/*** Mise en forme des cadres ***/
	margin: 0;
	font-style: normal;
	padding: 0 1em 1em;
}
#corpForm legend {	/*** Mise en forme des titres des cadres ***/
	font-weight: bold;
	color: black;
	background: transparent;
}
#corpForm p.form {	/*** Mise en forme des lignes du formulaire ***/
	padding: .2em 0;
	margin: 0 0 .2em 0;
}
#corpForm fieldset#coordonnees label{/*** Mise en forme des intitulés de champs ***/
	float: left;	/*** Très important, ne pas suprimer ! ***/
	width: 30%;	/*** Les intitulés prennent 1/3 de la largeur totale du formulaire... ***/
	text-align: right;	/*** ... et ils sont alignés à droite... ***/
	margin: 0;
	padding: 0 .5em 0 0;
	line-height: 1.8;	/*** ... et centrés verticalement. ***/
}

#corpForm label:hover, #piedForm input {
	cursor: pointer;	/*** Petite astuce pour apprendre aux utilisateurs à cliquer sur les intitulés ***/
}
#corpForm label.oblig {
	font-weight: bold;	/*** Mise en évidence des champs obligatoires ***/
}