Bonjour à tous, je me décide finalement à venir chercher un peu d'aide auprès des experts. En effet, après toute une soirée de recherche sur google et divers forums, je ne parviens toujours pas à solutionner mon problème.

Alors... je vous fait un rapide topo... A la base je suis infographiste print et photographe. Donc... Pour être clair... Je m'y connais autant en "codage" qu'une langouste en astronomie... je pense que ça vous permet de bien situer mon niveau... ^^'

Cela dis j'essaye d'apprendre, ou du moins de comprendre...

J'en viens au sujet de mon post : je suis en train de créer mon site pour ma futur auto entreprise.
Enfin, il s'agit plutôt d'un portfolio finalement, d'où le fait que je reste dans le "simple" niveau navigation etc...
Je m'oriente vers le CSS, vu que j'ai cru comprendre que cela apportait légèreté, puissance et flexibilité.
Pour le design, il est déjà terminé, j'en suis au découpage et à "l'assemblage" en ligne.

J'ai récupéré un petit gabarit CSS tout simple que j'ai commencé à bidouiller pour apprendre un peu et intégrer mes éléments.

Le design est en fait ultra simple : un header, un zone centrale et un footer. Smiley confused

J'arrive bien à afficher les trois morceaux précédemment découpés, à la bonne taille (oui car j'avais déjà rencontré entre autres problème le fait que les taille des bloc ne correspondaient pas à mes images, ça j'ai réussi à résoudre seul Smiley lol )

Quoi qu'il en soie, voici le problème : tout est aligné à gauche...

Alors à force de recherche, j'ai bien compris qu'il existe plusieurs moyens de centrer tout ça et j'en ai essayé un bon nombre... Mais... Soit cela flingue totalement le design (bout retirés, affichage totalement erratique etc...), soit cela ne fait... tout simplement rien... o_O

Voilà pourquoi je m'adresse à vous... Je voudrai vraiment parvenir à comprendre et à m'améliorer, mais je ne suis apparemment pas en mesure de réussir dans aide.. Donc me voici !

Actuellement mon code ressemble à ceci :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Test</title>
<style type="text/css">


body {
width:100%; margin:0;
background-color:#333333;
}



/* ----- HEADER ----- */



#header {
width:1280px;
height:143px;
background-color:#333333;
background-image: url(../images/header.jpg);
}



/* ----- MAIN CONTENT ----- */



#content { 
width:1280px;
height:498px;
background-color:#333333;
background-image: url(../images/background.jpg);
margin-top:0px;
min-height:500px; /* for modern browsers */
height:auto !important; /* for modern browsers */
height:500px; /* for IE5.x and IE6 */
}



/* ----- FOOTER ----- */



#footer { 
width:1280px;
height:79px;
background-color:#333333;
background-image: url(../images/footer.jpg);
margin-top:0px;
}
</style>
</head>
<body>
<div id="header">
	</div>
<div id="content">
	</div>
<div id="footer">
	</div>
</body>
</html>


Ayant tellement apporté de modifications pour tenter de m'en sortir, me code ne dois plus être très propre en plus... Smiley ohwell

Au passage, voici l'adresse de test du site : siremorpheus.free.fr (le design n'est pas complet, il manque le logo qui sera une image superposé sur le header et le "menu" constitué d'un menu fait simplement de 4 images superposés également au header).

Voilà, j’espère ne pas avoir été trop long, mais il est indiqué partout la nécessité d'être le plus clair et précis... donc.... :$

En tout cas, je remercie quiconque pourra m'aider un peu dans la longue et difficile route de l'apprentissage de du css... ^^
Modifié par Ljusalfheim (24 Jul 2012 - 23:07)
Hello, et bienvenue Smiley smile

Pour centrer ta page, le mieux est de miser sur des marges externes (propriété margin) automatiques appliquées à un élément contenant tous les éléments de ton gabarit. Cet élément doit avoir une largeur définie (propriété width).

Tu peux par exemple utiliser la règle déjà utilisée pour l'élément <body> :

