Communautés

Mon autre blog

Ceci n'est que mon blog de test... J'ai un autre blog, un vrai, plus attrayant et plus complet que celui-ci...

Recommander

Lundi 1 octobre 2007 1 01 /10 /Oct /2007 16:00

Encadrer un module

Vous en avez rêvé ? Titia l'a fait ! Ouais, j'y crois à fond ^^ !
Bon, alors en fait, après une grosse prise de tête et un gros arrachage de cheveux, je viens enfin de réussir à faire des jolis contours de modules avec des colonnes élastiques. Ouf ! Ca n'a pas été facile. Alors il y a encore un tout petit défaut, mais je suis désormais chauve alors je vais attendre que mes cheveux repoussent pour m'arracher les cheveux de nouveau.

On va donc faire en sorte d'obtenir ça :
right-v2.jpg

Donc comme vous le voyez, il manque quelques millimètres en bas à droite sur le côté droit du module... Mais j'en ai ras la casquette de chercher, alors en attendant, il faudra s'en contenter !

Bon, on va y aller en pas à pas, comme d'habitude.
Commençons par la classe .box-titre et cette image : .
On va ajouter cette image en fond de la classe .box-titre, la répéter horizontalement et la positionner en haut. J'indique que la ligne fait 22px de hauteur, sinon, je ne vois pas l'image en entier, elle est tronquée en bas.
.box-titre {background-image:url(url_de_l_image_du_haut); background-repeat:repeat-x; height:22px; }
On obtient le résultat suivant :
top-v2.jpg
Ensuite, on va ajouter la coin en haut à gauche. Utilisons la classe .box-titre span et cette image : .
Nous allons la positionner en fond de la classe, ne pas la répéter, et la positionner en haut à gauche. On ajoute un "padding-bottom", sinon, l'image est tronquée en bas. Pourquoi 6px ? Parce qu'apparemment, le "span" fait 16px... mon image en fait 22... et il en manque donc 6 pour tout voir ! Ca, c'est un peu au p'tit bonheur la chance !
.box-titre span {background-image:url(url_de_l_image_du_haut_a_gauche); background-repeat:no-repeat; background-position:top left; padding-bottom:6px; }
On obtient le résultat suivant :
topleft-v2.jpg
Désormais, on passe au coin droit, à la classe .box-titre h2, et l'image inverse de la précédente : .
Cette image sera en fond de la classe .box-titre h2, ne sera pas répétée pour n'apparaître qu'une seule fois, au coin, et sera positionnée en haut à droite. De la même façon que tout à l'heure, on indique la hauteur de la ligne : 22px, qui correspond à la hauteur de l'image.
.box-titre h2 {background-image:url(url_de_l_image_du_haut_a_droite); background-repeat:no-repeat; height:22px; background-position:top right; }
Et hop, tout le haut du module est prêt !
topright-v2.jpg

Nous allons mettre la bordure du bas en utilisant la classe .box-footer et cette image : .
Nous devons répéter cette image horizontalement pour qu'elle prenne toute la largeur. Elle sera positionnée en bas du fond. Comme pour l'image du haut, on indique la hauteur de l'image : 7px, sinon, elle est tronquée.
.box-footer {background-image:url(url_de_l_image_du_bas); background-repeat:repeat-x; height:7px; }
Et voilà !
bottom-v2.jpg

Allez, soyons fous, ajoutons également des coins, en bas, pour améliorer encore ces contours ! Utilisons tout d'abord la classe .box-footer span et ce coin : .
De même que le coin en haut à gauche, celui-ci sera en fond de la classe, non répétée, et positionnée en bas à gauche. On ajoute un padding à gauche... Pourquoi ? Sinon l'image est tronquée. De la même façon que pour le coin du haut on a ajouté un padding d'une taille un peu choisie au hasard, là, c'est pareil. Ca dépend de la taille initiale du span (que j'ignore) et de la taille de l'image...
.box-footer span {background-image:url(url_de_l_image_du_bas_a_gauche); background-repeat:no-repeat; background-position:top left; padding-left:3px;}
Le premier coin du bas :
bottomleft-v2.jpg

Passons au coin droit. La classe sera .box-footer h2, et l'image symétrique à la précédente : .
Même principe que précédemment, mais en positionnant à droite et non pas à gauche. Par contre, ici, pas de padding. Ca fonctionne bien ^^ !
.box-footer h2 {background-image:url(url_de_l_image_du_bas_a_droite); background-repeat:no-repeat; background-position:top right; }
bottomright-v2.jpg

On va finir avec les bords gauche et droite. Commençons par la gauche. Utilisons pour cela la classe .box. Nous allons mettre une bordure toute simple : .
Puisqu'on veut que cette image fasse toute la bordure gauche, on va la positionner à gauche, et la répéter sur toute la hauteur.
.box {background-image:url(url_de_l_image_de_gauche); background-repeat:repeat-y; background-position: top left; }
La bordure gauche est terminée :
left-v2.jpg

A droite, maintenant. Même principe, avec la classe .box-content, et une image symétrique .
Le principe est identique au précédent, à la différence que cette image sera positionnée à droite, et non à gauche.
.box-content {background-image:url(url_de_l_image_de_droite); background-repeat:repeat-y; background-position: top right; }
Le module est prêt (malgré le petit blanc en bas à droite...) :

right-v2.jpg

Voilà, ça n'a pas été de tout repos, mais ça fonctionne ! Ouf !

Les différents modules

A noter que chaque module peut être identifié de manière unique, ce qui peut être pratique lorsque l'on veut mettre une image de fond différente pour chaque titre de module, ou une petite icône en face de chaque titre.
  • .articlerecent : le module de la liste des articles récents
  • .lien : les liens
  • .recherche : le module de recherche
  • .recommander : le module "recommander"
  • .archive : les archives
  • .calendrier : le calendrier
  • .w3c : le module W3C
  • .concours : le module "over-blog - créer un blog"
  • .categorie : la liste des catégories
  • .album : les albums photos
  • .newsletter : le module "newsletter"
  • .presentation : la présentation du blog
  • .aleaIm : le module des images aléatoires
  • .commentrecent : les commentaires
  • .community : les communautés
  • .pub : les modules de publicité
  • .profil : le module du profil
  • .pages : le module de la liste des pages
  • .text : les deux modules "texte libre". Il est possible de les identifier manuellement.

Identifier les modules textes libres.

Dans Configurer / Options globales / Réglages avancés, il faut cocher la case : "Permettre la configuration des id XHTML des modules". Ensuite, quand on configure le module en question (petit marteau dans le coin en haut à droite des modules, dans Configurer), on voit une case "id XHTML" qui correspond à l'identifiant que vous souhaitez pour le module.
Par Titia - Publié dans : Classes v2 - Communauté : aide css
Ecrire un commentaire - Voir les 54 commentaires
Retour à l'accueil
Créer un blog gratuit sur over-blog.com - Contact - C.G.U. - Rémunération en droits d'auteur - Signaler un abus