Bords arrondis en Javascript
Le script ci-dessous illustre le principe pour créer des bords arrondis en javascript. Ce script n'est pas exploitable en production sur IE6 car il ne gère pas les bugs de celui-ci (tel que le décalage de 1px lors du positionnement absolu par rapport au bas d'un div de hauteur impaire)
Un titre
du texte du texte du texte du texte du texte du texte du texte du texte
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Page Title</title> <style type='text/css'> #container { background-color: orange; zoom: 1; } </style> <script type='text/javascript'> function Arrondi(element, rayon, couleur) { element.style.position = 'relative'; var e; for(var i=0;i<rayon;i++) { var n = rayon - Math.floor(rayon * Math.sin(Math.acos((rayon-i)/rayon))); e = this.trait(n, couleur); e.style.top = i + 'px'; e.style.left = 0; element.appendChild(e); e = this.trait(n, couleur); e.style.top = i + 'px'; e.style.right = 0; element.appendChild(e); e = this.trait(n, couleur); e.style.bottom = i + 'px'; e.style.left = 0; element.appendChild(e); e = this.trait(n, couleur); e.style.bottom = i + 'px'; e.style.right = 0; element.appendChild(e); } } Arrondi.prototype.trait = function(largeur, couleur) { var e = document.createElement('div'); e.style.backgroundColor = couleur; e.style.position = 'absolute'; e.style.width = largeur + 'px'; e.style.height = '1px'; e.style.overflow = 'hidden'; e.style.fontSize = '0'; return e; } </script> </head><body onload='new Arrondi(document.getElementById("container"), 14, "white");'> <div id='container'> <h1>Un titre</h1> <p>du texte du texte du texte du texte du texte du texte du texte du texte </p> </div> </body></html>