28220 sujets

CSS et mise en forme, CSS3

Pages :
Bonjour,
c'est mon 1er site web et malgré tous les tutoriaux et forums que j ai parcouru, je n'arrive pas à résoudre mon pb...

En fait, j'ai une barre de scroll "générale" a droite alors que le site tiens dans une fenetre plus petite que l'ecran (a partir de 1024*768).
On dirait qu'une de mes div va a la ligne et me bouffe de la place!

Voici mon CSS


body {
    margin-bottom:0px;
	margin-top:25px;
	padding: 0;
	background-color: #F5F5F5;
	font-family: Arial Narrow, Arial Black, serif;
	font-size: 15px;
	background-color:#FFFFFF;
	color: #333333;
	height: 100%;
	text-align: center; /* pour corriger le bug de centrage IE */
}
container {
	position:absolute;
	left: 50%; 
    margin-top: 50px;
	width: 780px;
	height:600px;
    margin-left: -390px; /* moitié de la largeur */
	margin-bottom: 0;
	padding: 0;
	text-align: left;
}
.haut {
	position: relative;
	top: 0;
	left: 0;
	width: 780px;
	height: 80px;
	font-size: 9px;
	color: #FFFFFF;
	background-image:  url("../Images/head.jpg");
}
.menu {
	position: relative;
	top: 0px;
	left: 0px;
	width: 780px;
	height: 25px; 
	font-size: 12px;
}
.frame {
	position: relative;
	top: -45px;
	left: 61px;
	width: 642px;
	height: 380px;
	overflow: auto;
	font-size: 19px;
	color:  #214B85;
	background-image:   url("../Images/frame_centrale.jpg");
	background-attachment:fixed;
	}
.frameright {
	position: relative;
	top: -425px;
	left: 386px;
	width: 8px;
	height: 380px;
	background-image:   url("../Images/bordure_droite.jpg");
}
.frameleft {
	position: relative;
	top: -45px;
	left: -65px;
	width: 650px;
	height: 70px;
}
.frametop {
	position: relative;
	top: 25px;
	left: 65px;
	width: 650px;
	height: 70px;
	font-size:9px;
	color:#FFFFFF;
	background-image:   url("../Images/marge_haut.jpg");
}
.bas {
	position: relative;
	top: -425px;
	left: 0;
	width: 780px;
	height: 20px;
	background-image:   url("../Images/foot.jpg");
	color: #000000;
	font-size: 12px;
	}


et mon index (page sur laquelle on reste tout le temps pendant la navigation car le contenu de la page change dynamiquement)


<body>
<div class="container">
	<div class="haut">
</div>
	<div class="menu">
		  <?php
		  include('menu.php');
		  ?>
		<div class="frametop">
	</div>
			
			 
	<div class="frameleft">
			<?php
			  // On définit le tableau contenant les pages autorisées
			  // ----------------------------------------------------
			  $page = array(  'accueil' => 'Backgrounds/bck_accueil.php',
							  'presentation' => 'Backgrounds/bck_presentation.php',
							  'engagement' => 'Backgrounds/bck_engagement.php',
							  'garde' => 'Backgrounds/bck_garde.php',
							  'charte' => 'Backgrounds/bck_charte.php',
							  'contact' => 'Backgrounds/bck_contact.php',
							  'accompagnement1' => 'Backgrounds/bck_accompagnement1.php',
							  'accompagnement2' => 'Backgrounds/bck_accompagnement2.php',
							  );
			
			  // On teste que le paramètre d'url existe et qu'il est bien autorisé
			  // -----------------------------------------------------------------
			  if ( (isset($_GET['page'])) && (isset($page[$_GET['page']])) ) {
				include($page[$_GET['page']]);   // Nous appelons le contenu central de la page
				}
			  else { include('Backgrounds/bck_accueil.php');
				}
				?>
						</div>
		
	  <div class="frame">
			<?php
			
			  // On définit le tableau contenant les pages autorisées
			  // ----------------------------------------------------
			  $page = array(  'accueil' => 'accueil.php',
							  'presentation' => 'presentation.php',
							  'engagement' => 'engagement.php',
							  'garde' => 'garde.php',
							  'charte' => 'charte.php',
							  'contact' => 'contact.php',
							  'accompagnement1' => 'accompagnement1.php',
							  'accompagnement2' => 'accompagnement2.php',
							  );
			
			  // On teste que le paramètre d'url existe et qu'il est bien autorisé
			  // -----------------------------------------------------------------
			  if ( (isset($_GET['page'])) && (isset($page[$_GET['page']])) ) {
				include($page[$_GET['page']]);   // Nous appelons le contenu central de la page
				}
			  else { include('accueil.php');
				}
			?>
    </div>
	<div class="frameright"></div>
  </div>
	<div class="bas">
		<p align="center">© 2005 Association Entr'Aide Familiale - Tous droits r&eacute;serv&eacute;s - ESC4P Informatique - <a href="mailto:webmaster@esc4p.com">Webmaster</a></p>
	</div>
