(Problème résolu) Menu fixe, marge avec IE

Le premier forum francophone sur l'éditeur de pages Web multiplateforme (Linux, Mac OS X, Windows) qui monte… KompoZer, héritier de Nvu, permet de créer vos pages Web graphiquement (wysiwyg) sans aucune connaissance du langage HTML.

Modérateur : chinon37

Michel Aix
Salamandre
Messages : 27
Inscription : 17 nov. 2005, 22:04

Message par Michel Aix »

Mongo Bob a écrit : IL Y A : la 1ère chose est que dans ma version, dans la page de code html, le div menu_lateral, apparaît juste après la ligne du body, comme tu peux le voir dans l'affichage source, ce qui permet de l'afficher tout en haut, ce qui est mieux que de l'avoir en-dessous avec IE (ou mélangé au texte).

D'autre part, j'ai mis ce div avec ces propriétés css là :
menu_lateral {
border: 3px solid #990000;
font-family: Courier New,Courier,monospace;
text-align: left ! important;
float: left;
margin-left: 0%;
width: 15%;
position: relative;

}
J'ai souligné les modifs.
Chez toi, dans la page html (en tant que code, je veux dire) le div menu_lateral apparaît en-dessous du tableau qui commence par "Qui sommes-nous?", et, dans ton css :
.menu_lateral {
border: 3px solid #990000;
font-family: Courier New,Courier,monospace;
position: fixed;
width: 6cm;

text-align: left ! important;
margin-left: 5px;
float: left;
margin-top: 100px;
}
"width=6cm", à la rigueur, je préfère "15%", c'est plus souple, "position fixed" , autant jeter ça à la poubelle si tu n'appliques pas la solution de Chinon37.
Que IE7 respecte ou non les standards et la position "fixed", de toute façon, il faut surtout considérer quels navigateurs viennent sur ton site et pour le moment, c'est surtout IE6 et FF, alors, tu es bien obligé d'en tenir compte et de laisser tomber "fixed"?
Aussi, par rapport à ce que tu voulais, "ma" solution n'est qu'un pis aller, et il faut voir à faire le ménage dans mes codes css et html si ça te plaît malgré tout.
Fais-moi signe.
Pour insister, oui, il y a bien autre chose que la position "float left" pour régler ton problème, et c'est l'ordre d'apparition des lignes de code qui concernent le div class "menu_lateral" dans la page de code html.
Au fait, qu'est-ce que "! important" après "text-align : left"? Ton doigt aurait-il glissé? :wink:
J'oubliais, chez moi, ton tableau principal est "width:75%", tu as mis "width:615px", je crois que les % sont plus souples, mais ça ne jouait pas sur ton problème.
Excuse la mauvaise forme de ma réponse, mais je ne sais pas comment découper ta citation en morceaux et répondre entre eux.

1. La place verticale de mon div menu-lateral.
Tu as raison, mais il y a là un problème de philosophie et de pratique: Nvu est WYSIWYG et fabrique le code à partir de ce qu'on entre au clavier et à la souris. Le div est peut-être à la fin parce que je l'ai saisi à la fin ? Et comment changer ? Je lis souvent que Nvu ne permet pas de modifier le code de façon sûre et qu'il faut utiliser un éditeur. Comment on fait ?
Dans ma toute dernière version j'avais fixé au div une marge haute de 100 px, mais je ne crois pas que c'aie marché. Ce serait le plus logique, non ?

2. Position latérale du menu. Différence dans les css.

Si j'exclus le remplacement des px par des %, ce qui n'a rien à voir, la seule différence est la position fixe ou relative. En ajoutant float: left, et en gardant la position fixe, je n'ai pas résolu mon pb de position latérale du menu. Est-ce qu'en mettant position: relative, ça suffira à coller mon menu à gauche (ce qui est mon pb majeur) ?

Est-ce à dire que je dois priver les presque 20 % de navigateurs non-IE6 du petit plus de la position fixe ?

3. Divers

