Demande d'aide pour une structure css basique

Demande d'aide pour une structure css basique - HTML/CSS - Programmation

Marsh Posté le 19-04-2010 à 16:53:37    

Bonjour tout le monde.
Je viens de passer l'apres midi sur une structure et je bloque sur ce 100% de hauteur, tout deconne et dans ie6 je vous raconte pas
Si quelqu'un de bien attentionné pouvait me fournir un petit squelette basique ce serait sympa

 

Voilà la maquette
http://nsa14.casimages.com/img/2010/04/19/mini_10041904532973114.jpg
on le voit pas sur l'image désolé, mais il y'a un fil d'ariane en bas de page et un footer, ce que j'ai fait comme code bizarrement rien ne s'affiche en dessous la div page

 

Je peut mettre mon code si vous voulez mais je pense pas qu'il ai beaucoup d'interêt

Message cité 1 fois
Message édité par Sataneo85 le 19-04-2010 à 16:57:31
Reply

Marsh Posté le 19-04-2010 à 16:53:37   

Reply

Marsh Posté le 19-04-2010 à 20:59:54    

personne svp ? juste pour me mettre en place ces 4 blocs

Reply

Marsh Posté le 19-04-2010 à 22:20:19    

Par exemple tu peux créer 2 "conteneurs" :
 
Un premier que tu appelles "conteneur1" (par ex) correspondra à ta zone/bloc grise. Il sera "à l'intérieur"
du bloc du fond (jaune).
 
A l'intérieur de ce conteneur tu en crées un second, "conteneur2", dans lequel tu mettras :
le bloc bleu - tu forces ce bloc bleu à ce que les suivants se placent en dessous
le bloc jaune pale
le bloc vert pale - que tu forces à placer vers la droite ( "float:right" )
 
Ce "container2", tu lui assignes un "float:right" pour qu'il se colle à la droite, à l'intérieur du conteneur1 (le gris)
 
 
Normalement ca devrait marcher (il existe plein d'autres solutions...)


Message édité par toum_toum le 19-04-2010 à 22:20:58

---------------
“Et maintenant, la météo" - Soloviev 2022-2024
Reply

Marsh Posté le 19-04-2010 à 22:25:03    

Sataneo85 a écrit :

Bonjour tout le monde.
Je viens de passer l'apres midi sur une structure et je bloque sur ce 100% de hauteur, tout deconne et dans ie6 je vous raconte pas
Si quelqu'un de bien attentionné pouvait me fournir un petit squelette basique ce serait sympa
 
Voilà la maquette
http://nsa14.casimages.com/img/201 [...] 973114.jpg
on le voit pas sur l'image désolé, mais il y'a un fil d'ariane en bas de page et un footer, ce que j'ai fait comme code bizarrement rien ne s'affiche en dessous la div page
 
Je peut mettre mon code si vous voulez mais je pense pas qu'il ai beaucoup d'interêt


Qu'est-ce que tu veux dire par "100 % de hauteur" ?


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
Reply

Marsh Posté le 19-04-2010 à 22:26:35    

ça me rassure parceque c'est ce que j'ai fait, je met le code

 

HTML

<!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=utf-8" />
<title>Document sans nom</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>

 

<body>
<div id="conteneur">
 <div id="bande_gauche">
 
   <p>bande gauche </p>

 

</div>
    <div id="conteneur_droite">
      <div id="header"> header </div>
      <div id="ariane">ariane</div>
      <div id="page"> page</div>
      <div id="pub_droite"> pub droite </div>
      <div id="ariane">ariane</div>
    </div>
</div>
</body>
</html>

 

CSS


/*------------ RESET CSS------------*/

  

#conteneur {
 width: 1000px;
 margin-left: auto;
 background-color: #8D8D8D;
 margin-right: auto;
 height: 100%;
 position: absolute;
 clip: rect(auto,auto,auto,auto);
}
#conteneur_droite {
 width: 800px;
 height: 100%;
 float: left;
 position: absolute;
 left: 200px;

 

}

 

#bande_gauche {
 background-color: #CCCCCC;
 width: 200px;
 height: 100%;
 float: left;
 position: absolute;

 


}
body {
 width: 1000px;
 background-color: #FFCC00;
 margin-right: auto;
 margin-left: auto;
}

 

#header {
 background-color: #00CCFF;
 height: 150px;
}
#page {
}

 

#page {
 background-color: #FFFFCC;
 float: left;
 width: 600px;
 height: 100%;
 position: relative;
}
#pub_droite {
 background-color: #33FF66;
 float: left;
 width: 200px;
 height: 100%;
 position: relative;

 

}
#ariane {
 background-color: #FF99FF;
 float: left;
 width: 800px;
}

 


