<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blackotine &#187; mootools</title>
	<atom:link href="http://www.blackotine.fr/tag/mootools/feed" rel="self" type="application/rss+xml" />
	<link>http://www.blackotine.fr</link>
	<description>Blog d&#039;un intégrateur et développeur Web</description>
	<lastBuildDate>Wed, 07 Apr 2010 16:56:13 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Coins arrondis en css et javascript</title>
		<link>http://www.blackotine.fr/javascript/coins-arrondis-en-css-et-javascript</link>
		<comments>http://www.blackotine.fr/javascript/coins-arrondis-en-css-et-javascript#comments</comments>
		<pubDate>Wed, 25 Mar 2009 11:00:45 +0000</pubDate>
		<dc:creator>nico</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[coins]]></category>
		<category><![CDATA[coins arrondis]]></category>
		<category><![CDATA[mootools]]></category>

		<guid isPermaLink="false">http://www.blackotine.fr/?p=137</guid>
		<description><![CDATA[Récemment, j&#8217;ai du découper un design comportant de nombreux coins arrondis, de tout styles, avec ou sans bordures, couleur de fond etc&#8230;
J&#8217;ai donc cherché un script simple à mettre en place et très modulable et comme je n&#8217;ai pas trouvé quelque chose qui correspondait exactement à mes besoins, j&#8217;ai décidé de créer mon propre script.
Avant [...]]]></description>
			<content:encoded><![CDATA[<p>Récemment, j&#8217;ai du découper un design comportant de nombreux coins arrondis, de tout styles, avec ou sans bordures, couleur de fond etc&#8230;</p>
<p>J&#8217;ai donc cherché un script simple à mettre en place et très modulable et comme je n&#8217;ai pas trouvé quelque chose qui correspondait exactement à mes besoins, j&#8217;ai décidé de créer mon propre script.</p>
<p>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&#8217;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&#8217;être implanté sur tous les navigateurs et nous sommes, malheureusement, dans l&#8217;obligation de ruser.</p>
<p>Ce que je voulais :</p>
<ul>
<li>Les balises ne servant qu&#8217;à la mise en page et n&#8217;ayant aucune portée sémantique sont générées en javascript.</li>
<li>Un javascript non obstrusif, une mise en page non dégadée si le javascipt n&#8217;est pas activé / installé. Dans ce cas là, les coins restent simplement droits.</li>
<li>Utilisation des images pour les coins pour un meilleur rendu et une plus grande modularité.</li>
<li>Un script léger, syntaxe de l&#8217;appel simple mais paramétrable.</li>
<li>Entièrement personnalisable via CSS.</li>
<li>Conserve le DOM  et génère du XHTML et du CSS valide.</li>
<li>Rapide !</li>
</ul>
<p>Pour commencer, voici <a href="http://www.blackotine.fr/corners/">une démo</a> du script en action et <a href="http://www.blackotine.fr/corners/index_nojs.html">une deuxième</a> avec un bouton pour lancer le script.</p>
<p>Le script s&#8217;appuie sur le framework Javascript Mootools.<span id="more-137"></span></p>
<h2>Documentation</h2>
<p><strong>class corners</strong></p>
<h3>Arguments</h3>
<p><strong>element </strong>: L&#8217;élément sur lequel vous voulez les coins arrondis<br />
<strong>options </strong>: un objet, voir ci-dessous</p>
<h3>Options</h3>
<p><strong>elementType </strong>: Le type des élément générés (défaut: div)<br />
<strong>className </strong>: préfixe des classes des élément générés (défaut: corner)</p>
<h2>Utilisation</h2>
<p>L&#8217;élément modifié va être entouré par huit éléments permettant d&#8217;appliquer des styles CSS spécifiques sur chacun d&#8217;entre eux et correspondent aux cotés et aux coins répartis comme ceci (avec le préfixe par défaut, &laquo;&nbsp;corner&nbsp;&raquo;) :</p>
<ul>
<li>cornerT : Le bord supérieur</li>
<li>cornerB : Le bord inférieur</li>
<li>cornerR : Le bord droit</li>
<li>cornerL : Le bord gauche</li>
<li>cornerBL : Le coin inférieur gauche</li>
<li>cornerBR : Le coin inférieur droit</li>
<li>cornerTL : Le coin supérieur gauche</li>
<li>cornerTR : Le coin supérieur droit</li>
</ul>
<p>Ainsi, il ne reste plus qu&#8217;à appliquer les règles CSS adéquates pour ajouter les éléments de décoration voulus (coins arrondis, ombres, etc&#8230;)</p>
<p>Deux versions  du script :</p>
<ul>
<li><a href="http://www.blackotine.fr/corners/corners.js">non compressé</a> (4143 octets)</li>
<li><a href="http://www.blackotine.fr/corners/corners-yui-compressed.js">compressé</a> avec YUI Compressor  (1615 octets)</li>
</ul>
<h2>Allez plus loin</h2>
<p>Je suis conscient que ce script peut alourdir les pages et donc ralentir leur chargement alors que l&#8217;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&#8217;ayant aucun sens sémantiquement parlant. Ce javascript, ne touche pas à la structure du document et offre un rendu quasi similaire lorsqu&#8217;il est non activé.</p>
<p>En résumé, je ne suis pas entièrement convaincu de la pertinence et de l&#8217;utilité de ce script en terme de performance et d&#8217;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&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blackotine.fr/javascript/coins-arrondis-en-css-et-javascript/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
