Problème de placement [CSS & DIV] - HTML/CSS - Programmation
Marsh Posté le 28-03-2003 à 09:53:09
tu devrais ajouter un margin-top:-300 dans la définition de ton 3è div
sinon j'aurais écrit les styles comme ceci:
Code :
|
et les div comme cela:
Code :
|
Marsh Posté le 28-03-2003 à 09:54:28
bof, je prefere avec les id moi.
pas besoin d'une classe quand ca concerne un seul élement.
par contre, les attributs en minuscules, c'est mieux
Marsh Posté le 28-03-2003 à 09:56:22
drasche a écrit : tu devrais ajouter un margin-top:-300 dans la définition de ton 3è div |
oui c'était ca, merci, c'était tout bête en fait
j'ai hésité à utiliser la class ou l'id, j'ai opté pour l'id car ces div seraient uniques. dans quel cas peut-on utiliser id plutot que class?
Marsh Posté le 28-03-2003 à 09:56:37
les id, je les garde pour JavaScript
Marsh Posté le 28-03-2003 à 09:57:34
drasche a écrit : les id, je les garde pour JavaScript |
ouais c'est juste
et que l'on mette div.MenuTop ou .MenuTop ca revient au meme'
Marsh Posté le 28-03-2003 à 09:59:45
Urd-sama a écrit : |
en effet, mais je préfère les préfixer par réflexe d'organisation
Marsh Posté le 28-03-2003 à 10:00:57
drasche a écrit : |
ouais c'est pas mal comme système. merci du tuyau
Marsh Posté le 28-03-2003 à 10:02:21
drasche a écrit : les id, je les garde pour JavaScript |
je vois pas le rapport.
les id c'est pour identifier un élement, que ce soit pour les css ou le javascript.
par contre, ok pour le préfixage.
j'aime bien
div#monMenu {
...
}
Marsh Posté le 28-03-2003 à 10:03:06
lorill a écrit : |
alors dans mon cas, plutot class ou plutot id?
Marsh Posté le 28-03-2003 à 10:05:32
Urd-sama a écrit : |
ben id. tu vas pas avoir plusieurs MenuTop dans la même page, surtout que tu mets le placement dans le style.
class c'est plus quand t'as un style plus général qui s'applique a plusieurs élements.
Marsh Posté le 28-03-2003 à 10:15:16
lorill a écrit : |
c'est précisément pour cette raison que j'emploie systématiquement class. J'avoue qu'en fait, j'ignorais que id servait d'identifiant de style
Marsh Posté le 28-03-2003 à 10:34:42
drasche a écrit : c'est précisément pour cette raison que j'emploie systématiquement class. J'avoue qu'en fait, j'ignorais que id servait d'identifiant de style |
Disons, que c'est sémantiquement plus correct. Si tu as un bandeau en haut de ta page, c'est un bonne chose de l'identifier de manière car tu donnes du sens à ton document.
Sinon Urd-Sama, ta méthode fonctionne, mais elle risque de s'avérer compliquée à l'usage si tu ajoutes des éléments. Personnellement, je ferais les choses comme ça :
|
Et pense à mettre des unités à tes longueurs, sinon, tu vas avoir des surprises avec Mozilla
Marsh Posté le 28-03-2003 à 10:52:54
gm_superstar a écrit : |
oui je vais rajouter les unités.
pour ta solution, je l'avais vue dans la FAQ, mais il me semblait que celle que j'utilise était valable sur + de browser que la tienne. Mais c'est vrai que c'est beaucoup + simple...
pour l'id, je vais remettre ce que j'avais mis au départ alors
Marsh Posté le 28-03-2003 à 11:02:59
est-ce que l'on peut utiliser des iframe ou c'est pas bien?
Marsh Posté le 28-03-2003 à 12:45:33
Urd-sama a écrit : est-ce que l'on peut utiliser des iframe ou c'est pas bien? |
IE est le seul à les gérer je crois. Est-ce toujours bien d'actualité? Si oui, c'est pas bieng effectivement.
Marsh Posté le 28-03-2003 à 12:46:46
ReplyMarsh Posté le 28-03-2003 à 12:55:02
lorill a écrit : |
tu as des précisions pourquoi?
Marsh Posté le 28-03-2003 à 12:56:16
Urd-sama a écrit : |
euh. je me souviens d'avoir lu gm dire que c'était pas bien, ca me suffit
Marsh Posté le 28-03-2003 à 13:17:18
gm_superstar a codé :
|
tu ne m'as pas mis le style de l'id de "menus", il contiendrait quoi?
Marsh Posté le 28-03-2003 à 13:32:16
Urd-sama a écrit : tu as des précisions pourquoi? |
Problème d'accessibilité, de référencement, marche pas avec NS 4...
Enfin ça dépend ce que tu veux faire avec, mais souvent les frames peuvent être remplacées avantageusement par des includes coté serveur (avec php, asp ou les SSI d'apache...)
Marsh Posté le 28-03-2003 à 13:33:27
gm_superstar a écrit : |
c'est ce que je pensais, donc si on veut faire une applic sans serveur, plutot iframe, sinon on oublie
Marsh Posté le 28-03-2003 à 13:33:37
Urd-sama a écrit : tu ne m'as pas mis le style de l'id de "menus", il contiendrait quoi? |
Ben rien
Je sais pas ce que tu veux faire avec ce design mais a priori si tu mets des infos à droite de MenuMain elles viendront se mettre dans ce DIV.
Marsh Posté le 28-03-2003 à 13:34:37
Urd-sama a écrit : c'est ce que je pensais, donc si on veut faire une applic sans serveur, plutot iframe, sinon on oublie |
Et puis le tag <iframe> n'existe plus dans les dernière versions du XHTML (remplacé par <object> )
Marsh Posté le 28-03-2003 à 13:34:45
gm_superstar a écrit : |
c'est pas centré sur ie 5,5 c'est normal?
Marsh Posté le 28-03-2003 à 13:38:58
Urd-sama a écrit : c'est pas centré sur ie 5,5 c'est normal? |
Oui, ce c*n de IE 5.5 ne reconnait margin: auto;
Ajoute :
body { |
et à div#main :
text-align: left; |
Enfin tout ça est expliqué dans la FAQ
Marsh Posté le 28-03-2003 à 13:41:28
gm_superstar a écrit : |
merci, tout est nickel. je n'avais trouvé que la solution qui centrait tout, y compris le texte (je devais pas avoir tout lu la FAQ)
Marsh Posté le 31-03-2003 à 14:32:25
gm_superstar a écrit : |
et est-ce une bonne idée d'utiliser ce object? ou non recommandé?
Marsh Posté le 31-03-2003 à 16:31:47
<object> c'est mieux car c'est plus standard (dans les dernières normes iframe a disparu). Par contre je crois qu'IE dessine toujours un cadre autour de <object> qu'il est impossible d'enlever... A toi de voir donc.
La syntaxe pour object :
<object data="document.html" type="text/html"> |
Marsh Posté le 31-03-2003 à 16:34:31
merci beaucoup
Marsh Posté le 08-04-2003 à 10:42:30
je prends ce topic concernant un deuxième problème de placement de css.
Cas:
Code :
|
1: div.center {text-align: center;}
2: div.moitie {float: left; width: 47%;}
3: div.espace {float: left; width: 6%;}
Première question: est-ce que le 3, qui sert à créer un espace entre les 2 div de type 2 (qui contiennent du texte) est supprimable? j'ai essayer de mettre des margin-left et margin-right aux div2, mais cela ne fonctionnait pas.
Deuxième question: si le contenu de 2.2 est moins long que 2.1, la div 1.2 viendra se mettre sous 2.2 au lieu d'aller à la ligne. comment éviter ce bug?
Marsh Posté le 08-04-2003 à 11:19:07
Urd-sama a écrit : je prends ce topic concernant un deuxième problème de placement de css.
|
Oui il est supprimable. Ton DIV 2.2 devrait avoir comme propriété :
margin-left: 53%; |
Mais il ne doit pas être flottant.
Urd-sama a écrit : Deuxième question: si le contenu de 2.2 est moins long que 2.1, la div 1.2 viendra se mettre sous 2.2 au lieu d'aller à la ligne. comment éviter ce bug? |
Ce n'est pas un bug. Voir la FAQ sur les flottants (positionnement). C'est l'histoire du "spacer"
Marsh Posté le 08-04-2003 à 12:02:01
gm_superstar a écrit : |
le truc c'est qu'il va a la ligne à la suite du 2.1, puis affiche le 2.2, d'ou un décallage
edit: j'ai repris le système avec les floats, en ajoutant une marge. Et j'ai un question à ce sujet, lorsque l'on met une margin-left, met-il une margin-right tout seul? j'avais déjà eu une variante avec un autre exercice
Marsh Posté le 08-04-2003 à 12:23:54
Urd-sama a écrit : le truc c'est qu'il va a la ligne à la suite du 2.1, puis affiche le 2.2, d'ou un décallage |
Ca fait ça seulement avec IE ? Si c'est ça bravo, tu es tombée sur un bug. Eventuellement, si tu indiques explicitement la largeur des blocs ça peut résoudre le problème.
Le mieux serait que tu postes le code ou une URL de ta page.
Marsh Posté le 08-04-2003 à 12:32:51
je ne peux pas uploader aujourd'hui donc voici le code du cas qui semble bugger:
Code :
|
et les styles:
Code :
|
IE 5.5
Marsh Posté le 08-04-2003 à 13:04:23
Heu tu as oublié le float: left; pour moitieLeft.
Sinon, passe la marge à 52% au lieu de 53 et les 2 DIVs seront l'un à coté de l'autre sous IE.
Marsh Posté le 08-04-2003 à 13:22:11
gm_superstar a écrit : Heu tu as oublié le float: left; pour moitieLeft. |
ah oui en effet. mais j'ai opté pour cette solution là:
Code :
|
Code :
|
elle me semble + claire
Marsh Posté le 08-04-2003 à 13:23:24
C'est très bien aussi
Marsh Posté le 08-04-2003 à 13:24:55
mais en fait je n'ai pas compris pourquoi ma classe moitie n'avait que 44% de largeur. au départ j'avais mis 47, car 47+3 de marge, c'est à dire 50% en tout.
pourquoi ce 44?
Marsh Posté le 08-04-2003 à 13:34:07
Ben je sais pas ce que tu veux faire
En tout cas là tes DIV ont l'air centrés avec le même espace à gauche et à droite.
En tout cas si tu compares Moz et IE, IE donne une marge à gauche du premier DIV bien plus importante que IE
A part un bug, je ne vois pas ce que c'est. C'est pour ça qu'avec IE et le flottants il faut toujours s'assurer que la longueur totale fasse moins de 100%.
Marsh Posté le 28-03-2003 à 09:46:43
Je débutte dans l'utilisation des div et je voulais faire un exercice tout bête, à savoir faire une page dans ce modèle là:
le tout étant centré dans la page. Je suis arrivée à placer correctement les div1 et 2 en utilisation le position:relative par rapport à la page.
malheureusement, pour la 3e, ca bloque. si j'utilise le position relative par rapport à la div2, il vient trop bas. si je le mets en position:absolute par rapport à la page, j'ai des décallage.
Alors d'une part, comment faire pour placer correctement mes div? et d'autre part, est-ce que mon code est correct? (autant faire juste dès le départ). Merci de votre aide.
voici le code:
Message édité par urd-sama le 28-03-2003 à 09:47:58
---------------
.: Clône de Drasche .:. Ebichuleys .:. Avec l'Aloe Vera je fais de beaux cacas [:dawa] .: www.oserselancer.com :.