EDIT : par 100% de hauteur j'entend que quelquesoit la taille du contenu le contenant prenne l'intégralité de la hauteur de la fenêtre


Message édité par Sataneo85 le 19-04-2010 à 22:27:41
Reply

Marsh Posté le 19-04-2010 à 22:46:37    

Voilà donc je comprend pas pourquoi le ariane répété en bas n'apparait pas

Reply

Marsh Posté le 19-04-2010 à 22:59:19    

J'ai lu vite fait, mais déjà :  
 
- tu as un #page {} qui est vide, tu devrais le virer
- quand tu mets en position absolute, je te conseille d'indiquer aussi un "top:0;"
- quand tu utilises des margin:auto pour centrer, il faut rajouter un position:relative;
 
PS : c'est quoi ton métier ?


Message édité par Alekusu2 le 19-04-2010 à 22:59:48
Reply

Marsh Posté le 19-04-2010 à 23:01:12    

a la base suis infographiste print, et je me retrouve a faire du web, je fais tout ce que tu dis pour voir et j'heberge pour montrer

Reply

Marsh Posté le 19-04-2010 à 23:05:57    

http://www.mushu.fr/test
Voilà, y'a du mieux mais je comprend pas pourquoi le bloc de droite s'agrandit a 100% + le header
Par contre je vous raconte même pas la tronche du truc sous ie ...

Reply

Marsh Posté le 19-04-2010 à 23:06:11    

c'est normal si ton conteneur + ton conteneur_droite, on arrive à une largeur de 1800pixels ?

Reply

Marsh Posté le 19-04-2010 à 23:06:11   

Reply

Marsh Posté le 19-04-2010 à 23:06:48    

ah non pardon j'ai mal lu

Reply

Marsh Posté le 19-04-2010 à 23:07:46    

Dans un premeir temps, vire ça de ton HTML  
 
<div id="header"> header </div>
      <div id="ariane">ariane</div>
      <div id="page"> page</div>
      <div id="pub_droite"> pub droite </div>
      <div id="ariane">ariane</div>
 
Pour te concentrer que sur ce qui pose problème
Dans le développement il faut agir par méthode d'élimination
 
Ensuite, pourquoi tu as mis ça "clip: rect(auto,auto,auto,auto);" ?


Message édité par Alekusu2 le 19-04-2010 à 23:09:20
Reply

Marsh Posté le 19-04-2010 à 23:09:31    

bah si je vire ça j'ai plus de problème, puisque c'est l'ecart du bas qui deconne
 
pour clip bidule.... je sais pas d'ou c'est sorti, je l'ai viré


Message édité par Sataneo85 le 19-04-2010 à 23:10:34
Reply

Marsh Posté le 19-04-2010 à 23:10:05    

Ensuite, pourquoi tu as mis ça "clip: rect(auto,auto,auto,auto);" ?

Reply

Marsh Posté le 19-04-2010 à 23:11:27    

répondu au dessus ^_^ Dreamweaver surement ...

Reply

Marsh Posté le 19-04-2010 à 23:14:29    

Bon déjà pour une question de propreté, on met le body en premier, et ensuite on essaye d'avoir une hierarchisation à chaque élément, genre en premier le position, ensuite les tailles, les marges, etc. Ensuite ton body t'as pas à le definir comme ça, ton body c'est un élément un peu virtuel il sert surtout à définir des propriétés générales. Ensuite tu uilises les positions n'importe comment... t'as pas à mettre des positions absolute partout...
 
Voici un code CSS plus propre :
 

Code :
  1. body {
  2. background-color: #FFCC00;
  3. }
  4. #conteneur {
  5. position: relative;
  6. width: 1000px;
  7. height: 100%;
  8. margin-left: auto;
  9. margin-right: auto;
  10. background-color: #8D8D8D;
  11. }
  12. #conteneur_droite {
  13. float: left;
  14. width: 800px;
  15. height: 100%;
  16. }
  17. #bande_gauche {
  18. float: left;
  19. width: 200px;
  20. height: 100%;
  21. background-color: #CCCCCC;
  22. }
  23. #header {
  24. background-color: #00CCFF;
  25. height: 150px;
  26. }
  27. #page {
  28. float: left;
  29. width: 600px;
  30. height: 100%;
  31. background-color: #FFFFCC;
  32. }
  33. #pub_droite {
  34. float: left;
  35. width: 200px;
  36. height: 100%;
  37. background-color: #33FF66;
  38. }
  39. #ariane {
  40. float: left;
  41. width: 800px;
  42. background-color: #FF99FF;
  43. }


Message édité par Alekusu2 le 19-04-2010 à 23:15:13
Reply

Marsh Posté le 19-04-2010 à 23:17:33    

