Mise en page avec des <div> - HTML/CSS - Programmation
Marsh Posté le 09-01-2003 à 19:08:43
Bon on va corriger pas à pas le CSS :
SoulJacker a écrit : Bonjour, |
Les 3 colonnes c'est inspiré de http://www.glish.com/css/7.asp
Voili, voilou
Marsh Posté le 09-01-2003 à 19:09:50
Ah et bien sûr dans le CSS il faut virer le <div id="inheader">
Marsh Posté le 09-01-2003 à 19:14:16
gm putain t malade, t'as vraiment rien de mieux à foutre que macher le boulot aux gars ? Surtout que bon, comme disait un célèbre gars, vaut mieux apprendre à qqn à pecher que lui filer du poisson tout cuit...
Marsh Posté le 09-01-2003 à 19:21:45
Indiana Jones a écrit : gm putain t malade, t'as vraiment rien de mieux à foutre que macher le boulot aux gars ? Surtout que bon, comme disait un célèbre gars, vaut mieux apprendre à qqn à pecher que lui filer du poisson tout cuit... |
Bah j'avais 10 minutes à perdre avant de partir du boulot... Cela dit je ne sais pas si ça marche j'ai fait ça à l'aveugle
J'ai pas fait tout le boulot, il reste des erreurs de validation et d'autres nettoyages à faire. Les conseils donnés ici seront un point de départ pour lui
Allez, c'est ma semaine de bonté.
Marsh Posté le 09-01-2003 à 19:44:20
Citation : Les 3 colonnes c'est inspiré de http://www.glish.com/css/7.asp |
Merciiiiiiiiiiiiiii
(ca fait un mois que je casse la tête a chercher comment reussir ca)
Marsh Posté le 09-01-2003 à 22:36:08
Merci gm_superstar (tiens il convient bien le superstar). Grace a tous les commentaires, j'espère comprendre encore un peu plus.
Au fait, tu ne connaitrais pas un site où on expliquerait le xhtml en profondeur, cad, qui expliquerait pour la mise en page, les éléments de types blocs, les éléments de types en-ligne, ... (avec si possible des exemples)? Parce que j'ai déjà été voir sur le w3school, mais je trouve que cela manque car le principe, je l'ai compris, mais la mise en application n'est pas toujours évidente.
Indiana: ca serait pour un autre projet, ça ne me dérangerais pas de patauger et de chercher un bon coup, mais malheureusement (ou heureusement ) c'est pour mon travail et mon patron risque de ne pas apprécier le fait que je cherche pendant 1 mois .
Pancopha: je me disais aussi que je devais pas être le seul à chercher .
Marsh Posté le 09-01-2003 à 22:39:58
Bah il y'a beaucoup de liens dans la FAQ...
Marsh Posté le 09-01-2003 à 22:46:52
oui, mais généralement je les trouve pas assé complexe. Bah, je ferais le mien quand j'aurrais bien compris (dans 1 an ).
Au fait, il serait possible de mettre la FAQ comme post-it, parce que tout à l'heure je ne l'ai pas trouvé et ca serait plus pratique de l'avoir comme 1er message en permanence.
Marsh Posté le 09-01-2003 à 22:48:56
Bah non parce que c'est pas la seule FAQ du forum Progra (y'a aussi Java, PHP, XML...). Par contre en haut à droite tu as un lien "Liens & sujets utiles" qui regroupe tous les topics intéressants
Marsh Posté le 10-01-2003 à 15:18:23
Et bien non, je viens de passer la matiné et le début de l'après-midi à essayer de régler le problème d'alignement et ce n'est toujours pas bon. Je ne comprends pas trop, j'ai suivi le truc sur glish et rien.
J'ai un comportement différent selon les navigateurs:
- Mozilla et Netscape: le div de gauche mord sur celle du centre. Ou je devrais plutôt dire que le centre n'est pas bien placé car les deux colonnes ont la bonne dimensions. (http://www.iis.hrnet.fr/pluton/mozilla.jpg)
- IE6: Il m'aligne le div de gauche et celui du centre sur la même position (http://www.iis.hrnet.fr/pluton/ie6.jpg)
- IE5: apparement il ne prend pas en compte les div généraux (http://www.iis.hrnet.fr/pluton/ie5.jpg)
- Opera: toujours un problème avec la colonne de gauche et aussi avec le formulaire de recherche.
Le design est dispo à l'adresse: http://www.iis.hrnet.fr/pluton/template.html
et le css: http://www.iis.hrnet.fr/pluton/template.css
Code :
|
Marsh Posté le 10-01-2003 à 15:32:25
Bon il faut remettre width: 100%; à ton div#maincontent. Vu qu'il est en positionnement relatif, IE bugge s'il n'y a pas de largeur déclarée...
Pour le problème de chevauchement c'est sans doute parce que tu as ajouté une bordure à tes DIV, il font donc que tu ajustes les marges du DIV central.
Pour IE 5 il faudra peut-être appliquer le hack suivant : http://www.tantek.com/CSS/Examples/boxmodelhack.html
Marsh Posté le 10-01-2003 à 16:47:05
Oki merci.
Pour les marges du centre, il fallait que je compte le padding que j'avais ajouté de chaque côté (+ les bords).
Pour IE5, j'ai changé le code en:
Code :
|
Pour être sur d'avoir bien compris:
IE5, ne va interprété que:
Code :
|
tandis que les autres navigateurs compatible CSS2 vont interprétés l'entièreté du code. Et donc ne prendre en compte que les deuxièmes valeurs. C'est bien ça?
Par contre pour Opera, c pas encore ça .
(j'y arriverais, j'y arriverais, j'y arriverais, ...
jes les aurais tous )
Marsh Posté le 10-01-2003 à 16:54:22
Non tu n'as pas compris, le hack pour IE 5 agit sur la largeur (et uniquement elle). Donc il ne doit concerner que tes colonnes de gauche et de droite pour lesquelles tu as spécifié une largeur. Ta colonne centrale n'a pas de largeur explicite donc elle n'est pas concernée.
Marsh Posté le 10-01-2003 à 17:04:53
ah bon, pourtant ma solution fonctionne et sur glish, c'est comme ça qu'ils ont fait.
Code :
|
La, j'ai du mal à suivre alors
Marsh Posté le 10-01-2003 à 17:15:57
Ah oui effectivement, j'ai pas pris le temps de lire attentivement. Effectivement ça revient au même et c'est mieux d'ailleurs car ça évite d'appliquer la hack pour 2 colonnes.
Désolé c'est la fin de la semaine
Par contre tu devrais ajouter la deuxième partie du hack pour Opera 5 :
html>body div#centercontent {
...
}
Marsh Posté le 10-01-2003 à 22:16:34
Je vais craquer, je le sens .
J'ai réussi à contourner le problème de l'header en mettant tous les éléments en position: absolute et en supprimant le padding pour le <div id="header"> (IE 5 est vraiment une grosse merde).
Par contre dans Opera, je m'en sors pas. J'essaye avec Opera 6.05 fr, mais les positions sont zarbi. Pour mon formulaire, il n'a pas l'air de prendre en compte le champ right: 20px. Et le div gauche est collé à mon menu alors que j'ai définit un écart de 6px en dessous du menu.
Screenshot: http://www.iis.hrnet.fr/pluton/opera.jpg
Quelqu'un a-t-il une idée???
Merci.
Marsh Posté le 10-01-2003 à 22:32:13
Tu devrais faire tes screenshots en PNG, c'est mieux
Marsh Posté le 10-01-2003 à 23:10:59
d'un autre côté faire un site qui passe bien partout c'est pas gagné. Si déjà c'est bon sur IE et mozilla/netscape bin laisse tomber non ?
Marsh Posté le 10-01-2003 à 23:15:44
Chuis de genre perfectionniste. Puis ca dépend surtout de mon patron , je lui en toucherais deux mots. Mais si c'était possible, j'aimerais que ca tourne sur Opera. Note que je n'ai pas tester sous Mac, ni sous Linux.
Marsh Posté le 11-01-2003 à 01:02:12
HotShot a écrit : |
Tu es sûr que tu ne veux pas que je bannisse ce pseudo-ci ?
Marsh Posté le 11-01-2003 à 01:09:17
HotShot a écrit : Motif ? |
pas besoin de motif
Marsh Posté le 11-01-2003 à 11:50:08
SoulJacker a écrit : Je vais craquer, je le sens . |
Bon ben sinon pour Opéra, tu mets le logo et le texte dans 1 DIV et le formulaire tu le mets en flottant à droite.
Marsh Posté le 11-01-2003 à 12:32:16
SoulJacker a écrit : Bonjour, |
Juste pour savoir ça existe le xhtml 1.1 strict ?
Parce que moi j'ai entendu parler du xhtml 1.0 strict et du xhtml 1.1 ?
Alors c'est quoi la différence entre le xhtml 1.1 et le xhtml 1.1 strict ??
Marsh Posté le 11-01-2003 à 12:35:55
ChiCOToS a écrit : |
Parceque le transitionnal sert pour la phase de transition (comme son nom l'indique). Pour le xhtml 1.1, on considère que la transition est terminée et il ne reste donc plus que le strict.
Marsh Posté le 11-01-2003 à 12:46:16
kadreg a écrit : |
Donc xhtml 1.1 = xhtml 1.1 strict ??
Marsh Posté le 11-01-2003 à 12:48:03
ReplyMarsh Posté le 11-01-2003 à 19:04:41
Bon, mon patron est d'accord pour laisser tomber Opera .
Merci pour votre aide
Marsh Posté le 11-01-2003 à 19:15:27
Citation : Une baffe à ton patron, de la part de W3C Compliant |
Pas compris???
Faudrait peut-être commencer par avoir des navigateurs W3C Compliant tel que Mozilla.
Quand je vois le merdier qu'il faut pour faire un site compatible avec la plupart des navigateurs (anciens surtout), j'ai presque envie d'arreter le développement web et me redirigier vers les applications stand alone ou en réseau.
Marsh Posté le 11-01-2003 à 19:57:12
Non non, je dois pas descendre en deca de IE5 et NS6. d'après ces stats, les autres navigateurs sont que très peu utilisé pour visiter son site.
Marsh Posté le 13-01-2003 à 19:19:08
J'ai encore un petit problème.
Dans le div de droite, j'ai mis plusieurs div imbriqués.
Code :
|
Pour qu'ils s'alignent correctment dans IE, j'ai fixé le width à 150px pour basketdiv et mailinglistdiv (qui me servent en plus à mettre un bord gris autour de l'ensemble). Malheureusement, avec Mozilla (et donc NS), au lieu de garder l'alignement qu'il devrait avoir, les div sont repoussé vers la droite (de 4 pixels).
J'ai fait deux screenshots pour illustrer le problème:
- IE: http://users.skynet.be/bk372655/ie.png
- NS: http://users.skynet.be/bk372655/ns.png
Si je ne mets pas de valeur au width, j'ai un espace entre les div latéraux et le div central.
Marsh Posté le 13-01-2003 à 20:48:26
Comment sont positionnés les DIVs ? Le BODY a-t-il une marge ? du padding ? Bref, donne un peu plus de code...
Marsh Posté le 13-01-2003 à 22:11:48
ca ne va pas être bref, désolé:
Code :
|
rightmenu.asp
Code :
|
pour leftmenu.asp, c'est la même idée
un exemple de contenu de la colonne du milieu
Code :
|
Les css:
Code :
|
Code :
|
Code :
|
J'ai supprimé ce qu'il me semblait inutile pour le cas qui nous intéresse.
Marsh Posté le 14-01-2003 à 09:17:45
J'ai trouver, j'avais oublier de modifier les marges pour la colonnes du milieux alors que j'avais supprimer les bords ==> décalage.
Mais j'ai toujours un petit soucis, dans IE6 mes div ne sont pas tout à fait bien placé, ils devraient être 1 pixel plus à droite.
http://users.skynet.be/bk372655/iebug.png, je suppose vient du div englobant, mais je n'en suis pas sur.
pour la colonne de droite
Code :
|
les deux div qui sont englobés dans la colonne de droite:
Code :
|
Marsh Posté le 14-01-2003 à 10:37:48
SoulJacker a écrit : J'ai trouver, j'avais oublier de modifier les marges pour la colonnes du milieux alors que j'avais supprimer les bords ==> décalage. |
Bah voilà tu as fini par trouver tout seul
SoulJacker a écrit : Mais j'ai toujours un petit soucis, dans IE6 mes div ne sont pas tout à fait bien placé, ils devraient être 1 pixel plus à droite. |
Essaye de faire apparaître les bordures des différents DIV afin de visualiser lequel n'est pas aligné avec les autres.
Marsh Posté le 14-01-2003 à 12:00:07
Pour moi, c'est toute la colonne de droite qui est mal placé. Si je fait right: -1px au lieu de right: 0px, l'alignement est correct dans IE, mais bien sur pas dans Mozilla/NS. Donc, il me semble que c'est elle qui pose problème.
Ah aussi, comme les colonnes sont en position: absolute, la hauteur de la page est défini par la colonne du mileu. Le problème s'est qu'il peut arriver que la colonne de gauche soit plus haute que celle du milieu (affichage en arbre que l'on cache en partie) et donc vient "écraser" le menu du bas, ce qui n'est pas très joli. Y a-t-il une solution pour que la hauteur de la page varie en même temps que celle de la colonne?
Marsh Posté le 14-01-2003 à 14:03:51
Ca me fait une belle jambe, 90% des utilisateurs utilisent IE.
Règle n°2: l'utilisateurs a toujours raison, ainsi que le patron
Marsh Posté le 09-01-2003 à 17:38:14
Bonjour,
J'ai un petit problème pour mettre un site en page avec des <div>. J'utilse le XHTML 1.1 strict. Non gm_superstar, ce n'est pas le même site que la dernière fois, cette fois, c'est pour mon boulot.
code xhtml:
J'ai 2 problèmes:
1/ je voudrais que le logo, le texte "E-Direct" et le formulaire de recherche soit sur la même ligne et centrer verticalement.
2/ Il faudrait que les 3 div rightcontent, content et leftcontent soit côte à côte au lieu d'un au dessous des autres.
Je me demandais aussi si il était possible de mettre une marge entre le bord d'un div et son contenu. Car pour le faire, j'ai du passer par un autre div et appliquer les margin à ce deuxième div.
code css:
Le tout est visionnable à l'adresse http://guillaume.lesur.free.fr/openit/template.html (je n'ai pas uploader les images). Le tout doit ressembler à peu près à ça: http://www.openit.be/asp/ à part que j'aimerais que ça tienne sur toutes la largeur d'une page et adaptable selon la résolution.
Merci pour votre aide.