Wikini

AstucesCSSPourWikini

PagePrincipale :: DerniersChangements :: DerniersCommentaires :: ParametresUtilisateur :: Vous êtes ec2-35-172-195-49.compute-1.amazonaws.com
On se propose de rassembler dans cette page quelques astuces permettant de modifier l'aspect graphique de Wikini autrement qu'en changeant simplement les couleurs...


Remplacer un titre par une image


Dernière mise à jour : 04/02/2005
S'applique à : Wikini 0.4.x
Compatibilité : IE, Gecko, Khtml, Opera

On peut remplacer un titre H1, H2 etc. (comme celui du nom de Wiki par exemple) par une image avec la propriété CSS background :

h1.wiki_name {
}

La principale difficulté est en fait de faire disparaitre le texte car si les CSS précédents affichent bel et bien l'image, ils n'enlèvent pas le texte pour autant. Il y a alors deux situations. Le premier cas est celui d'une image dont le fond est une couleur unie, au moins dans une partie. On peut alors s'arranger pour que le texte prenne cette couleur et soit affiché dans une zone de couleur unie :

h1.wiki_name {
}

Si l'image n'a pas un fond uni mais que la page a un fond uni à proximité, il suffira de translater le texte dans cette zone. Le second cas est celui d'une image qui n'a pas de zone unie. On peut penser qu'il suffit alors de réduire totalement la taille de la police :

h1.wiki_name {
}

Cependant ceci ne marche que sous les Gecko (Mozilla and co.) et IE si mes souvenirs sont bons. Opera et Konqueror pensent que l'utilisateur s'est trompé dans la taille de police et rectifient pour qu'on voit le texte ! Pour le moment, il ne semble donc y avoir d'autre possibilité dans ce cas que de modifier le code XHtml en introduisant un tag supplémentaire qui sert à cacher le texte (technique classique notamment mise en oeuvre dans le jardin zen CSS).


Un bandeau Prévisualisation vertical sur toute la page


Dernière mise à jour : 04/02/2005
S'applique à : Wikini 0.4.x - test encore à réaliser
Compatibilité : Gecko, KHtml - IE pas encore testé (faut booter sous Win...), Opera 7.x échoué mais parade possible

screenshot Tous ceux qui n'utilisent pas la version CVS de Wikini ne peuvent pas modifier la couleur de la page lorsqu'on est en mode prévisualisation des modifications. Ceci est notamment intéressant pour éviter que l'utilisateur n'oublie d'aller valider ses modifications tout en bas de la page lorsque la page est longue. On peut néanmoins ruser en utilisant une image répétée dans le bloc de couleur rouge en haut de page contenant le texte prévisualisation. Ce bloc étant contenu dans celui de la page, il est possible de lui faire prendre toute la hauteur de la page uniquement par le jeu des CSS. On a alors un message prévisualisation sur toute la hauteur de la page donc moins facile d'oublier. Le code CSS est le suivant :

/* corps de page */
div.page {
}
/* boîte d'alerte 'Prévisualisation' */
div.prev_alert {
}

Image wikini-preview-alert.png

Explications pour les curieux : on crée une marge sur la gauche de la page (60px) qui sera remplie par l'image répétée. C'est le div.prev_alert qui contient l'image en question. Il suffit donc en théorie que ce div fasse la largeur de l'image et la hauteur du div.page. Néanmoins le texte de la page doit courrir sur la droite du div.prev_alert et non en-dessous. Plutôt que d'utiliser un float: left qui pourrait interférer avec d'autres float: xxx de la page, celui-ci est sorti du flot de la page (position: absolute) de sorte que ses dimensions ne comptent plus pour remplir le div.page. Le remplissage commence donc tout en haut du div.page. Cependant cette propriété position: absolute est relative au premier parent ayant un position: relative.

Sous Opera, impossible d'allonger le DIV (serait-on en mode quirk ?), il faut alors lui donner une hauteur très importante et obliger le conteneur à cacher ce qui dépasse :

/* pour Opera */
div.page {
}
div.prev_alert {
}

Il est très vraisemblable que IE réagisse similairement à Opera...

NB: testé en version CVS, transposé pour version 0.4.x sans vérification, je le fais dès que possible ! -- JmPhilippe
Il n'y a pas de commentaire sur cette page. [Afficher commentaires/formulaire]