28172 sujets

CSS et mise en forme, CSS3

bonjour

je découvre votre forum au hasard d'une recherche de solutions un peu partout sur internet. En désespoir de cause, je vous pose donc la question.

Je suis actuellement en train de m'essayer a la création de site, et j'avais l'intention, sur ma page web, que l'en-tête soit fixe, la page se déroulant par dessous, tandis que le header restait toujours visible.

Aucun problème pour cela, j'ai pu le faire et cela marche très bien...

Sauf que...

Ma page est longue, et j'ai du recourir a la mise en place d'ancres et de liens internes a la page. Aucun problème, ceux-ci marchent très bien...

Mais lorsque je clique sur un lien, l'ancre qui y est rattachée s'affiche non pas sous le header, mais au niveau ou il s'affiche habituellement, a savoir en haut de la page... Haut de page qui, donc, est caché par le header. Ce qui fait qu'en cliquant sur un de mes liens, je ne vois qu'une partie du paragraphe, une dizaine de lignes étant cachées, et je dois remonter pour voir le paragraphe entier.

J'ai essayé, a l'aide des balises css "margin-top", d'indiquer au navigateur qu'il doit afficher l'ancre SOUS le header, mais rien n'y fait. Que je place mon margin-top dans une partie "contenu" englobant tout le corps du site et n'excluant que les header, que je le place dans une balise "lien_interne" appliquée a toutes les ancres, que je le place dans "body", en excluant mon en-tête de ce même body, rien n'y fait, mon ancre s'affiche toujours sous le header....

J'ai essayé également de trouver sur divers tutoriels en ligne un moyen de séparer mon site en deux blocs bien distincts, l'un restant fixe, et l'autre étant mobile, ceci afin que le navigateur comprenne que le haut de la page, ou il doit cette fois afficher l'ancre, est situé dans le second bloc et non dans le premier, mais je n'ai rien trouvé de tel.

Je vous pose donc la question :

Y'a t'il un moyen quelconque de concilier header fixe et ancres dans une même page web sans que cela nuise a la lecture ?
Modifié par beren57 (10 Nov 2008 - 17:08)
beren57 a écrit :
Y'a t'il un moyen quelconque de concilier header fixe et ancres dans une même page web sans que cela nuise a la lecture ?

Rien en natif et rien de prévu en CSS. C'est une des nombreuses limites du positionnement fixe, séduisant sur le papier mais souvent casse-gueule en pratique.

On pourrait éventuellement, en JavaScript, détecter les clics sur les liens internes et faire le défilement en JavaScript (donc ne pas laisser le navigateur le faire comme un grand). Ça peut donner un effet sympa. Mais ça ne sera sans doute pas des plus simples à mettre en place: débutants complets en JavaScript s'abstenir.
peut être simplement placer les ancres un peu plus haut (la hauteur du header en fait)


a écrit :

J'ai essayé également de trouver sur divers tutoriels en ligne un moyen de séparer mon site en deux blocs bien distincts, l'un restant fixe, et l'autre étant mobile, ceci afin que le navigateur comprenne que le haut de la page, ou il doit cette fois afficher l'ancre, est situé dans le second bloc et non dans le premier, mais je n'ai rien trouvé de tel.


il y a les frames mais bon ... pas bien Smiley murf
Modifié par scott54 (10 Nov 2008 - 08:11)
bon ben je crois que je vais faire ce scott a conseillé : tricher un peu sur la position des ancres... Vu que j'y connais strictement rien en javascript, ca vaudra mieux.

Merci pour vos réponses en tout cas, ca a été rapide.