Si c'est ta question, en CSS de base on ne *peut pas* ajuster la hauteur d'un enfant en fonction de celle de son parent si ce dernier n'a pas une taille fixe. Autrement dit, la plupart du temps height: 100% ne marche pas.

 

La seule solution de faire une mise en page qui colle à la fenêtre en hauteur (ce qui est rarement un bon choix de design ceci dit) c'est de caler tout en absolute avec des bottom: 0 et des right: 0...

 

Dans ton cas j'en sais rien, l'essentiel (le footer et la hauteur ajustée) n'étant pas dans le screenshot que tu nous a filé...


Message édité par theredled le 19-04-2010 à 23:20:36

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
Reply

Marsh Posté le 19-04-2010 à 23:17:46    

ensuite si tu utilises plusieurs fois un élément (ariane) c'est une class et pas un ID, un ID c'est pour un élément unique.  
 
donc il faut faire div class="ariane"
 
et dans ton css c'est plus #ariane{ mais .ariane{

Reply

Marsh Posté le 19-04-2010 à 23:23:49    

ok donc si j'ai bien compris ma structure était pas si con que ça^^
ok merci pour toutes ces précisions, je fait un truc propre je emt en ligne et je vous montre

Reply

Marsh Posté le 19-04-2010 à 23:25:13    

C'est bof en absolute, il faut mieux privilégier que ta partie que tu veux en 100% contiennent les autres éléments, comme ça elle s'agrandit avec eux, c'est plus malin et plus propre. Enfin bon tu fais comme tu veux mais moi je vais pas y passer la nuit hein :D


Message édité par Alekusu2 le 19-04-2010 à 23:27:00
Reply

Marsh Posté le 19-04-2010 à 23:34:10    

voilà, bon rien fonctionne mais bon ... sous ie6 la partie de gauche n'apparait pas, dans l'idéal je voudrais que la div page comble tout ce vide
http://www.mushu.fr/test

Reply

Marsh Posté le 19-04-2010 à 23:37:04    

Tu prends pas la feuille que je t'ai filée, donc bon je vais avoir du mal à t'aider :spamafote:


Message édité par Alekusu2 le 19-04-2010 à 23:37:24
Reply

Marsh Posté le 19-04-2010 à 23:37:19    

j'ai trouvé ça
ca pourrait être applicalbe a mon cas ?
http://www.lamaprod.com/CSS-Hauteu [...] n-bas.html

 

EDIT: si j'ai fait comme t'as dit, d'ailleurs ca a été assez chiant virer tout les chiffres devant chaque ligne ^_^ apres j'ai essayé de forcer la partie de gauche a s'agrandir, c'est obligé vu la page a faire et le design a y mettre

Message cité 2 fois
Message édité par Sataneo85 le 19-04-2010 à 23:39:13
Reply

Marsh Posté le 19-04-2010 à 23:38:19    

Sataneo85 a écrit :

voilà, bon rien fonctionne mais bon ... sous ie6 la partie de gauche n'apparait pas, dans l'idéal je voudrais que la div page comble tout ce vide
http://www.mushu.fr/test


Déja, vire tous les height: 100%.
 
Pour ta div "page", fout-lui genre un min-height: 700px, pareil pour la colonne de gauche.


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
Reply

Marsh Posté le 19-04-2010 à 23:40:33    

Sataneo85 a écrit :

j'ai trouvé ça
ca pourrait être applicalbe a mon cas ?
http://www.lamaprod.com/CSS-Hauteu [...] n-bas.html


Ca devrait, jamais essayé ce genre de truc perso.


Message édité par theredled le 19-04-2010 à 23:40:44

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
Reply

Marsh Posté le 19-04-2010 à 23:40:48    

Sataneo85 a écrit :

j'ai trouvé ça
ca pourrait être applicalbe a mon cas ?
http://www.lamaprod.com/CSS-Hauteu [...] n-bas.html
 
EDIT: si j'ai fait comme t'as dit, d'ailleurs ca a été assez chiant virer tout les chiffres devant chaque ligne ^_^ apres j'ai essayé de forcer la partie de gauche a s'agrandir, c'est obligé vu la page a faire et le design a y mettre


 
Il suffit de cliquer sur la case où il y a le code et les chiffres s'en vont...
Ensuite non tu as pas repris mon code vu qu'il y a des trucs importants qui ont été virés dedans.

Reply

Marsh Posté le 19-04-2010 à 23:41:50    

theredled a écrit :


Déja, vire tous les height: 100%.
 
Pour ta div "page", fout-lui genre un min-height: 700px, pareil pour la colonne de gauche.


 
min-height ? Le genre de truc batard qui fonctionne pas sous IE :/

Reply

Marsh Posté le 19-04-2010 à 23:43:30    

Sataneo85 a écrit :