body {
     width: 1280px; 
     margin: 0 auto 0 auto;
}


Pour en savoir plus, va voir la section «centrage horizontal des éléments de type bloc» sur ce tutoriel d'alsacréations

Je te conseille aussi les tutoriels traitant du positionnement en CSS
Modifié par audrasjb (24 Jul 2012 - 23:37)
D'accord, alors j'ai simplement modifié mon body comme ceci :

body {
width:1280px;
margin:0 auto 0 auto;
background-color:#333333;
}


Et bim... Tout est centré... Je n'arrive pas à croire que c'était si "simple" que cela ! o_O

Il m'a pourtant semblé déjà avoir modifié pour jouer sur les "margin"... J'avais du commetre une erreur de syntaxe ou quelque chose comme cela...

Par contre, tu parlais d'intégrer tout mes éléments dans un autre qui serait lui-même centré ? Est-ce logique que cela aie fonctionné juste en touchant au body ? (remarque, si j'ai bien saisi et si mes vieux souvenirs d'html sont correct, le body "contient" finalement tout les blocs en fait... donc oui, à priori c'est logique...)

Pourrais-tu me confirmer histoire que je ne me lance pas dans l'erreur... ? ^^

En tout cas je te remercie infiniment, sincèrement !

Sinon, je vais effectivement aller parcourir les liens que tu m'a donné, ça sera certainement très enrichissant.

J'avais aussi d'autres questions mais sur des fonctions totalement différentes, dois-je continuer sur ce sujet ou en créer un nouveau ?

Et encore une fois, un chaleureux merci ! Smiley biggrin
Ljusalfheim a écrit :
Par contre, tu parlais d'intégrer tout mes éléments dans un autre qui serait lui-même centré ? Est-ce logique que cela aie fonctionné juste en touchant au body ?

L'idée, c'est d'englober tous tes éléments dans un autre qui est centré à l'aide de :

body {
   margin: 0 auto 0 auto;
}

qui est (au passage) une notation raccourcie pour :

body {
   margin-top: 0;
   margin-right: auto;
   margin-bottom: 0;
   margin-left: auto;
}

Ce sont ces marges externes automatiques à droite et à gauche qui permettent de centrer horizontalement un élément de type bloc (si cet élément possède une largeur). On aurait pu utiliser une division (<div>) englobant tes trois éléments principaux et y appliquer des marges externes automatiques, mais <body> étant un conteneur comme un autre, ça marche très bien comme ça Smiley smile

Ljusalfheim a écrit :
En tout cas je te remercie infiniment, sincèrement !
Sinon, je vais effectivement aller parcourir les liens que tu m'a donné, ça sera certainement très enrichissant.

Pas de quoi, et je te les recommande vraiment !

Ljusalfheim a écrit :
J'avais aussi d'autres questions mais sur des fonctions totalement différentes, dois-je continuer sur ce sujet ou en créer un nouveau ?

Ouvre plutôt un nouveau sujet, comme ça d'autres visiteurs pourront plus facilement tomber dessus en utilisant un moteur de recherche, sans forcément devoir lire ce sujet-là en entier Smiley cligne
Modifié par audrasjb (25 Jul 2012 - 00:30)
OK, je te remercie, avec la petite explication qui va bien, j'ai parfaitement saisi, et je suis content de voir que j'avais plutôt compris ! ^^

C'est parti pour de nouveaux sujets alors, je vais déjà voir ce que j'arrive à faire seul. D’après mes lectures ça et là, le soucis de centrage me semblait être la plus grosse difficulté, mais il est probable que je me trompe Smiley langue
audrasjb a écrit :

L'idée, c'est d'englober tous tes éléments dans un autre qui est centré à l'aide de :

body {
   margin: 0 auto 0 auto;
}

qui est (au passage) une notation raccourcie pour :

body {
   margin-top: 0;
   margin-right: auto;
   margin-bottom: 0;
   margin-left: auto;
}



D'ailleurs on peut le raccourcir encore plus :


body {
  margin: 0 auto;
}