Le "important" est venu de je ne sais plus où. Je pourrai le supprimer.
Pour les unités, je verrai plus tard cette question. Il me semblait que les pixels permettaient d'assurer au texte la place de s'imprimer dans la boite, alors que si l'écran est petit le % peut donner un trop petit espace. Je me trompe ?

Message envoyé avec : Mozilla/5.0 (Macintosh; U; Intel Mac OS X; fr) AppleWebKit/418 (KHTML, like Gecko) Safari/417.9.3
Michel
KompoZer, Handcoder
sur Mac Léopard
Mongo Bob
Varan
Messages : 1903
Inscription : 10 sept. 2005, 01:51

Message par Mongo Bob »

1. La place verticale de mon div menu-lateral.
Mais, finalement, tu veux le mettre où?
Tout en haut était une des alternatives acceptables au fait que tu ne puisse le mettre en "fixed", d'où le code html de ce div en 1er.
Et comment changer ? Je lis souvent que Nvu ne permet pas de modifier le code de façon sûre et qu'il faut utiliser un éditeur. Comment on fait ?
Télécharge Handcoder qui te permet d'utiliser un éditeur texte et un nettoyeur de code à télécharger et installerà part, tu as bien raison de ne pas toucher au code source, c'est seulement pour regarder. Handcoder est dans Geckozone/Extensions NVU, un sujet en 1ère page du forum aide à l'installer et à l'utiliser.
Avec l'éditeur texte, tu peux couper-coller la partie de code qui concerne div_lateral pour le mettre en haut.
Mais je ne sais pas si c'est ça que tu veux faire!
une marge haute de 100 px, mais je ne crois pas que c'aie marché. Ce serait le plus logique, non ?
Je ne vois pas pourquoi ça ne marcherait pas si tu veux qu'il soit à 100px du haut, mais tout dépendra des positionnements des éléments concernés (le tableau principal...).
En ajoutant float: left, et en gardant la position fixe, je n'ai pas résolu mon pb de position latérale du menu. Est-ce qu'en mettant position: relative, ça suffira à coller mon menu à gauche (ce qui est mon pb majeur)
Ben, essaie! La preuve, il est à gauche dans ma version http://jlwebnet.free.fr/ :wink:
Personnellement, je n'ose pas utiliser "fixed" avec autre chose, j'ai l'impression que si tu es en "fixed" (je viens d'essayer) les positions "left" ou "right" sont inopérantes, bref, j'y comprends rien et je l'utilise jamais, refroidi en + par le pb avec IE. Faudrait un as en positionnement, là, j'ai rien trouvé dans mon Goëtter.
Est-ce à dire que je dois priver les presque 20 % de navigateurs non-IE6 du petit plus de la position fixe ?
Ben, oui, sauf à utiliser la soluce Chinon37 un peu plus haut! Ou encore, peut-être + facile là (réponse Kaze):
http://www.geckozone.org/forum/viewtopic.php?t=41806
Il me semblait que les pixels permettaient d'assurer au texte la place de s'imprimer dans la boite,
Euh, comprends pas trop...
alors que si l'écran est petit le % peut donner un trop petit espace. Je me trompe ?
Complètement, la mesure en % permet simplement d'adapter les dimensions de blocs aux résolutions d'écran, il n'y a que pour les images que l'on ne peut que délicatement s'en servir, puisque ça les déforme.
Il te manque une base tutorial : as-tu été là :
http://www.geckozone.org/forum/viewtopic.php?t=20704?
Pour le pb des pourcentages, voici un extrait de tutorial instructif, qui explique mieux que moi :
Tutorial Framasoft a écrit :Largeur et Hauteur :
Définissent la taille en hauteur et largeur de vos blocs. Je vous conseille vivement de définir ces tailles en pourcentage (%). Une boîte dont la largeur sera de 80% par rapport à la page du navigateur sera toujours de 80% quelle que soit la résolution de l'écran, tandis que si un bloc de 700 px1 avec une résolution en 1024 x 768 px se positionne relativement bien et laisse de la marge ; avec une résolution de 800 x 600 px, il fera toujours 700 px et laissera beaucoup moins de marge.
qui vient de là :
http://www.framasoft.net/article2656.html
Il s'agit du tutoriel NVU standard, tu l'as en pdf ou OOo, il est assez costaud à se farcir, mais faut picorer, faut pas s'étouffer...
En prime : 3 url de +, trouvées chez Goëtter qui sont aussi des solutions d'émulation de "fixed" pour IE :
http://www.ibilab.net/webdev/articles/C ... eurs-2.htm
http://www.nanoum.net/blog/6_absolue_et_fixe.html
http://limpid.nl/lab/css/fixed/
Win:Kpz version 0.7.10 (20070831)
Ubuntu:Kpz v 20090206
2 tutos :
http://josar.free.fr/index.html
http://info.sio2.be/kpz/
1 nécessité :
http://www.geckozone.org/forum/viewtopic.php?t=51228
Michel Aix
Salamandre
Messages : 27
Inscription : 17 nov. 2005, 22:04

