My development tips and tricks :
Foo Fighters - All My Life
(One by One)

Machine Head - Davidian
(Burn My Eyes)

Weezer - El Scorcho
(Pinkerton)

Cake - Rock 'n' Roll Lifestyle
(Motorcade of Generosity)

Deftones - Simple Man
(B-Sides & Rarities)

WP Cumulus Flash tag cloud by Roy Tanck and Luke Morton requires Flash Player 9 or better.
Récemment, j’ai du découper un design comportant de nombreux coins arrondis, de tout styles, avec ou sans bordures, couleur de fond etc…
J’ai donc cherché un script simple à mettre en place et très modulable et comme je n’ai pas trouvé quelque chose qui correspondait exactement à mes besoins, j’ai décidé de créer mon propre script.
Avant tout, je suis contient que le fait de devoir créer des éléments supplémentaires juste pour satisfaire un besoin de mise en page est une technique à proscrire car cela n’a aucun sens. Tout devrait pouvoir se faire directement dans le CSS. Oui mais voilà, le CSS 3 et sa gestion native des bords arrondis (-moz-border-radius et -webkit-border-radius pour Firefox et Safari) est loin d’être implanté sur tous les navigateurs et nous sommes, malheureusement, dans l’obligation de ruser.
Ce que je voulais :
Pour commencer, voici une démo du script en action et une deuxième avec un bouton pour lancer le script.
Le script s’appuie sur le framework Javascript Mootools.
class corners
element : L’élément sur lequel vous voulez les coins arrondis
options : un objet, voir ci-dessous
elementType : Le type des élément générés (défaut: div)
className : préfixe des classes des élément générés (défaut: corner)
L’élément modifié va être entouré par huit éléments permettant d’appliquer des styles CSS spécifiques sur chacun d’entre eux et correspondent aux cotés et aux coins répartis comme ceci (avec le préfixe par défaut, « corner ») :
Ainsi, il ne reste plus qu’à appliquer les règles CSS adéquates pour ajouter les éléments de décoration voulus (coins arrondis, ombres, etc…)
Deux versions du script :
Je suis conscient que ce script peut alourdir les pages et donc ralentir leur chargement alors que l’on pourrait directement écrire ces balises dans la page sans passer par javascript. Mais ce sont les limitations de CSS 2 et les multiples incompatibilités des navigateurs qui nous forcent à insérer des balises inutiles et n’ayant aucun sens sémantiquement parlant. Ce javascript, ne touche pas à la structure du document et offre un rendu quasi similaire lorsqu’il est non activé.
En résumé, je ne suis pas entièrement convaincu de la pertinence et de l’utilité de ce script en terme de performance et d’optimisation mais son utilisation simple et efficace me semble toutefois interessante. On pourrait même trouver des applications diverses autres que les coins arrondis comme par exemple les ombres, dégradés complexes etc…
Intéressant, et surtout très pratique pour les navigateurs qui n’interprètent pas le CSS2 et 3…