positionnement divs [bug css] - HTML/CSS - Programmation
Marsh Posté le 04-03-2003 à 17:46:57
C'est normal vu que touts tes autres cla,b,c sont en position absolue, ils sortent donc du flux normal. La hauteur de ton tamere vaut donc bien 0 si tu ne le spécifies pas.
Marsh Posté le 04-03-2003 à 17:50:57
mais alors comment pourrais je faire pour qu'ils s'espacents les uns des autres d'une quantité despace que je puisse fixer en css et pour pouvoir positionner neanmoins le gros bloc ou je veux ?
Marsh Posté le 04-03-2003 à 17:59:08
tu peux le faire en positionnement relatif si tu spécifies la hauteur des cl(a,b,c).
sinon tu peux aussi utiliser l'attribut float en ajoutant un div vide avec un clear:both pour bien marquer la hauteur.
Marsh Posté le 05-03-2003 à 17:05:38
up!!!
je comprends pas bien ton astuce gizmo !
j'ai mis mon dev a cette adresse:
http://pouet.cocomatic.net/quizz/test.html
ce qui est bizarre, ce que il detecte pas bien le heightdes options, j'ai rajouté un spacer (classe choice_spacer) pour reussir a les separer, mais ca le fait pas tres bien comme vous pourrez constater ... j'aimerais pouvoir separer mes options de, disons 20 pixel, sachant que:
.choices { position:absolute; top:67px; left:12px; width:609px;}
.choice_spacer { height:20px; }
.choice { position:absolute; left:125px; width:280px;}
|
edit:
en gros je veux plus que les
"non, c moche, qui c qui a fait ca a fait ca a fait ca ..."
et les
"c pas genial mais ca peut le faire ..."
se chevauchent
Marsh Posté le 05-03-2003 à 17:29:40
C'est logique, à partir du moment où tu utilises le positionnement absolu, un bloc n'est plus influencé par la présence des autres. Donc tes "spacer" sont sans effet.
En fait je ne vois pas bien ce que tu veux faire. Tu dis que ça doit se chevaucher mais tu mets des spacer entre... A moins qu'il y ait une coquille
Marsh Posté le 05-03-2003 à 17:37:45
nan en fait je veux pas devoir SPECIFIER le height de la classe CHOICE , car le texte a l'interieur pourrait faire une ligne ou 10 lignes,
la seule chose que je veux pouvoir faire c'est choisir un espacement ! et c pour ca que j'ai cree spacer, mais ca marche pas je veux pas que ca se chevauche
Marsh Posté le 05-03-2003 à 17:47:03
k666 a écrit : je veux pas que ca se chevauche |
Ah donc il y avait bien une coquille
Dans ce cas n'utilise pas le positionnement absolu. Par défaut les DIV se mettent les uns sur les autres. Et si tu veux spécifier un espacement, joue sur les marges.
Marsh Posté le 05-03-2003 à 18:01:33
ca marche pas avec les marges, j'ai essayé en mettant un margin-top:50px; sur la classe choice et ca le fait pas, j'ai aussi essayé margin, et pareil je sais pas comment faire pitié :'(
Marsh Posté le 05-03-2003 à 18:02:37
et je vois pas bien de quel positionnement absolut tu me parles, de quelle classe ?
Marsh Posté le 05-03-2003 à 18:09:50
.choices et .choice
Tu as lu le passage sur le positionnement dans la FAQ ?
Marsh Posté le 05-03-2003 à 18:14:34
gm, aide moi stp :'( c la galere ultime, des que j'enleve position:absolute tous les divs d'option se pietinnent completement
Marsh Posté le 05-03-2003 à 18:22:07
gm, je suis obligé de positionner en absolut, car la mise en page qu'on m'a dit de faire est tres specifique, il faut que je fasse mon moteur de quizz tres tres generique et que ce soit via une css que l'on decide tout ...
ma structure complete est compose comme ceci:
|
pour l'instant tout va bien, mais il faut que je puisse espacer les foutus choixs, et en meme temps pouvoir centrer la zone de choix au centre un peu... mais bon, je pige pas pourquoi c si compliqué que ca quil foutte un tout ptit espace entre les divs positionnes
ah et il faut que ça aie cette gueule la:
Marsh Posté le 05-03-2003 à 18:28:32
Il faut aussi que les classes .choice_zone_* ne soient pas en absolu. Si tu veux que tes éléments soient les uns à coté des autres, utilise des <span> plutôt que des <div> (span : élément en-ligne, équivalent à du texte donc qui s'aligne de gauche à droite)
La classe .question n'a pas besoin de positionnement absolu aussi.
Marsh Posté le 05-03-2003 à 18:32:21
up edit de mon message ci dessus au cas ou !
Marsh Posté le 05-03-2003 à 18:39:00
gm_superstar a écrit : Il faut aussi que les classes .choice_zone_* ne soient pas en absolu. Si tu veux que tes éléments soient les uns à coté des autres, utilise des <span> plutôt que des <div> (span : élément en-ligne, équivalent à du texte donc qui s'aligne de gauche à droite) |
en fait si j'ai fait mon truc avec des positionnements absolus, c parce que je vaux avoir un peu le controle sur, disons par exemple, la checkbox qui s'aligne nickel avec le texte et l'image de validation, car sinon je vais me retrouver avec une checkbox qui est 3 pixels trop en haut etc... et aussi parce que apres j'aurai un autre type de qcm, avec des images, par exemple trois images alignés horizontalement et il faudra choisir une des trois et leurs checkbox repectives seront en haut de l'image, etc... en fait je veux savoir la methode qui permette d'avoir la main mise sur les boiboites, et c pour ca que je ne fais que du DIV et de la CSS, je voulais pas a priori me soucier de trucs differents que des divs :'(
Marsh Posté le 05-03-2003 à 18:46:12
Ecoute il y a 2 solutions :
- Soit tu appliques ce que je t'ai dit et contrairement à ce que tu peux dire tu auras un contrôle précis sur tout.
- Soit tu passes tout en positionnement absolu. Mais quand je dis tout, c'est tout. C'est à dire que tes trois DIV "choice" devront être positionnés chacuns séparément. Car je répète, si tu leur applique la même classe .choice il seront forcément superposés.
Je te conseille vivement la première solution. Commence par l'appliquer et on discutera des points de détails après.
PS : Et si tu ne veux pas utiliser des <span> donne à ton <div> la propriété "display: inline;"
Marsh Posté le 05-03-2003 à 22:40:19
Ouais, je lui ai fait peur apparemment
Marsh Posté le 06-03-2003 à 10:43:24
zut j'avais posté ma réponse et ca a pas marché
si vous voulez je peux poster plusieurs cas de figure ... mais si vous pouvez mettez vous à ma place (je vous le conseille pas :'( ) et regardez ce q'uil faut que je fasse graphiquement, avec le moins possible de html, meme rien de html comme vous pouvez le voir dans mon exemple, unqiuement des boites noires generees avec du js ...
voila j'aimerais bien pouvoir faire quelque chose d'identique ... il semblerait que la seule possibilité qui s'en rapproche est de faire cela en fixant des tailles pour mes options mais bon je trouve ca mediocre comme solution
Marsh Posté le 04-03-2003 à 16:44:26
salut,
il me semble qu'il ya un bug css qui me superpose mes calques je ne sais pas pourquoi, en fonction si je precise ou pas le height d'un calque conteneur; voici pour l'exemple:
d'abord une version fonctionnant:
et la meme version, sans le height:30px; de la classe tamere:
et qui donc ne fonctionne pas car les deux calques tamere sons superposés l'un sur l'autre. ..
le seul probleme que j'ai, c que je ne veux pas devoir spécifier la taille de ceux cis, la seule chose que je veux specifier, c l'espacement entre ceux cis! !!! si quelqu'un peut m'aider merci bcp
---------------
mangez du mozilla c le futur, c votre DESTIN ! http://www.mozilla.org/releases/