Caller un pied de page [XHTML] - HTML/CSS - Programmation
Marsh Posté le 27-04-2004 à 11:50:05
ReplyMarsh Posté le 27-04-2004 à 12:54:28
Donc, pas de soluce sans hack --> conclusion --> table de 100% de haut avec deux lignes, celle du bas fixe en hauteur.
Marsh Posté le 27-04-2004 à 13:02:13
Ben avec le hack ca m'évite de retoucher le code de la page...
Marsh Posté le 27-04-2004 à 15:14:43
Aucune des méthodes fonctionnent sur Mac (Safari et IE 5.2)
Marsh Posté le 27-04-2004 à 15:16:51
Kyle a écrit : Aucune des méthodes fonctionnent sur Mac (Safari et IE 5.2) |
Ben oui, les hacks c'est tout pourri, c'est pas nouveau hein...
Alors tu lis ma solution plus haut.
Marsh Posté le 27-04-2004 à 15:23:19
Hermes le Messager a écrit : Ben oui, les hacks c'est tout pourri, c'est pas nouveau hein... |
ouai pas le choix
Mais j'aime pas les utiliser pour la mise en page en xhtml
Marsh Posté le 27-04-2004 à 15:32:21
Kyle a écrit : ouai pas le choix |
Ben moi non plus et j'évite soigneusement dès que je peux d'ailleurs.
Marsh Posté le 27-04-2004 à 23:04:32
Hermes le Messager a écrit : Donc, pas de soluce sans hack --> conclusion --> table de 100% de haut avec deux lignes, celle du bas fixe en hauteur. |
Bon, on a compris. Tu vas pas ramener ça à chaque fois non ?
Marsh Posté le 27-04-2004 à 23:33:18
Hermes le Messager a écrit : Donc, pas de soluce sans hack --> conclusion --> table de 100% de haut avec deux lignes, celle du bas fixe en hauteur. |
Hum... Sachant que mettre une table à 100% de haut nécessite un hack pour fonctionner...
Marsh Posté le 27-04-2004 à 23:35:41
gizmo a écrit : Hum... Sachant que mettre une table à 100% de haut nécessite un hack pour fonctionner... |
Ah ? Lequel ?
Marsh Posté le 28-04-2004 à 00:05:41
Hermes le Messager a écrit : Ah ? Lequel ? |
la hauteur d'un objet, lorsqu'elle est exprimée en pourcentage, est fonciton de son bloc conteneur. Quand celui-ci n'a pas de valeur, le pourcentage est automatiquement changé en "auto".
Donc, il faut déjà applique une hauteur au bloc conteneur, premier hack.
Ensuite, le bloc conteneur étant body, la règle s'applique également à celui-ci. Le seul problème, c'est que pour body, le bloc conteneur est, selon la norme, laissé à l'appréciation de l'UA.
Pour certains browser, il s'agit du bloc html, on rajoute donc une hauteur de 100% à celui-ci. Deuxième hack, d'autant plus que la hauteur de 100% n'indique en rien à quoi ces % font allusion. A la taille de l'écran? du browser? de la partie browsable du browser? C'est laissé au bon vouloir de l'UA, s'il prend ce hack en compte.
Pour d'autre browser, le bloc conteneur n'est pas html (considéré comme balise root et donc ayant un statut spécial en soi) mais bien le browser. Ici même problème. Les 100% de body s'appliquent-ils à la taille de la fenêtre browsable ou à la taille du browser?
En outre, si les browsers respectaient scrupuleusement la norme, il faudrait, en cas de page ayant une hauteur dépassant ta prévision, que le texte sort du cadre infligé par le tableau et continue en dessous de celui-ci.
Heureusement pour toi, aucun browser ne respectent encore parfaitement la norme est ton hack fonctionne pour le moment, mais cela reste un hack. Et qui a faire des hack, je préfère parrier sur l'avenir.
Marsh Posté le 28-04-2004 à 00:35:44
Et j'ajouterais, que la seule bonne manière de donner 100% de hauteur à un bloc, c'est d'utiliser en même temps la propriété "position: fixed" car c'est la seule qui fait explicitement référence à la zone de visualisation.
On lève ainsi tout ambiguité : le pourcentage est exprimé en fonction de la hauteur de la zone de visualisation et pas du conteneur (ce qui, autre avantage, permet de s'affranchir de celui-ci).
Mais bon on sait ce qu'il en est de fixed dans IE...
Marsh Posté le 28-04-2004 à 04:12:16
à vous lire tt les 3, y'a aucune solutions valide cross broser qui soit pas dégueulasse...
les normes c bien, mais faudra attendre ie 8.0 au moins pour que ca passe (je veux dire qu'il faudra attendre que ie6.0 disparaisse, en espérant que le remplaçant soit full w3c compliant, ce qui est pas gagné)
Marsh Posté le 28-04-2004 à 07:52:12
gizmo a écrit : la hauteur d'un objet, lorsqu'elle est exprimée en pourcentage, est fonciton de son bloc conteneur. Quand celui-ci n'a pas de valeur, le pourcentage est automatiquement changé en "auto". |
ça tient pas debout ton histoire.
Si le fait que 100% de hauteur n'a pas de sens pour HTML ou BODY, je ne vois absoluement pas ce que ça change entre une table de 100% de haut et un div de 100% de haut. Dans les deux cas, ça n'a donc pas de sens, puisque c'est 100% d'un truc lui-même de 100% qui n'a pas de sens... (Si je te suis bien).
Ce sont vraiment des arguments à deux balles là...
Un code doit être le même partout et pour tout et SURTOUT il doit rester simple et à la portée du quidam, car le HTML n'est pas fait pour être un truc de spécialiste éminent, mais est bien fait pour permettre à tout le monde de s'exprimer sur la toile. C'est un langage qui se veut universel et donc "facile" à la base.
Donc, tant qu'il n'existe pas de moyen simple, universel et crossbrowser pour fixer un div de taille fixe en bas avec le reste en auto, ma solution est la seule viable.
Je te rappel que la personne qui a tenté d'utiliser ta méthode a échoué pour IE 5.2 MAC et safari...
Marsh Posté le 28-04-2004 à 08:00:48
Jubijub a écrit : à vous lire tt les 3, y'a aucune solutions valide cross broser qui soit pas dégueulasse... |
Je ne suis même pas sûr dans un cas comme celui-là, que la disparition d'IE changer réellement la donne. Il restera tous les autres qui ont aussi des particularités.
Mozilla ou Opera ne respectent pas un vertical-align : middle dans un div. C'est pourtant la condition sine qua non si on veut pouvoir se débarasser des tables.
C'est un exemple, et il y en a d'autres... Les divs permettent de pratiquement tout faire, mais en bidouillant, en trichant, en complexifiant et surtout finalement en prenant de gros risques, surtout si c'est pour un client "qui paye".
Donc, moi j'utilise les divs à chaque fois que c'est sans risque et simple, et SURTOUT les propriétés que j'utilise ne sont pas détournées mais correspondent exactement à ce pour quoi elles ont été inventées. J'insiste là dessus.
Je pense qu'il faudra encore bcp de temps pour se débarasser des tables.
Marsh Posté le 28-04-2004 à 11:20:40
En fait, il y a un probleme avec IE5.2 MAC car si je met tout simplement :
Code :
|
Cela cré un scroll énorme dans le navigateur
Marsh Posté le 28-04-2004 à 11:21:40
Kyle a écrit : En fait, il y a un probleme avec IE5.2 MAC car si je met tout simplement :
|
ça vient de html ou de body ? le sujet m'intéresse.
Marsh Posté le 28-04-2004 à 11:30:58
Hermes le Messager a écrit : ça vient de html ou de body ? le sujet m'intéresse. |
Seulement lorsque l'on met les 2 a 100% !
Marsh Posté le 28-04-2004 à 11:35:43
Et pour que le tableau s'adapte bien en hauteur, il faut :
Code :
|
Marsh Posté le 28-04-2004 à 12:34:10
Je suis tombé la dessus, peut-etre que vous connaissiez deja ;
http://www.dyingculture.net/blog/2 [...] eanEdwards
Marsh Posté le 28-04-2004 à 23:07:17
Hermes le Messager a écrit : Mozilla ou Opera ne respectent pas un vertical-align : middle dans un div. |
Normal, ils n'ont pas à le faire
Hermes le Messager a écrit : C'est pourtant la condition sine qua non si on veut pouvoir se débarasser des tables. |
Bah, si tu y tiens absolument tu ajoutes "display: table-cell" à ton bloc et vertical-align s'appliquera...
Marsh Posté le 29-04-2004 à 09:32:50
Hermes le Messager a écrit : ça tient pas debout ton histoire. |
Marsh Posté le 11-05-2004 à 11:44:49
kileak2 a écrit : salut ! |
Une "bidouille" pour contourner un problème
Marsh Posté le 11-05-2004 à 13:39:47
Donc, pour vous, le HTML 4 et version précédentes et un hack à lui tout seul, non ?
Marsh Posté le 11-05-2004 à 13:51:24
El_gringo a écrit : Donc, pour vous, le HTML 4 et version précédentes et un hack à lui tout seul, non ? |
Marsh Posté le 11-05-2004 à 14:15:10
Dans un sens oui car on a détourné la vrai utilisation des tableaux qui sont a la base fais juste pour des listes de données...
Marsh Posté le 11-05-2004 à 14:16:17
Kyle a écrit : Dans un sens oui car on a détourné la vrai utilisation des tableaux qui sont a la base fais juste pour des listes de données... |
Faut dire qu'à l'époque, il n'y avais pas bcp d'autre choix...
Marsh Posté le 11-05-2004 à 14:42:39
Hermes le Messager a écrit : Faut dire qu'à l'époque, il n'y avais pas bcp d'autre choix... |
C'est clair !
En fait c'est l'ultime hack qui a révolutionné le web
Marsh Posté le 11-05-2004 à 17:40:41
ReplyMarsh Posté le 12-05-2004 à 17:26:21
salut
en fait perso,
j'ai trois div :
<div id="menu"></div>
<div id="centre"></div>
<div id="pied"></div>
Dc c'est facile j'ai dis à #centre qu'il faisait 400px de height. Dc s'il a bcp de texte, il descend automatiquement.
Ce qui est bien, c'est que #pied le suit et reste collé en-dessous de lui.
Par contre à l'inverse, si le menu devient énorme !
le menu s'agrandit mais #pied reste collé à #centre et ne suit pas #menu.
Je pause la question car ce n'est pas tout à fait le même besoin que Kyle.
Ya-t-il pour mon cas une solution autre qu'un hack ?
merci
Marsh Posté le 12-05-2004 à 17:42:06
kileak2 a écrit : salut |
Oui un div "contenu" qui englobe le div "menu" et le div "centre" et tu mets le div "pied" en dessous
Marsh Posté le 12-05-2004 à 17:58:04
Flyman30 a écrit : Oui un div "contenu" qui englobe le div "menu" et le div "centre" et tu mets le div "pied" en dessous |
Yes merci !
J'avais déjà
<div id="contenu">
<div id="menu"></div>
<div id="centre"></div>
<div id="pied"></div>
</div>
j'ai plus qu'à faire :
<div id="contenu">
<div id="menu"></div>
<div id="centre"></div>
</div>
<div id="pied"></div>
Marsh Posté le 12-05-2004 à 18:24:12
Ar j'ai qd même un prob :
Citation : #conteneur { |
Mon menu est en absolute et je crois que ca fout le bronx.
En fait, il passe au dessus de la lmite inférieur de #contenu et dc il n'abaisse pas le #pied.
Maintenant, si je mets le menu en relative, c'est lui qui pousse tout vers le bas
Marsh Posté le 13-05-2004 à 09:20:51
J'ai un peu le meme genre de probleme.
J'ai une page html:
Code :
|
et mon css:
Code :
|
Pour l'instant c'est "centre" qui pousse les autres colonnes vers le bas.
Le probleme, c'est si "gauche" dépasse "centre" en hauteur. Il passe par dessus "pied". Je crois que c'est un peu le même probleme que kileak2.
N'est-il pas possible que gauche et droite réagisse de la même façon que centre? Si j'enleve position absolute, ma page part en live.
merci
Marsh Posté le 13-05-2004 à 10:23:21
essaye comme ça:
Code :
|
Marsh Posté le 13-05-2004 à 10:26:10
Flyman30 a écrit : essaye comme ça:
|
Et 5 niveaux de divs, c'est censé être correct syntaxiquement et philosophiquement ?
Marsh Posté le 27-04-2004 à 11:45:40
Hello, j'ai un petit souci de mise en page, en fait je voudrais aligner mon pied de page toujours en bas.
Voila deja ce que j'ai fait, mais ce n'est pas parfait. En fait le div1_1 prends tout l'écran et le div1_2 se retrouve en dehors et cela me cré un scroll.
J'ai tenté en mettant le div1_1 à 97%, ca passe mais plus on réduit la fenetre et plus le pied de page est "mangé" par celle-ci.
Auriez-vous une astuce pour que le pied soit toujours bien aligné ?
Merci.