28173 sujets

CSS et mise en forme, CSS3

Bonjour à tous,

Avant tout, merci par avance de l'aide que vous pourez m'apporter.

Je souhaite créer mes propres alert d'erreur.
Ainsi j'ai créer une div en position absolute que j'affiche à la place d'un alert.

mon soucis est que le site peu être assez long en hauteur, et parfois il se trouve qu'un utlisateur peu se trouver au milieux ou en bas de la page et genère un alert.

mon problème: je n'ai pas reussi à palcer la DIV par rapport à la fentre du navigateur.

j'arrive bien à le placer par raport à la page en elle meme (top et lef)


=> donc en gros
quand quelqu'un est en bas de la page et genere un alert => il ne le vois pas ou presque pas.


quelqu'un à une solution miracle qui m'aurait échapée??

Merci
Revok
Modifié par Revok (09 Oct 2007 - 11:24)
La seule solution que je connaisse est à base de JavaScript.
Mais je ne suis pas expert en CSS et il existe peut-être une solution.
Comme tu as posté dans la catégorie CSS, je m'imagine que c'est une solution CSS only que tu cherches.
Faute de meilleure réponse que la mienne d'ici ce soir, je te posterai la solution JS.
Bonjour,

Sur les navigateurs qui le supportent, position : fixed; sert à ça. Sinon il faut aller chercher les valeurs de scroll (propriétés qui changent selon le navigateur, évidemment) et les ajouter à la position.

Attention aux dimensions de l'élément s'il est en position fixe, on ne peut pas scroller pour voir un partie éventuellement cachée.
Merci pour les infos,
apres queleques recherches complémentaires sur le sujet des position"Fixed"

j'ai trouvé une solution de contournement :
en css je use çà

je sais pas si c'est dans les règles de l'art?
mais en tout cas c'est full css

position:fixed;
_position:absolute;
top:0;
_top:expression(eval(document.body.scrollTop));


çà marche avec IE et FF, pas encore pu tester sous les autres navigateurs

qu'en pensez vous ?
Revok a écrit :

qu'en pensez vous ?


Que si cela fait exactement ce que tu souhaites alors c'est forcément la meilleure solution.

Attention toutefois quand tu dis que ta solution est full css.
Ce n'est pas le cas car, même si entrée dans le cadre d'une définition CSS dans un fichier .css,
expression(eval(document.body.scrollTop));

EST et RESTE du JAVASCRIPT !

Définition CSS qui ne sera donc évaluée que si JS est activé.

Bonne continuation avec ces subtilités.
Modifié par aCOSwt (10 Oct 2007 - 11:11)
aCOSwt a écrit :

Définition CSS qui ne sera donc évaluée que si JS est activé.


Et qui plus est ne sera évaluée que par IE.

Et je te conseille donc de mettre tes définitions propres à IE (celles qui commencent par un _) dans une feuille de style à part grace aux commentaires conditionnels.

De plus, comme tes messages d'erreurs apparaissent grace à javascript, je te conseillerai de continuer à utiliser javascript pour positionner la fenetre.
Jette un oeil sur http://www.quirksmode.org/viewport/compatibility.html pour plus de détails sur les subtilités du calcul.