:arf:
Mais le plus dingue, c'est que si je mets le div "example" en absolute, il vient se coller en haut-gauche de son div parent, mais là, l'attribut width:auto s'applique parfaitement ...
Version imprimable
:arf:
Mais le plus dingue, c'est que si je mets le div "example" en absolute, il vient se coller en haut-gauche de son div parent, mais là, l'attribut width:auto s'applique parfaitement ...
Bon décidément je crois que j'arriverai pas à comprendre comment est foutue ta page. Si tu veux tu n'as qu'à me faire un schéma ou plutôt une liste de chacun de tes divs avec les tailles des objets qu'ils contiennent et surtout leur emplacement exact sur ta page (centré, dans un div...) sans me spécifier les propriétés CSS et tel que tu aimerais qu'ils soient (et pas tels qu'ils sont en ce moment sinon je confonds tout lol). je te ferai un brouillon de code.
Bonjour, et encore une fois, merci de ton aide...Je vais essayer de résumer ma page...telle que je la voudrais...
Voila, j'espère que c'est assez clair...mon seul problème est les deux div "texte" et "texte2" qui prennent toute la largeur du div "central" en dépit des attributs width/height en auto.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 * un div "header" absolute centré contenant une bannière et </div> * un div "conteneur" absolute { * un div "menu" relatif float: left contenant un <p align=left>puis des liens séparés par des <br> et </div> * un div "central" relative { * un formulaire avec champs sont séparés par des <p align left> * dans le form: * un div "banniere" sans position contenant une image de dimension dynamique * un div "texte" relative que je voudrais en width/height auto afin de s'ajuster parfaitement au texte variable qu'il contient * un div "texte2" identique au précédent * un <p center> contenant champs hidden + submit * le </form> }* le </div> "central" * un div "bas" clear: both; visibility: hidden; et </div> } le </div> "conteneur"
Hier en fouillant sur le web, j'ai trouvé ça:http://web.covertprestige.info/test/...avec-ie-1.html
peut être une piste ?
ah...là c'était un peu trop détaillé, essaye encore...
Lol je plaisante!
Bon je vois je vois, maintenant question:
Quand tu dis que les div texte et texte2 prennent toute la largeur du div parent...tu veux dire que seul les div sont aggrandis n'est-ce-pas? Que les textes à l'intérieur restent correctement alignés à gauche mais que les divs ne s'y ajustent pas, ils s'ajustent à leur div parent...c'est ça?
mais oui, c'est exactement ça !!!!
le texte dans le div possède ses attributs propres grâce à la fonction qui le génère. Il est donc centré, gras etc (mais si je supprime ces attributs il se cale à gauche du cadre). Le problème est le cadre lui-même: je lui ai mis un css border pour le visualiser, et effectivement il se "colle" à son parent au lieu de coller au texte...
NB: je précise que c'est exactement la même chose avec Firefox...
Ok et bien je te propose de générer le div en mm temps que le texte, par la même fonction quoi.
Je pense que c'est une bonne astuce pour remédier à ton soucis.
Il va juste te falloire modifier l'ID qui reçoit le texte et donc aussi le div.
avec un +=innerHTML="..." par exemple.
Suivant ton conseil, j'ai fait
je charge ça avec le body onLoadCode:
1
2
3
4
5
6
7 function affiche_texte_exemple(){ document.getElementById("texte1").innerHTML = '<div id="example" style="height: auto; width: auto; border: thin dotted #000000; position: relative; z-index: 2">VOTRE TEXTE 1</div>'; }
puis à l'endroit voulu
Mais le cadre est toujours le même ! arrrggghhhhhhhhhhCode:
1
2 <div id="texte1" style="position:relative"></div>
Purée je comprends rien , je croyais que le div example était un div conteneur. Tu ne l'as pas signalé dans ton explication détaillée plus haut lol.
Chui paumé.
Montre moi les propriétés css du div texte qui est celui qui contient le div example apparement lui-même contenant du texte par contre lol
Non mais tu me dis de générer le div en meme temps que le texte qui est dedans...donc pour cela, je crée un nouveau div dans la page, que j'appelle "affiche_texte1" sans propriété sauf position:relatif, puis je dis à la fonction js d'écrire dedans le div example et son texte...
mais à l'origine, il n'y a que le div "example" et son texte...Code:
1
2
3
4
5
6
7
8 function affiche_texte_exemple(){ document.getElementById("affiche_texte1").innerHTML = '<div id="example" style="height: auto; width: auto; border: thin dotted #000000; position: relative; z-index: 2">VOTRE TEXTE 1</div>'; }
hum lol on va dire que je suis fatigué aujourd'hui...et c'est vrai en plus je suis KO.
Bon, je ne dis pas de créer un nouveau div mais de créer le div qui contient le texte depuis ton JS
oui lol, moi aussi un peu naze (hier j'ai fait un peu la fête...).
Alors: en fait je ne vois pas comment je peux générer un div et son texte en js sans écrire un autre div dans la page pour que la fonction écrive dedans...
:oops:
Mais ceci dit, le calque ayant toujours le même prob de coller à son parent, même généré en JS, je suis pas sûr que ce soit la soluce...tu as vu l'article sur le bug de IE ?
oO mais....heu....c'est ce que tu as fais ici:
Seulement au lieu de créer un autre div, tu créer ton véritable div conteneur du texte dynamique. Et à la place de "VOTRE TEXTE 1" tu y mets la variable contenant le texte dynamique que tu récupères.Code:
1
2
3
4
5
6 function affiche_texte_exemple(){ document.getElementById("affiche_texte1").innerHTML = '<div id="example" style="height: auto; width: auto; border: thin dotted #000000; position: relative; z-index: 2">VOTRE TEXTE 1</div>'; }
à mon tour d'être paumé, lol...:roll:
à l'origine, j'avais cette fonction qui écrivait "VOTRE TEXTE 1" dans le div "example" situé en bas de page.
car le fait que ce texte soit dynamique ou non, c'est pas grave. je veux juste afficher VOTRE TEXTE dans ce p... de div "exemple" et que les attributs width/height: auto s'appliquent...pour avoir un petit cadre tout mignon qui colle parfaitement au texte qui est dedans...c'est tout lolCode:
1
2
3
4
5
6
7 function affiche_texte_exemple(){ var t = document.getElementById("example") t.innerHTML = "VOTRE TEXTE" 1; t.style.textAlign = "center"; t.style.fontWeight = "bold"; }
lol heuuu qu'il soit dynamique ou pas....ton texte....faut choisir hein!
Si il a pas de raison de changer, qu'il soit statique!
Si tu as une base de données derrière alors qu'il soit dynamique ^^!
C'est un truc du genre que je te proposais moi:
Bon c'est vraiment une idée pour que ton div se colle au texte et que tu sois content hein....parceque concernant l'optimisation....y'en a pas!! lolCode:
1
2
3
4
5
6
7 function affiche_texte_exemple(){ var t = document.getElementById("central") //on récupère le div central pour lui ajouter le fameux div example à la fin t.innerHTML+= "<div id=\"example\" style=\"text-align:center;font-weight:bold;width:auto;height:auto;\">VOTRE TEXTE 1</div>"; //ici tu peux aussi lui rajouter le deuxième div TEXTE 2 }
Je ne vois aucune données dynamique et donc aucune raison de tout créer par le onload...autant tout mettre en statique non?
ça se précise...:lol:
Mais dans ce fameux "central", y'a pas que le div example et son copain "example2", y aussi un formulaire, du texte, une bannière...
Et il faut que je génère tout ça avec la fonction ?
Car sinon, il faut bien une balise, ou quelque chose dans le "central" pour y mettre "example"...Je me trompe ????
stop !!!!:merci:
Je viens de trouver la soluce, complètement par hasard à force de bidouillage...j'ai ajouté float:left dans le style de example et ça fonctionne ! Enfin !!! et, sincèrement, je te remercie pour ta patience et ton aide précieuse.
Bonne soirée et à la "revoyure".
euh....:hola:
excuse de te déranger encore...juste un petit souci:
voici le style du div example
je te disais que le texte est dynamique...en fait grâce à un select + 1 fonction JS je peux changer la taille de police...voici ce qui se passe lorsque je grossis à 25...Code:
1
2 margin-left:120px;border: thin dotted #000000;position:relative;float:left;width:auto;height:auto
http://renaud.primois.free.fr/example.jpg
Il y a un espace anormal au dessus et au dessous du texte par rapport au bord du calque...comment le faire disparaître ???
lol scuze j'étais rentré tôt hier.
L'espace à l'intérieur d'un div se corrige avec le "padding".
+Code:padding:0; // te supprime l'espace à l'intérieur
A mon tour de m'excuser, j'étais absent ce matin...
j'ai bien ajouté padding:0px mais le cadre du div a rigoureusement le même aspect. Le plus curieux, si tu regardes mon image, c'est que cette marge intérieure s'applique dessus/dessous mais pas sur les côtés...
:roll:
va comprendre...
Je crois que tu peux tenter de modifier la hauteur de ligne avec cette propriété css:
line-height:2px; // par exemple....à tester