</div>
</body>


Voila, d'ailleur c'est aussi mon 1er message, j'espère ne pas avoir fait d'erreurs quant aux regles du forums et sur la présentation de mon post... Smiley confused

Ah j'oubliais, l adresse du site http://www.esc4p.com/AEF

Merci d'avance a tous!!!

PS: Ne visualiser que sur IE (si quelqu'un a une idée sur le pb de compatibilité pour FF je suis preneur!!! Smiley lol )
Modifié par defsquier (17 Mar 2005 - 13:06)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"	   "http://www.w3.org/TR/html4/frameset.dtd">
</head>

...

<html lang="fr">

...

</head>

<body>

<div class="container">
	<div class="haut">
</div>
	<div class="menu">
		  <body>

<body onLoad="MM_preloadImages('Images/BOUTON%20DROITE%20bis.jpg','Images/BOUTON%20GAUCHE%20bis.jpg','Images/BOUTON%20MIDDLE%20bis.jpg','Images/accueilbis.jpg')">

...

</body>


		<div class="frametop">
	</div>
			
			 
	<div class="frameleft">
			<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

...

<body>

...

</body>
</html>
						</div>
		
	  <div class="frame">

...

<body>
...

</body>    </div>
	<div class="frameright"></div>
  </div>

	...
</div>
</body>

</html>

y'aura pas comme un problème d'imbrication ????
excuse moi mais je ne comprend pas tres bien le code que tu a mis...je vois des "body" partout Smiley confused

Peut etre que mes elements sont mal imbriqué en effet mais comment faire?

Merci Smiley cligne
Modifié par defsquier (17 Mar 2005 - 12:57)
Administrateur
Salut defsquier et bienvenue,

En fait, dans ce salon, il n'y a que des questions de "problèmes de CSS", donc ton titre est loin d'être parlant et pertinent pour les autres membres.

Si tu veux avoir plus de chance, je te suggère vivement de choisir un titre explicite à ton sujet (comme cela est expliqué dans les Règles du forum, que tu as - j'en suis sûr - apprises par coeur avant de poster) Smiley smile
Bonjour Smiley biggrin

J'ai en effet regardé les regles mais c vrai que mon titre n'est pas explicite (manque d'inspiration).

Bon j'en ai mis un nouveau mais je sais pas s il est tres bien...
On verra.

Merci
Modifié par defsquier (17 Mar 2005 - 13:07)
En ce qui concerne ma feuille de style externe oui et elle n'a apparement aucun probleme...

Par contre, pour mon index, vu que c'est du php il ne peut rien me dire dessus apparement... Smiley confus
le php génere de l'html donc le validateur fonctionne très bien avec un .php

as-tu déclaré un doc type ?
Bonjour,
Comme le suggère Anthony, tu devrais revoir ton code html où l'on dénombre plusieurs éléments body et un html mal placé qui ne peut qu'engendrer des problèmes. Une fois fait, on y verra probablement plus clair Smiley cligne .
Classiquement la structure de ton code devrait ressembler à cela:

<!DOCTYPE ...>
<html>
      <head>
            <title>Page title</title>
                   ...
      </head>
    <body>
          ...
    </body>
</html>
Administrateur
Je pense que c'est un problème (classique) d'include :
a écrit :
l'instruction include insère un fichier directement au sein du code de la page parent. En clair, il ne FAUT PAS que ce code (fichier) inséré ait des balises qui pourraient être redondantes : il suffit de lui supprimer toutes les balises <html>, <head>, <body>... pour ne garder que la partie interne qui sera insérée. Sinon vous allez vous retrouver avec une page contenant deux balises d'en-tete, deux html, deux head, deux body, etc... et un risque sérieux de conflit


--> Tutoriel
Voici mon Head

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
	   "http://www.w3.org/TR/html4/frameset.dtd">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	<title>Bienvenue sur le site d'AEF</title>
	<meta name="robots" content="index,follow" />
	<meta name="Description" content="Association Entr'Aide Familiale, aide à domicile aux personnes agées - Aides familiales" />
	<meta name="Keywords" content="garde partagée, aide, domicile, personnes agées, association, asnières" />
	<meta name="author" content="ESC4P Informatique" />
    <link href="Styles/style3.css" rel="stylesheet" type="text/css" />
	<link rel="shortcut icon" href="Images/icone.ico" />

	<html lang="fr">



<style type="text/css">
<!--
body,td,th {
	font-family: Arial;
	font-size: 50px;
}
-->
</style></head>


et en effet, la validateur a fonctionné a l instant Smiley biggrin

J avais du faire un truc pas bien aux manip d'avant (je crois que c pque j'essayais en local)

Bon je v regarder ce que me disent ces erreurs... http://validator.w3.org/check?uri=www.esc4p.com%2FAEF pour voir le "validation result"
Modifié par defsquier (17 Mar 2005 - 13:37)
Tu choisis un doctype "frameset" mais je ne vois pas de frames Smiley eek .
Sinon la balise html ouvrante est mal placée, elle devrait précéder le head.
Je ferai mieux de mettre quoi en DOCTYPE?
et ou trouve t'on des DOCTYPES?
Et aussi, je trouve plus mal balise <html>
Tu me dis k elle est mal placée mais ou est elle (g fait rechercher mais rien!)

Désolé chui un peu un boulet encore Smiley confused Smiley lol
Modifié par defsquier (17 Mar 2005 - 13:44)
Je te conseille ces quelques liens sur les doctype: http://del.icio.us/Igor/dtd en particulier le Le DOCTYPE qu’il vous faut chez Pompage.net.
Ton html est au milieu de tes balises meta.
Comme le remarque Raphaël on dirait un problème d'include php qui fait que ce que tu inclus est un fichier html complet, il ne faudrait laisser dans les fichiers à inclure que le stricte code minimum (voir le lien de Raphaël).
OK bon les reponses vont tellement vite que je n'ai meme pas eu le tps de repondre a tous:
Raphael: merci tu as raison je v virer mes "doubles-balises"
Igor: ok je v voir ca et je te dit

Merci beaucoup pour vos reponses Smiley biggrin
Modifié par defsquier (17 Mar 2005 - 13:55)
Bon j'ai changé de DOCTYPE, bien que je n'ai pas vraiment compris lequel mettre...
J'ai viré ttes mes balises dans les autres pages que l index,
dans l'index, j'ai replacé le html...

Mais j ai tjs les meme probleme... Smiley confus
Petit indice, apparement, c'est ma frame right qui memmenne a la ligne et qui me fai un scroll...

Je remet mon code histoire d'etre plus clair

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
	   "http://www.w3.org/TR/html4/strict.dtd">
	   
<html>
	<head>
		<title>Bienvenue sur le site d'AEF</title>
		<meta name="Description" content="Association Entr'Aide Familiale, aide à domicile aux personnes agées - Aides familiales" />
		<meta name="Keywords" content="garde partagée, aide, domicile, personnes agées, association, asnières" />
		<meta name="author" content="ESC4P Informatique" />
		<link href="Styles/style3.css" rel="stylesheet" type="text/css" />
		<link rel="shortcut icon" href="Images/icone.ico" />
	</head>

	<body>
	<html lang="fr">
	<div class="container">
		<div class="haut">
	</div>
	  <div class="menu">
			  <?php
			  include('menu.php');
			  ?>
			<div class="frametop">
		</div>
				
				 
		<div class="frameleft">
				<?php
				  // On définit le tableau contenant les pages autorisées
				  // ----------------------------------------------------
				  $page = array(  'accueil' => 'Backgrounds/bck_accueil.php',
								  'presentation' => 'Backgrounds/bck_presentation.php',
								  'engagement' => 'Backgrounds/bck_engagement.php',
								  'garde' => 'Backgrounds/bck_garde.php',
								  'charte' => 'Backgrounds/bck_charte.php',
								  'contact' => 'Backgrounds/bck_contact.php',
								  'accompagnement1' => 'Backgrounds/bck_accompagnement1.php',
								  'accompagnement2' => 'Backgrounds/bck_accompagnement2.php',
								  );
				
				  // On teste que le paramètre d'url existe et qu'il est bien autorisé
				  // -----------------------------------------------------------------
				  if ( (isset($_GET['page'])) && (isset($page[$_GET['page']])) ) {
					include($page[$_GET['page']]);   // Nous appelons le contenu central de la page
					}
				  else { include('Backgrounds/bck_accueil.php');
					}
					?>
		</div>
			
	    <div class="frame">
				<?php
				
				  // On définit le tableau contenant les pages autorisées
				  // ----------------------------------------------------
				  $page = array(  'accueil' => 'accueil.php',
								  'presentation' => 'presentation.php',
								  'engagement' => 'engagement.php',
								  'garde' => 'garde.php',
								  'charte' => 'charte.php',
								  'contact' => 'contact.php',
								  'accompagnement1' => 'accompagnement1.php',
								  'accompagnement2' => 'accompagnement2.php',
								  );
				
				  // On teste que le paramètre d'url existe et qu'il est bien autorisé
				  // -----------------------------------------------------------------
				  if ( (isset($_GET['page'])) && (isset($page[$_GET['page']])) ) {
					include($page[$_GET['page']]);   // Nous appelons le contenu central de la page
					}
				  else { include('accueil.php');
					}
				?>
		</div>
		<div class="frameright"></div>
	  </div>
		<div class="bas">
			<p align="center">© 2005 Association Entr'Aide Familiale - Tous droits r&eacute;serv&eacute;s - ESC4P Informatique - <a href="mailto:webmaster@esc4p.com">Webmaster</a></p>
		</div>
	</div>
	</body>

</html>

Modifié par defsquier (17 Mar 2005 - 14:22)
en faite il faux chosiir un DOC TYPE au début et apres codé en html qui respect ce doc type Smiley cligne

actuellement je te conseille de passer en XHTML 1.0 (strict si possible)

EDIT : apparament tu as choisit HTML 4.01, ok
Modifié par nemohp (17 Mar 2005 - 14:25)
Tu as encore un html de trop Smiley cligne :
 <body>
[#red]<html lang="fr">[#black]
<div class="container">

Ok je v enlever <html lang="fr">
Mais pas contre mes problemes n ont pas changé Smiley langue
auriez vous une idée?
Modifié par defsquier (17 Mar 2005 - 14:33)
Pages :