ok donc si j'ai bien compris ma structure était pas si con que ça^^
ok merci pour toutes ces précisions, je fait un truc propre je emt en ligne et je vous montre


 
 
C'est quoi que tu reproches à ton affichage (sous Firefox) au juste ?...
 
Edit : ou sous IE7 d'ailleurs...


Message édité par toum_toum le 19-04-2010 à 23:46:45

---------------
“Et maintenant, la météo" - Soloviev 2022-2024
Reply

Marsh Posté le 19-04-2010 à 23:43:57    

Alekusu2 a écrit :

 

min-height ? Le genre de truc batard qui fonctionne pas sous IE :/


C'est totalement standard et ça marche sur IE 7+ . Au-dessous, il suffit d'un _height:700px;

Message cité 1 fois
Message édité par theredled le 19-04-2010 à 23:44:53

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
Reply

Marsh Posté le 19-04-2010 à 23:44:48    

theredled a écrit :


C'est totalement standard et ça marche sur IE > 7 . Au-dessous, il suffit d'un _height:250px;


 
Non mais son truc peut être fait sans aucun hack css donc bon, autant le faire simplement :spamafote:

Reply

Marsh Posté le 19-04-2010 à 23:45:58    

Alekusu2 a écrit :


 
Non mais son truc peut être fait sans aucun hack css donc bon, autant le faire simplement :spamafote:


T'es sûr de toi là  [:eerilie]


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
Reply

Marsh Posté le 19-04-2010 à 23:47:08    

theredled a écrit :


T'es sûr de toi là  [:eerilie]


Complètement.
Tout peut être fait sans hack css de manière générale, c'est juste que c'est moins contraignant et plus rapide d'en foutre partout :D

Message cité 2 fois
Message édité par Alekusu2 le 19-04-2010 à 23:48:12
Reply

Marsh Posté le 19-04-2010 à 23:49:29    

Alekusu2 a écrit :


Complètement.


Bah déja dans ton CSS, #conteneur { height: 100% } ne marchera pas sous IE6. Et si son contenu dépasse, il est fucké.

Message cité 1 fois
Message édité par theredled le 19-04-2010 à 23:50:10

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
Reply

Marsh Posté le 19-04-2010 à 23:51:50    

Alekusu2 a écrit :

Tout peut être fait sans hack css de manière générale, c'est juste que c'est moins contraignant et plus rapide d'en foutre partout :D


Sans hack, tu veux dire "avec des commentaires conditionnels spécial IE" je suppose ?
 
Parce que sinon, tu m'expliqueras comment on fait un min-height sans hack, par ex.


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
Reply

Marsh Posté le 20-04-2010 à 00:03:16    

theredled a écrit :


Bah déja dans ton CSS, #conteneur { height: 100% } ne marchera pas sous IE6. Et si son contenu dépasse, il est fucké.


 
Pour linstant j'ai pas essayé de résoudre son problème, ma feuille CSS n'a pour but que de lui inculquer des bonnes méthodes et de la rigueur dans sa feuille. S'il doit faire tout un site, il faut mieux qu'il puisse s'y retrouver, sinon il va revenir nous voir toites les 5 mins :D
 
"Parce que sinon, tu m'expliqueras comment on fait un min-height sans hack, par ex."
 
Bah on ne l'utilise pas :spamafote:

Reply

Marsh Posté le 20-04-2010 à 00:05:26    

Alekusu2 a écrit :

"Parce que sinon, tu m'expliqueras comment on fait un min-height sans hack, par ex."

 

Bah on ne l'utilise pas :spamafote:


Vu comme ça [:petrus75] On peut tout faire sans hack, sauf ce qui a besoin d'un hack, quoi [:dawa]

Message cité 1 fois
Message édité par theredled le 20-04-2010 à 00:05:43

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
Reply

Marsh Posté le 20-04-2010 à 00:11:17    

theredled a écrit :


Vu comme ça [:petrus75] On peut tout faire sans hack, sauf ce qui a besoin d'un hack, quoi [:dawa]


J'ai jamais vu un projet où on avait besoin de min-height :spamafote:

Reply

Marsh Posté le 20-04-2010 à 00:12:25    

Alekusu2 a écrit :


J'ai jamais vu un projet où on avait besoin de min-height :spamafote:


Moi si, plein.


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
Reply

Marsh Posté le 20-04-2010 à 00:13:09    

theredled a écrit :


Moi si, plein.


T'as un exemple de cas ?

Reply

Marsh Posté le 20-04-2010 à 00:15:21    

Alekusu2 a écrit :


T'as un exemple de cas ?


- Une div avec un contenu de taille variable
- Mais on veut qu'elle fasse minimum 10 lignes de haut sinon c'est moche.

Message cité 1 fois
Message édité par theredled le 20-04-2010 à 00:15:29

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed