28172 sujets

CSS et mise en forme, CSS3

Bonjour,
Je cherche à mettre en place une div qui puisse avoir ces 2 propriétés en même temps, à savoir être fixe ET flottante.

La div fixe contiendra en fait les liens à des ancres situées dans le texte d'où l'utilité de l'avoir en fixe mais je souhaiterai également qu'au scroll verticale de l'écran, le texte se "pousse" sur son passage et j'ai pensé à la lui ajouter le float mais ça ne fonctionne pas, la div est fixe et rien de plus.

J'ai ensuite essayé de mettre mon texte dans des div, une div par paragraphe, de leur donner une largeur automatique et de rajouter ensuite ma div fixe sur la droite et flottante pour voir si avec cette astuce les div contenant mon texte interprèterait cette action comme une modification de la largeur totale mais non.

Je pourrai bien sûr ménager un écart sur le côté droit de la page qui servirait de couloir pour laisser circuler la div comme sur une autoroute mais la page que je fais est en largeur fluide et pour les résolutions les moins larges, la zone texte risque de ressembler à un rouleau de papier toilette : tout en longueur.

Je n'ai jamais vu cette technique sur un site web mais je n'interprète pas pour autant que ce soit impossible.

Merci de vos aides Smiley biggrin
C'est impossible (en CSS) car le position:fixed; sort l'élément du flux - qui se retrouve alors sur un autre plan (z) de la page. Il n'a plus aucun impact sur les éléments des autres plans.
Bonsoir à toutes et à tous,

le problème n'est pas de savoir si cela est faisable ou pas. Smiley rolleyes

En vérité, le problème est que tu ne sais pas ce que tu veux faire ! Smiley biggol

Si tu as des liens dans une balise <div> et que tu désires les rendre toujours accessibles pour l'utilisateur, il faut dans ce cas rendre ta balise <div> fixe et en conséquence de quoi, leurs consacrés un peu de place sur ta page.

Mais lorsque tu te déplaces verticalement, tu voudrais qu'elles ne te gènent pas dans la lisibilité de ta page. Il y a des solutions en fonction de l'importance de ta balise <div>.

1) soit sur la partie gauche ou droite de ta fenêtre, tu fixes une fois pour toute ta balise <div> qui prendra, par exemple, toute la hauteur de ta fenêtre et en conséquence de quoi, ta page HTML sera réduite en largeur.

2) tu laisses ta balise <div> fixe, mais comme elle est petite, tu peux alors la rendre opaque. Ce qui fait qu'elle est toujours fixe, mais tu peux lire au travers. Donc elle te gênera moins.

3) ta balise <div>, tu peux ne pas l'afficher du tout, et mettre à la place à plusieurs endroits dans ta page HTML des liens vers des ancres. En fait, tu ne fais que répéter à des endroits stratégiques de ta page, ce que tu aurais mis dans ta balise <div>.

Maintenant c'est à toi de nous décrire un peu plus tes problèmes de présentation et de nous donner un lien vers ton site afin de pourvoir le consulter et de donner notre avis, si tu le désires ?

@+
Modifié par Artemus24 (28 Jul 2011 - 23:43)
Bonjour,

Mon cher Artemus24, merci de cette réponse, cependant j'apporte une précision : je sais ce que je veux faire et j'ai détaillé ce que tu m'annonces comme solutions potentielles Smiley cligne

Ma balise div sera fixe et elle contiendra des liens vers des ancres, c'est sûr.

Il me reste 2 possibilités :
- créer un couloir de passage sur un côté de l'écran
- trouver le moyen que le texte se rétracte au passage de la div pour reprendre sa place initiale lorsqu'elle est passée.

Si j'en crois Vaxilart, la 2ème possibilité n'est pas envisageable car la position fixed sort la div du flux, c'est implacable et à priori sans appel cependant, je me demandais s'il n'y avait pas une astuce qui permettrait de contourner le problème, le CSS est plein de surprise.

Pour le moment le site est en réfaction, j'ai déjà une page ou j'ai ménagé un couloir de passage mais comme j'aime bien le changement et adore le CSS, je cherche une solution ne serais-ce que pour augmenter ma propre connaissance.

Quoi qu'il en soit, merci à vous 2 pour vos réponses. Smiley smile