Message par Michel Aix »

Salut Mongo Bob

Je reviens après une petite absence.

J'ai abandonné la position fixed, car les bidouilles pour IE me paraissent trop compliquées pour moi et le temps que je peux y passer.
Par contre je veux garder mon menu latéral à gauche, avec un texte décalé vers la droite.

J'ai utilisé ta méthode, et ça marche. J'ai donc position "absolute", position fixée dans le code de la page par "top: 220px". Merci :)
Il reste à voir si cela marche bien avec IE/PC. :oops:
La page est sur le site.
http://michel.liger.9online.fr/index.html

Il y a une chose que je ne comprends pas, c'est le rôle relatif des marges que j'ai définies empiriquement dans la css .menu_lateral et dans le code. J'ai fait des essais mais je ne comprends pas à quoi correspond chaque marge. Pareil pour la largeur.

Merci pour les adresses de tutoriel.

Dernier point:
J'ai essayé de me procurer un éditeur de code, mais entre Handcoder et les autres morceaux à installer, je me suis perdu dans tous ces petits bouts de logiciel. Peux-tu me donner la marche à suivre, c-à-d la liste exacte des modules à installer ? Pour le choix de l'éditeur,ça m'est égal.

Message envoyé avec : Mozilla/5.0 (Macintosh; U; Intel Mac OS X; fr) AppleWebKit/418.8 (KHTML, like Gecko) Safari/419.3
Michel
KompoZer, Handcoder
sur Mac Léopard
Mongo Bob
Varan
Messages : 1903
Inscription : 10 sept. 2005, 01:51

Message par Mongo Bob »

J'ai utilisé ta méthode, et ça marche. J'ai donc position "absolute", position fixée dans le code de la page par "top: 220px". Merci Sourire
Non, tu ne fais pas du tout ce que je conseille, mais si ça marche quand même, tant mieux, puisqu'après tout, j'ai un affichage correct sous IE/pc (à part un scroll horizontal en 800x600), alors pourquoi pas.
Je te disais de mettre le code html suivant :

Code : Tout sélectionner

<div
 style="background-color: rgb(255, 204, 153); width: 120px; top: 220px; left: 5px;"
 class="menu_lateral">
<p><a href="index.html">Accueil</a></p>
<p style="font-weight: bold;">Qui
sommes-nous ?</p>
<p><a href="Que_faisons_nous.html">Que
faisons-nous ?</a></p>
<p><a href="Ou_nous_contacter.html">O&ugrave;

nous contacter</a></p>
<p><a href="Nos_publications.html">Nos publications</a></p>
<p><a href="Nos_moyens_d_actions.html">Nos actions</a></p>
<p><a href="UFC-Que_Choisir.html">UFC-Que choisir</a></p>
<p><a href="Pesticides_assiettes.html">Pesticides</a></p>
</div>
tout en haut après le body, de mettre ce div en position "relative", tu l'as laissé en bas et tu l'as mis en "absolute", mais le décalage "top" 220px que tu as trouvé tout seul, qui ne fonctionne que en absolute et relative justement a pallié à celà, si tu mets ce code en haut, tu n'en auras plus besoin.
Tu continues à laisser les largeurs en pixels au lieu de %, mais là, j'abandonne!
Par contre, il faudrait que tu transposes toutes tes directives de style dans le css, actuellement tu as du style dans les 2. Les css sont faites pour emmagasinner le style, ensuite, il faut exporter la feuille.

Je t'ai conseillé Handcoder? Mais il n'est pas prévu pour Mac! Wds et Linux seulement...
Win:Kpz version 0.7.10 (20070831)
Ubuntu:Kpz v 20090206
2 tutos :
http://josar.free.fr/index.html
http://info.sio2.be/kpz/
1 nécessité :
http://www.geckozone.org/forum/viewtopic.php?t=51228
Michel Aix
Salamandre
Messages : 27
Inscription : 17 nov. 2005, 22:04

Message par Michel Aix »

Le code que tu as collé dans ton message est le mien, pas le tien. Si tu pouvais recommencer...

J'ai maintenant une solution qui marche, je peux aller de l'avant pour mon site.
Mais je vais explorer la voie que tu m'indiques, car je veux progresser.

Hier j'ai commencé à utiliser les % et à remonter les infos de style html dans la css, mais j'ai eu des tas de pb, d'où ma question sur l'utilisation respective des marges et largeur dans la page et dans la css. Je vais essayer de supprimer le style de mon menu et de tout mettre dans la css.

Il me semble plus logique de fixer la position de mon menu latéral par des px ou % car ça marche dans les 2 dimensions alors que ce que tu proposes assure seulement un positionnement en haut mais pas en largeur. Je vais quand même l'essayer mais Nvu ne le permet pas il me faut un éditeur de code.

Handcoder marche sur Mac, je l'ai, mais c'est l'éditeur et un certain Tidy (il le faut ?) qui me posent problème.

Message envoyé avec : Mozilla/5.0 (Macintosh; U; Intel Mac OS X; fr) AppleWebKit/418.8 (KHTML, like Gecko) Safari/419.3
Michel
KompoZer, Handcoder
sur Mac Léopard
Mongo Bob
Varan
Messages : 1903
Inscription : 10 sept. 2005, 01:51

Message par Mongo Bob »

Le code que tu as collé dans ton message est le mien, pas le tien. Si tu pouvais recommencer...
Damned! Bien sûr que c'est ton code :twisted:
Je l'ai copié pour t'indiquer clairement où le mettre, CAD juste après le body(au moins, essayer), je croyais me faire mieux comprendre comme ça!
Handcoder marche sur Mac,
Ah bon tu t'en es servi et ça marche? Tant mieux, mais Tidy je suis pas sûr, fais une recherche sur le forum, qu'est-ce que Kaze dit sur la page concernée dans les extensions NVU? Ca met de l'ordre dans le code, c'est utile.
C'est l'éditeur texte (ou de code) qui est tout aussi important, prends n'importe lequel avec coloration syntaxique compatible Mac.
Au besoin, tu peux essayer d'embêter l'auteur de Handcoder, Kaze, pour ce qui te pose problème, mais les solutions sont souvent à portée de "rechercher".
Il me semble plus logique de fixer la position de mon menu latéral par des px ou % car ça marche dans les 2 dimensions alors que ce que tu proposes assure seulement un positionnement en haut mais pas en largeur
Tu prends ou des pix ou des % mais gaffe aux pixels en largeur, je recite (es-tu sûr d'avoir lu, la source est Framasoft, une référence, alors...) :
Tutorial Framasoft a écrit:
Largeur et Hauteur :
Définissent la taille en hauteur et largeur de vos blocs. Je vous conseille vivement de définir ces tailles en pourcentage (%). Une boîte dont la largeur sera de 80% par rapport à la page du navigateur sera toujours de 80% quelle que soit la résolution de l'écran, tandis que si un bloc de 700 px1 avec une résolution en 1024 x 768 px se positionne relativement bien et laisse de la marge ; avec une résolution de 800 x 600 px, il fera toujours 700 px et laissera beaucoup moins de marge.
ce que tu proposes assure seulement un positionnement en haut mais pas en largeur
Ben, oui, dans mon exemple, j'ai pas dû fournir un positionnement en largeur, parce qu'on en était à parler du pb de hauteur, j'avoue que j'ai pas recréé la totalité de ton code, étant donné mes autres -modestes- occupations!
Editeur de code, Smultron (par exemple) pour Mac OSX, source Framasoft également, quelle est son habilité à s'intégrer dans Handcoder, je sais pas :
http://www.framasoft.net/rubrique157.html
Win:Kpz version 0.7.10 (20070831)
Ubuntu:Kpz v 20090206
2 tutos :
http://josar.free.fr/index.html
http://info.sio2.be/kpz/
1 nécessité :
http://www.geckozone.org/forum/viewtopic.php?t=51228
Michel Aix
Salamandre
Messages : 27
Inscription : 17 nov. 2005, 22:04

Problème résolu

Message par Michel Aix »

Mongo Bob
Merci pour ton aide.
Mon problème est résolu avec position: absolute. J'ai abandonné les bidouilles pour avoir position: fixed.
Tous les éléments de mes pages se redimensionnent en fonction de la largeur de l'écran. J'ai utilisé largement les dimensions en %.

J'aurai encore l'occasion de faire des progrès, mais pour l'instant ça va ! :D :D :D

PS Je n'ai pas trouvé sur le forum comment afficher que le problème est résolu. :oops:

Message envoyé avec : Mozilla/5.0 (Macintosh; U; Intel Mac OS X; fr) AppleWebKit/418.8 (KHTML, like Gecko) Safari/419.3
Michel
KompoZer, Handcoder
sur Mac Léopard
chinon37
Animal mythique
Messages : 5319
Inscription : 21 mars 2005, 10:17

Message par chinon37 »

en retournant au tout premier message du topic , modifier et tu modifies le sujet :wink:
Préferez Kompozer 0.8 à Nvu
Défendons nos valeurs, adhérons à l'APRIL
La Démocratie, c'est quand on frappe à votre porte à 6h00 du matin, et que c'est le laitier.
Mongo Bob
Varan
Messages : 1903
Inscription : 10 sept. 2005, 01:51

Message par Mongo Bob »

Rien à dire, impeccable, félicitations, ton site est "liquide", il se moule en 800x600 et même plus d'affreux ascenseur horizontal.
Je sais pas si c'est en suivant beaucoup mes conseils, mais c'est le résultat qui compte!
Win:Kpz version 0.7.10 (20070831)
Ubuntu:Kpz v 20090206
2 tutos :
http://josar.free.fr/index.html
http://info.sio2.be/kpz/
1 nécessité :
http://www.geckozone.org/forum/viewtopic.php?t=51228
Michel Aix
Salamandre
Messages : 27
Inscription : 17 nov. 2005, 22:04

Message par Michel Aix »

Mongo Bob a écrit :Rien à dire, impeccable, félicitations, ton site est "liquide", il se moule en 800x600 et même plus d'affreux ascenseur horizontal.
Je sais pas si c'est en suivant beaucoup mes conseils, mais c'est le résultat qui compte!
Résultat obtenu en suivant tes conseils en grande partie et en travaillant beaucoup... 8-)
Merci Mongo Bob.
Je vais déclarer le sujet résolu comme indiqué par chinon37

Message envoyé avec : Mozilla/5.0 (Macintosh; U; Intel Mac OS X; fr) AppleWebKit/418.8 (KHTML, like Gecko) Safari/419.3
Michel
KompoZer, Handcoder
sur Mac Léopard
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité