<?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>slDesign &#187; CSS</title>
	<atom:link href="http://sldesign.openwab.com/tag/css/feed/" rel="self" type="application/rss+xml" />
	<link>http://sldesign.openwab.com</link>
	<description>Web, Dév &#38; More...</description>
	<lastBuildDate>Wed, 13 Oct 2010 10:09:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Tutoriel CSS : 3D Transform</title>
		<link>http://sldesign.openwab.com/2010/07/27/tutoriel-css-3d-transform/</link>
		<comments>http://sldesign.openwab.com/2010/07/27/tutoriel-css-3d-transform/#comments</comments>
		<pubDate>Tue, 27 Jul 2010 07:36:25 +0000</pubDate>
		<dc:creator>Steve Leherpeux</dc:creator>
				<category><![CDATA[HTML / CSS]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>

		<guid isPermaLink="false">http://sldesign.openwab.com/?p=690</guid>
		<description><![CDATA[Le version 3 de CSS nous a apporté son lot de nouveauté ; parmi les plus connues et plus utilisées on peut citer &#171;&#160;Corner radius&#160;&#187; ou encore les dégradés mais une nouvelle propriété très intéressante va vous permettre une encore plus grande liberté : la propriété &#171;&#160;transform&#160;&#187;. De la 3D en CSS ? Je n&#8217;irai [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fsldesign.openwab.com%2F2010%2F07%2F27%2Ftutoriel-css-3d-transform%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fsldesign.openwab.com%2F2010%2F07%2F27%2Ftutoriel-css-3d-transform%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><img class="alignleft size-full wp-image-732" style="margin: 5px;" title="CSS Effet 3D - Cube Final" src="http://sldesign.openwab.com/wp-content/uploads/2010/07/cube-final.jpg" alt="CSS Effet 3D - Cube Final" width="199" height="222" />Le version 3 de CSS nous a apporté son lot de nouveauté ; parmi les plus connues et plus utilisées on peut citer &laquo;&nbsp;Corner radius&nbsp;&raquo; ou encore les dégradés mais une nouvelle propriété très intéressante va vous permettre une encore plus grande liberté : la propriété &laquo;&nbsp;transform&nbsp;&raquo;.</p>
<p><em><strong>De la 3D en CSS ?</strong></em></p>
<p>Je n&#8217;irai pas jusqu&#8217;à dire qu&#8217;il s&#8217;agit de 3D mais plutot d&#8217;effet 3D au même titre que nous pouvons réaliser ces effets avec un logiciel de graphisme.</p>
<p>Nous verrons dans cet article comment réaliser un cube en effet 3D.<span id="more-690"></span></p>
<hr class="clear_all" />
<h1>I &#8211; Introduction</h1>
<p>Avant toute chose, il est nécessaire de prendre en compte la comptabilité. L&#8217;utilisation de la propriété CSS 3D transform n&#8217;est compatible qu&#8217;avec Firefox 3.5+ [<code>-moz-transform] (documentation)</code> et Safari 3.2+<code>[-webkit-transform](documentation).</code></p>
<p>Travaillant essentiellement sur Firefox, je ne m'aventurerai pas dans les détails de Safari mais il n'y a pas d'énormes différences...</p>
<h2>1°) Prérequis</h2>
<ul>
<li>Connaissances HTML / CSS</li>
<li>Vous vous souvenez de vos cours de géométrie ?</li>
<li>Un éditeur CSS / HTL</li>
</ul>
<h2>2°) Un peu de théorie...</h2>
<p>http://www.w3.org/TR/css3-3d-transforms/</p>
<p><strong>Rotation d'un objet : </strong>-moz-transform:  rotate(angle);</p>
<p>Exemple :</p>
<p>-moz-transform:  rotate(30);</p>
<pre><img class="size-full wp-image-691 " title="Propritét CSS Transform rotate - Rotation d'un div de 30°" src="http://sldesign.openwab.com/wp-content/uploads/2010/07/1.2.1-css-transform-rotate.jpg" alt="Propritét CSS Transform rotate - Rotation d'un div de 30°" width="318" height="284" />
<div class="mceTemp">
<dl id="attachment_691" class="wp-caption alignnone" style="width: 328px;">
<dd class="wp-caption-dd">Figure 1.2.1 - Propritét CSS Transform rotate - Rotation d'un div de 30°</dd>
</dl>
</div>

<strong>Redimensionnement 2D axe X et Y d'un objet :</strong> -moz-transform:  scale(sx[, sy]);</pre>
<p>Si [sy] n'est pas renseigné, il aura la même valeur de [sx]</p>
<p>Modifier la perspective : -moz-transform: skew(ax,[ay]);</p>
<p>Permet de modifier l'axe de perspective, vous pouvez également utilsier skewX(deg) et skewY(deg) pour les utiliser indépendament.</p>
<p>Exemple : -moz-transform: skewY(30deg);</p>
<p>Parlons maintenant de la propriété "transform:matrix", il faut comprendre dans Matrix la traduction "matrice". Nous avons une forme géométrique qui est constituée de différents points [a,b,c,d] que nous pouvons manipuler.</p>
<pre>-moz-transform:  matrix(a, c, b, d, tx, ty)

/* Where a, b, c, d construit la transformation de la matrice
   ┌     ┐
   │ a b │
   │ c d │
   └     ┘
   and tx, ty are the translate values.  */
</pre>
<p>Quelques exemples :</p>
<p>.matrix {<br />
width: 200px;<br />
height: 100px;<br />
background: #f5f5f5;<br />
-moz-transform:matrix(1,0,0.6,1,15em,0);<br />
}</p>
<p>Rendu (figure 1.2.3)</p>
<div id="attachment_696" class="wp-caption alignnone" style="width: 303px"><img class="size-full wp-image-696 " title="Rendu de la proprité transform:matrix" src="http://sldesign.openwab.com/wp-content/uploads/2010/07/1.2.3-css3D-matrix1.jpg" alt="Rendu de la proprité transform:matrix" width="293" height="113" /><p class="wp-caption-text">Figure 1.2.3 - Rendu de la proprité transform:matrix</p></div>
<p>Exemple 2 - Retournement d'objet</p>
<p>.matrix {<br />
width: 200px;<br />
height: 100px;<br />
background: #ff8000;<br />
-moz-transform:matrix(-1,0,1.2,1,20em,12em);<br />
}</p>
<p>Résultat (figure 1.2.4) :</p>
<div id="attachment_697" class="wp-caption alignnone" style="width: 391px"><img class="size-full wp-image-697" title="Résultat transform:matrix - retournement d'objet" src="http://sldesign.openwab.com/wp-content/uploads/2010/07/1.2.4-css3D-matrix2.jpg" alt="Résultat transform:matrix - retournement d'objet" width="381" height="147" /><p class="wp-caption-text">Figure 1.2.4 - Résultat transform:matrix - retournement d&#39;objet</p></div>
<p>Exemple 3 : Reflexion</p>
<p>-moz-transform: matrix(1, 0, 0, -1, 0, 0);</p>
<div id="attachment_699" class="wp-caption alignnone" style="width: 218px"><img class="size-full wp-image-699" title="Exemple transform:matrix - Reflexion" src="http://sldesign.openwab.com/wp-content/uploads/2010/07/1.2.5-css3D-reflexion-sample.jpg" alt="Exemple transform:matrix - Reflexion" width="208" height="388" /><p class="wp-caption-text">Figure 1.2.5 - Exemple transform:matrix - Reflexion</p></div>
<p>Autres exemples (non-shématisés) :</p>
<p>Rotation 90° sur la gauche : -moz-transform:matrix(0,-1,1,0,0,0);</p>
<h1>II - Création d'un cube 3D</h1>
<h2>1°) Code HTML de base</h2>
<p>Il faut tout d'abord créer 3 blocs qui nous permettrons de simuler notre cube. Ces 3 blocs seront encadrés par un div global.</p>
<p>Code HTML du cube</p>
<pre class="brush:html">&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /&gt;
&lt;title&gt;Tutoriel CSS 3D&lt;/title&gt;
&lt;base href="http://localhost/tutos/tuts/css-3D/"/&gt;
&lt;link href="style.css" rel="stylesheet" type="text/css"/&gt;
&lt;/head&gt;
&lt;body&gt;
 &lt;div id="cube"&gt;
 &lt;div id="topSide"&gt;&lt;div&gt;Content&lt;/div&gt;&lt;/div&gt;
 &lt;div id="leftSide"&gt;&lt;div&gt;Content&lt;/div&gt;&lt;/div&gt;
 &lt;div id="rightSide"&gt;&lt;div&gt;Content&lt;/div&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p>J'ai également créé un fichier css qui nous permettra de mettre en forme notre cube 3D. Dans un premier temps, j'ai simplement dissocier les blocs.</p>
<p>Code CSS fichier style.css</p>
<pre class="brush:css">#cube {
 position: relative;
 top: 200px;
 margin:0 0 230px 0;
}

#cube .cubeSide{
 height:200px;
 width:200px;
}
#topSide{
 background:#ff8000;
}
#leftSide{ background:#0080c0;}
#rightSide{background:#00ff40;}</pre>
<p>Voici le résultat obtenu (figure 2.1.1) :</p>
<div id="attachment_695" class="wp-caption alignnone" style="width: 216px"><img class="size-full wp-image-695" title="CSS Transform - Cube 3D Etape 1" src="http://sldesign.openwab.com/wp-content/uploads/2010/07/2.1-css3D-etape1.jpg" alt="CSS Transform - Cube 3D Etape 1" width="206" height="575" /><p class="wp-caption-text">Figure 2.1.1  -CSS Transform - Cube 3D Etape 1</p></div>
<p>Maintenant, passons à des choses un peu plus sympa, nous allons appliquer notre propriété "transform" à notre cube :</p>
<pre class="brush:css;first-line:27">.leftFace {
 background: #ff8000;
 -moz-transform: skewY(30deg);
}

.rightFace {
 background: #800080;
 -moz-transform: skewY(-30deg);
}</pre>
<p>Nous avons appliqué ici une propriété "transform:skewY" permettant d'incliner nos div sur leurs axes Y donnant ainsi un effet de perspective.</p>
<div id="attachment_701" class="wp-caption alignnone" style="width: 221px"><img class="size-full wp-image-701" title="Transformation perspective sur l'axe Y - [transform:skewX(val)" src="http://sldesign.openwab.com/wp-content/uploads/2010/07/cube_2.jpg" alt="Transformation perspective sur l'axe Y - [transform:skewX(val)" width="211" height="606" /><p class="wp-caption-text">Figure 2.1.2 - Transformation perspective sur l&#39;axe Y - [transform:skewX(val)</p></div>
<p>Positionner les DIV : Nous devons appliquer un positionnement "absolute" à l'ensemble de nos blocs afin que ceux-ci puissent êtres dissocié et placés indépendament (figure 2.1.3) .</p>
<p>Code CSS : Positionnement des DIV</p>
<pre class="brush:css;first-line:11">.topFace, .leftFace, .rightFace {
position: absolute;
}
</pre>
<div id="attachment_704" class="wp-caption alignnone" style="width: 222px"><img class="size-full wp-image-704" title="Positionnement absolute des blocs" src="http://sldesign.openwab.com/wp-content/uploads/2010/07/cube_3.jpg" alt="Positionnement absolute des blocs" width="212" height="326" /><p class="wp-caption-text">Figure 2.1.3 - Positionnement absolute des blocs</p></div>
<p>Ensuite, nous allons positionner notre bloc right (figure 2.1.4). Il s'agit ici de décaller notre bloc de 200px sur la droite et vers le bas.</p>
<pre class="brush:css;first-line:34;">.rightFace {
 background: #800080;
 -moz-transform: skewY(-30deg);
 top: 200px;
 left: 200px;
}</pre>
<div id="attachment_705" class="wp-caption alignnone" style="width: 401px"><img class="size-full wp-image-705" title="Positionnement du bloc &quot;rightSide&quot;" src="http://sldesign.openwab.com/wp-content/uploads/2010/07/cube_4.jpg" alt="Positionnement du bloc &quot;rightSide&quot;" width="391" height="442" /><p class="wp-caption-text">Figure 2.1.4 - Positionnement du bloc &quot;rightSide&quot;</p></div>
<p>Intéressons nous maintenant à la partie haute, c'est à dire le DIV topSide. C'est la partie la plus compliquée...</p>
<pre class="brush:css;first-line:15;">.topFace {
 -moz-transform: rotate(60deg);
 left: 100px;
 top: 42px;
}

.topFace div {
 background: #0080c0;
 -moz-transform: skewY(-30deg) scaleY(1.16);
}</pre>
<p>Quelques explications : Pour donner cet effet, il est nécessaire de pivoter notre face (-moz-transform: rotate(60deg);), puis nous appliquons une perspective et un redimenssionnement.</p>
<div id="attachment_731" class="wp-caption alignnone" style="width: 394px"><img class="size-full wp-image-731" title="CSS Effet 3D - Cube final" src="http://sldesign.openwab.com/wp-content/uploads/2010/07/cube_6.jpg" alt="CSS Effet 3D - Cube final" width="384" height="472" /><p class="wp-caption-text">Figure 2.1.5 - CSS Effet 3D - Cube final</p></div>
<p>Avec un peu d'habillage, voici le résultat final :</p>
<div id="attachment_732" class="wp-caption alignnone" style="width: 429px"><img class="size-full wp-image-732" title="CSS Effet 3D - Cube Final" src="http://sldesign.openwab.com/wp-content/uploads/2010/07/cube-final.jpg" alt="CSS Effet 3D - Cube Final" width="419" height="468" /><p class="wp-caption-text">Figure 2.1.5 - CSS Effet 3D - Cube Final</p></div>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://sldesign.openwab.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://sldesign.openwab.com/2010/07/27/tutoriel-css-3d-transform/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>SpeedTuts : CSS Image Switcher</title>
		<link>http://sldesign.openwab.com/2010/07/16/speedtuts-css-image-switcher/</link>
		<comments>http://sldesign.openwab.com/2010/07/16/speedtuts-css-image-switcher/#comments</comments>
		<pubDate>Fri, 16 Jul 2010 08:28:36 +0000</pubDate>
		<dc:creator>Steve Leherpeux</dc:creator>
				<category><![CDATA[HTML / CSS]]></category>
		<category><![CDATA[Tutoriels]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[SpeedTuts]]></category>

		<guid isPermaLink="false">http://sldesign.openwab.com/?p=595</guid>
		<description><![CDATA[Dans le cadre de ce tutoriel, nous allons voir comment créer un Switcher d&#8217;images uniquement en CSS et sans aucune utilisation de Javascript. Pour cela, nous utiliserons simplement CSS et déclencherons les permutation au survol de lien. Démo 1°) Ce dont nous avons besoin 4 images 1 éditeur de Code HTML  / CSS(j&#8217;utilise Aptana IDE) [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fsldesign.openwab.com%2F2010%2F07%2F16%2Fspeedtuts-css-image-switcher%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fsldesign.openwab.com%2F2010%2F07%2F16%2Fspeedtuts-css-image-switcher%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Dans le cadre de ce tutoriel, nous allons voir comment créer un Switcher d&#8217;images uniquement en CSS et sans aucune utilisation de Javascript. Pour cela, nous utiliserons simplement CSS et déclencherons les permutation au survol de lien.</p>
<p><a title="Démonstration CSS Images Switcher" href="http://samples.openwab.com/css-images-switcher/" target="_blank">Démo</a></p>
<p><span id="more-595"></span></p>
<h2>1°) Ce dont nous avons besoin</h2>
<ul>
<li>4 images</li>
<li>1 éditeur de Code HTML  / CSS(j&#8217;utilise Aptana IDE)</li>
<li>1 fichier HTML</li>
<li>1 fichier CSS</li>
<li>Connaissances de base HTML/CSS</li>
</ul>
<p>2°) Trame html &#8211; création du layout</p>
<p>La première étape consiste à créer un fichier HTML dans lequel nous allons placer nos images et nos liens.J&#8217;ai également lié un fichier CSS à mon document HTML</p>
<p>Code HTML &#8211; Fichier de base HTML</p>
<pre class="brush:html">&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /&gt;
&lt;title&gt;CSS Image Switcher&lt;/title&gt;
&lt;link href="style.css" rel="stylesheet" type="text/css"/&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;CSS Image Switcher&lt;/h1&gt;

&lt;/body&gt;
&lt;/html&gt;</pre>
<p>Il ne reste plus qu&#8217;à insérer mon contenu, c&#8217;est à dire mes images et mes liens ; J&#8217;utilise des blocs &#8216;&lt;div&gt;&#8217; comme conteneur principal. J&#8217;ai ensuite inséré mes liens pour mes 4 images en veillant à les identifier avec des attributs &laquo;&nbsp;ID&nbsp;&raquo;.</p>
<p>Code HTML &#8211; Création des liens dans le conteneur principal</p>
<pre class="brush:html;first-line:10;">&lt;div id="wrapper"&gt;
 &lt;a id="img1" href="#" title="Image 1"&gt;Image 1&lt;/a&gt;
 &lt;a id="img2" href="#" title="Image 2"&gt;Image 2&lt;/a&gt;
 &lt;a id="img3" href="#" title="Image 3"&gt;Image 3&lt;/a&gt;
 &lt;a id="img4" href="#" title="Image 4"&gt;Image 4&lt;/a&gt;
&lt;/div&gt;</pre>
<h2>3°)Edition du CSS</h2>
<p>Nous allons éditer notre code CSS. Je dispose de 4 images qui ont les mêmes dimensions (256&#215;192). L&#8217;idée est de faire en sorte que les liens se chevauches, il faut donc appliquer une position &laquo;&nbsp;absolute&nbsp;&raquo; à nos liens et lier nos images à nos liens et plus particulièrement les attributs &laquo;&nbsp;ID&nbsp;&raquo; de nos liens.</p>
<p>Voici le code CSS de notre CSS Switcher :</p>
<p>Code CSS :</p>
<pre class="brush:css">/** Conteneur principal */
#wrapper{
 width:256px;
 margin:10px auto;
 position:relative;
}

/** Liens **/
#wrapper a{
 display:block;
 width:256px;
 height:192px;
 position:absolute;
}

/** Liaison des liens et des images */
#img1{background-image:url(img/img1.jpg);}
#img2{background-image:url(img/img2.jpg);}
#img3{background-image:url(img/img3.jpg);}
#img4{background-image:url(img/img4.jpg);}</pre>
<p>Vous pouvez voir le résultat obtenu en figure 3.1.1 :</p>
<div id="attachment_600" class="wp-caption alignnone" style="width: 603px"><img class="size-full wp-image-600" title="3.1.1-css-switcher-resultat" src="http://sldesign.openwab.com/wp-content/uploads/2010/07/3.1.1-css-switcher-resultat.jpg" alt="Résultat après édition des liens" width="593" height="277" /><p class="wp-caption-text">Figure 3.1.1 - Résultat après édition des liens</p></div>
<p>Reste à savoir comment nous allons pouvoir donner un effet de switch au survol de nos liens et comment séparer ces différents liens&#8230;</p>
<p>La première étape va consister à modifier nos liens en englobant nos libellés de lien dans des balises &#8216;&lt;span&gt;&#8217; qui vont nous permettre de réaliser des décalages entre nos liens car, comme vous avez pu le remarquer, nos liens se chevauchent et apparaissent au dessus des images.</p>
<p>Code HTML des liens :</p>
<pre class="brush:html;first-line:10;">&lt;div id="wrapper"&gt;
 &lt;a id="img1" href="#" title="Image 1"&gt;&lt;span&gt;Image 1&lt;/span&gt;&lt;/a&gt;
 &lt;a id="img2" href="#" title="Image 2"&gt;&lt;span&gt;Image 2&lt;/span&gt;&lt;/a&gt;
 &lt;a id="img3" href="#" title="Image 3"&gt;&lt;span&gt;Image 3&lt;/span&gt;&lt;/a&gt;
 &lt;a id="img4" href="#" title="Image 4"&gt;&lt;span&gt;Image 4&lt;/span&gt;&lt;/a&gt;
&lt;/div&gt;</pre>
<p>Nous pouvons maintenant décaler nos liens avec notre feuille de style :</p>
<p>Code CSS des élément &#8216;&lt;span&gt;&#8217; :</p>
<pre class="brush:css;first-line:22;">/** Mise en forme des libellés de liens */
#wrapper a span{
 position:absolute;
 text-align:center;
}

/** Positionnement des libellés de liens */
#img1 span{left:0;top:200px;}
#img2 span{left:128px;top:200px;} /** Décalage 'left' à la moitié du div Wrapper */
#img3 span{left:0;top:225px;}
#img4 span{left:128px;top:225px;} /** Décalage 'left' à la moitié du div Wrapper */</pre>
<p>Notre Switcher prend forme comme vous pouvez le voir en figure 3.1.2 :</p>
<div id="attachment_599" class="wp-caption alignnone" style="width: 566px"><img class="size-full wp-image-599" title="3.1.2-css-switcher-resultat-2" src="http://sldesign.openwab.com/wp-content/uploads/2010/07/3.1.2-css-switcher-resultat-2.jpg" alt="Résultat après édition CSS des libellés de liens" width="556" height="324" /><p class="wp-caption-text">Figure 3.1.2 - Résultat après édition CSS des libellés de liens</p></div>
<p>Reste la dernière étape&#8230; celle qui va déclencher l&#8217;effet de switch  au survol des liens ; pour cela, il existe une propriété CSS très pratique, la propriété &laquo;&nbsp;z-index&nbsp;&raquo;.</p>
<blockquote><p>La propriété de feuille de style css <strong>z-index</strong> permet de spécifier la  position d&#8217;empilement d&#8217;un bloc par rapport aux autres (notion de  profondeur).<br />
La propriété de feuille de style css<strong>z-index</strong> est généralement utilisée pour  la création de calques (Layer).<br />
Le bloc ayant la plus grande valeur est au dessus.</p></blockquote>
<p>Nous avons juste à appliquer cette propriété à l&#8217;attribut CSS :hover de nos liens</p>
<pre class="brush:css;first-line:34;">/** Appliquer le z-index pour l'affichage des images */
a:hover{z-index:1;}</pre>
<p>Le résultat final vous permettra de permuter vos images au survol du lien (figure 3.1.3). Vous pouvez encore améliorer la présentation si vous le souhaitez <img src='http://sldesign.openwab.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<div id="attachment_603" class="wp-caption alignnone" style="width: 503px"><img class="size-full wp-image-603" title="3.1.3-css-switcher-resultat-final" src="http://sldesign.openwab.com/wp-content/uploads/2010/07/3.1.3-css-switcher-resultat-final.jpg" alt="Résultat final" width="493" height="320" /><p class="wp-caption-text">Figure 3.1.3 - Résultat Final</p></div>
<h2>4°) Conclusion</h2>
<p>Vous venez de voir comment créer une permutation d&#8217;images en CSS. Il est vrai que JavaScript se démocratise et que de nombreuses bibliothèques permettent de mettre en place facilement ce type d&#8217;effet. Cela dit, cette méthode CSS reste légére et vous permet de voir en pratique l&#8217;utilisation de la propriété z-index.</p>
<h2>5°) Ressources</h2>
<p><a title="Zone CSS - Propriété z-index" href="http://www.zonecss.fr/style_css/feuille_css_z_index.html" target="_blank">Propriété z-index sur zone CSS</a></p>
<p>Ressource du tutoriel (Images + fichiers HTML et CSS) &#8211; <a title="Archive .zip - Ressources tutoriel" href="http://sldesign.openwab.com/wp-content/uploads/2010/07/css-images-switcher.zip">css-images-switcher.zip</a></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://sldesign.openwab.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://sldesign.openwab.com/2010/07/16/speedtuts-css-image-switcher/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Les bonnes pratiques du WEB</title>
		<link>http://sldesign.openwab.com/2010/06/24/les-bonnes-pratiques-du-web/</link>
		<comments>http://sldesign.openwab.com/2010/06/24/les-bonnes-pratiques-du-web/#comments</comments>
		<pubDate>Thu, 24 Jun 2010 05:54:06 +0000</pubDate>
		<dc:creator>Steve Leherpeux</dc:creator>
				<category><![CDATA[HTML / CSS]]></category>
		<category><![CDATA[Tutoriels]]></category>
		<category><![CDATA[Bonnes pratiques]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://sldesign.openwab.com/?p=171</guid>
		<description><![CDATA[Je vous propose à travers cet article de mettre en avant les bonnes pratiques du WEB et plus particulièrement lors de la rédaction de notre code HTML. Que vous soyez débutant ou non, il est important de respecter de normes de développement, ceci ne rendra votre travail que plus facile &#8211; Relecture du Code, modification, [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fsldesign.openwab.com%2F2010%2F06%2F24%2Fles-bonnes-pratiques-du-web%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fsldesign.openwab.com%2F2010%2F06%2F24%2Fles-bonnes-pratiques-du-web%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><img class="alignleft size-full wp-image-161" style="margin: 5px;" title="Splash Screen - HTML5" src="http://sldesign.openwab.com/wp-content/uploads/2010/04/splash.jpg" alt="" width="159" height="201" />Je vous propose à travers cet article de mettre en avant les bonnes pratiques du WEB et plus particulièrement lors de la rédaction de notre code HTML. Que vous soyez débutant ou non, il est important de respecter de normes de développement, ceci ne rendra votre travail que plus facile &#8211; Relecture du Code, modification, passassions de projets, etc.</p>
<p><span id="more-171"></span></p>
<hr class="clear_all" />
<h3>1°) Fermez vos balises</h3>
<p>La fermeture des balises est une chose essentielle ! Même si vos balises ne l&#8217;imposent pas, faites le !</p>
<p><strong>Pas bon</strong></p>
<pre class="brush:html">&lt;li&gt;Element 1
&lt;li&gt;Element 2
&lt;li&gt;Element 3</pre>
<p><strong>Bon</strong></p>
<pre class="brush:html">&lt;ul&gt;
 &lt;li&gt;Element 1&lt;/li&gt;
 &lt;li&gt;Element 2&lt;/li&gt;
 &lt;li&gt;Element 3&lt;/li&gt;
&lt;/ul&gt;</pre>
<p>La fermeture des balises est essentielle, ceci vous évitera des problèmes de validation.</p>
<h3>2°) Choisir et renseigner le DOCTYPE</h3>
<blockquote><p>La <strong>Document Type  Definition</strong> (DTD), ou <strong>Définition de Type de Document</strong>,  est un document permettant de décrire un modèle de document SGML ou XML. Le  modèle est décrit comme une grammaire de classe de documents :  <em>grammaire</em> parce qu&#8217;il décrit la position des termes les uns par  rapport aux autres, <em>classe</em> parce qu&#8217;il forme une généralisation  d&#8217;un domaine particulier, et <em>document</em> parce que on peut former  avec un texte complet.</p>
<p>Source Wikipedia.</p></blockquote>
<p>Pour faire court, si votre DOCTYPE n&#8217;est pas correctement renseigné, voir, pas renseigné du tout, il en résultera des problèmes de lecture de vos pages WEB ; On peut cité entre autre des mauvaises interprétations CSS qui on pour effet l&#8217;effet inverse de ce que vous attendez&#8230;</p>
<p>La  plupart d&#8217;entre nous vont choisir entre quatre différents doctypes lors de  la création de nouveaux sites Web.</p>
<ol>
<li><strong>&lt;!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN”  “http://www.w3.org/TR/html4/strict.dtd”&gt;</strong></li>
<li><strong>&lt;!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01  Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”&gt;</strong></li>
<li><strong>&lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0  Transitional//EN”  “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”&gt;</strong></li>
<li><strong>&lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN”  “http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”&gt;</strong></li>
</ol>
<p>Reste à savoir quel DOCTYPE utiliser&#8230; beaucoup de développeurs vous dirons qu&#8217;il faut utiliser un DOCTYPE XHTML 1.0 Strict mais ceci n&#8217;est pas sans poser de problèmes ; en effet, tous les navigateurs ne réagissent pas encore de la même façon et comme nous créons des IHM (Interfaces Utilisateur), nous devons avant tout penser à l&#8217;utilisateur&#8230;</p>
<p>L&#8217;utilisation d&#8217;un DOCTYPE 4.01 Strict peut s&#8217;avérer la bonne solution de transition. A vous de faire vos test et de vous forger votre propre opinion en fonction de ce que vous attendez. Je vous renvoi vers le site du W3C et celui de &laquo;&nbsp;POMPAGE.NET&nbsp;&raquo; afin que vous puissiez étudier par vous même la situation :</p>
<p><a title="Le DOCTYPE qu'il vous faut" href="http://www.pompage.net/pompe/doctype/">http://www.pompage.net/pompe/doctype/</a></p>
<p><a title="Liste et définition des DOCTYPE" href="http://www.w3.org/QA/2002/04/valid-dtd-list.html">http://www.w3.org/QA/2002/04/valid-dtd-list.html</a></p>
<h3>3°) Pas de CSS dans vos balises WEB</h3>
<p>Ceci peut être tentant d&#8217;ajouter dans vos balises des informations de style :</p>
<pre class="brush:html">&lt;p style="color: blue; font-size: 1em;"&gt;&lt;strong style="color: red;"&gt;Information
importante : &lt;/strong&gt;Il est important de ne pas intégrer des
informations de style dans vos balise !&lt;/p&gt;</pre>
<p>Voici quelques raisons du pourquoi&#8230;</p>
<p>Ne jamais penser au style dans un premier temps, pensez structure.</p>
<p>Pensez aux futures modifications ; ne serait il pas plus aiser de regrouper toutes vos informations de styles dans un même document ?</p>
<p>Mieux vaut référencer vos balises à l&#8217;aide d&#8217;une feuille de style :</p>
<p>Code document HTML</p>
<pre class="brush:css">&lt;p&gt;&lt;strong&gt;Information
importante : &lt;/strong&gt;Il est important de ne pas intégrer des
informations de style dans vos balise !&lt;/p&gt;</pre>
<p>Code document CSS</p>
<pre class="brush:css">p.blue{
 color:blue;
}
p.medium{
 font-size:1em;
}
.red{
 color:red;
}</pre>
<h3>4°) Placez toutes les feuilles de styles dans le header de votre index</h3>
<p>Techniquement,  vous pouvez placer les feuilles de style où vous voulez. Toutefois, la spécification HTML recommande  qu&#8217;ils soient placés dans la balise HEAD du document. Le  principal avantage est que vos pages se chargent plus rapidement et sont stockées en mémoire.</p>
<pre class="brush:html">&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /&gt;
&lt;title&gt;slDesign - Bonnes pratiques HTML&lt;/title&gt;
&lt;link href="design/style.css" rel="stylesheet" type="text/css" /&gt;
&lt;link href="js/themes/base/jquery.ui.all.css" rel="stylesheet"
 type="text/css" /&gt;
&lt;/head&gt;</pre>
<h3>5°) Insérez vos fichiers javascript en bas</h3>
<p>JavaScript est un langage interprété par votre navigateur et non pas côté serveur. Afin d&#8217;être sur et certain que vos fonctions JavaScript soient interprétées, il faut s&#8217;assurer avant tout que l&#8217;ensemble du document soit chargé. Ceci peut paraitre basique, mais vos pages sont lues de bas en haut par votre navigateur et si votre navigateur inspecte une fonction JavaScript qui port sur un élément non encore chargé, cette dernière ne pourra s&#8217;exécuter.</p>
<p>Il existe avec jQuery la fonction &laquo;&nbsp;$(document).ready(funcion(){})&nbsp;&raquo; qui s&#8217;assure que la page soit totalement chargé avant l&#8217;exécution de toute autre fonction. Mais si vous ne travaillez pas avec jQuery et que vous avez développé vous même des foncions JavaScript, il est préférable de les lancer en bas de votre document HTML.</p>
<h3>6°) Ne pas utiliser JavaScript en ligne</h3>
<p>Il y a quelques années de cela, la pratique voulait que l&#8217;on insère directement le code JavaScript dans les balises HTML ; Les événement &laquo;&nbsp;onClick&nbsp;&raquo; était suivi de toutes les actions&#8230;</p>
<p>Vous ne  devez jamais faire cela. Au lieu de cela, le transfert de ce code à un fichier externe JS et  l&#8217;utilisation &laquo;&nbsp;addEventListener / attachEvent&nbsp;&raquo; à &laquo;&nbsp;écouter&nbsp;&raquo; pour votre  événement désiré. Ou, si vous utilisez un framework  comme <a href="http://translate.googleusercontent.com/translate_c?hl=fr&amp;sl=en&amp;tl=fr&amp;u=http://www.jquery.com/&amp;rurl=translate.google.fr&amp;usg=ALkJrhi47YgdEuK8hTYkON2CMssxz1EfMQ">jQuery</a> , il suffit d&#8217;utiliser le «clic» méthode.</p>
<pre class="brush:javascript">// Exemple avec jQuery
$(document).ready(function() {
 $("a").click(function() {
  //Ma fonction
 });
});</pre>
<h3>7°) Valider votre code</h3>
<p>Cette étape est très importante. Je vous conseille de la réaliser tout au long de l&#8217;avancement de vos projets et non pas une fois que tout est terminé&#8230;</p>
<p>Des outils présents dans les navigateurs vous permettent de réaliser ce type d&#8217;opération, pour ne citer que l&#8217;add-on de mozilla, il y a la barre d&#8217;outil du développeur qui intègre un module de validation HTML et CSS</p>
<div id="attachment_202" class="wp-caption alignnone" style="width: 966px"><a href="http://sldesign.openwab.com/wp-content/uploads/2010/04/barre-outi-dev.jpg"><img class="size-full wp-image-202" title="barre-outi-dev" src="http://sldesign.openwab.com/wp-content/uploads/2010/04/barre-outi-dev.jpg" alt="Barre d'outils développeur Mozilla" width="956" height="26" /></a><p class="wp-caption-text">Barre d&#39;outils développeur Mozilla</p></div>
<div id="attachment_203" class="wp-caption alignnone" style="width: 310px"><a href="http://sldesign.openwab.com/wp-content/uploads/2010/04/barre-outil-validation.jpg"><img class="size-full wp-image-203" title="barre-outil-validation" src="http://sldesign.openwab.com/wp-content/uploads/2010/04/barre-outil-validation.jpg" alt="Menu de validation de la barre d'outils développeurs" width="300" height="300" /></a><p class="wp-caption-text">Menu de validation de la barre d&#39;outils développeurs</p></div>
<h3>8°) Téléchargez et installer Firebug</h3>
<p>Ce module complémentaire vous permettra de débugger en temps réel vos applications WEB. Cet outil est indispensable, notamment par le fait qu&#8217;il interprète et lit le code généré par JavaScript et Ajax.</p>
<p>Vous trouverez ce module à l&#8217;adresse suivante : <a title="Lien page de éléchargement Firebug" href="https://addons.mozilla.org/fr/firefox/addon/1843">https://addons.mozilla.org/fr/firefox/addon/1843</a></p>
<p><span style="text-decoration: underline;"><strong>Firebug vous permettra entre autre : </strong></span></p>
<ul>
<li>Inspectez HTML et modifier le style et la présentation en  temps réel</li>
<li>Utiliser le débogueur JavaScript le plus avancé  disponible pour n&#8217;importe quel navigateur</li>
<li>Analyser avec précision  l&#8217;utilisation du réseau et la performance</li>
<li>Explorer le DOM</li>
<li>Exécuter JavaScript à la volée</li>
</ul>
<div id="attachment_205" class="wp-caption alignnone" style="width: 763px"><a href="http://sldesign.openwab.com/wp-content/uploads/2010/04/screen-firebug.gif"><img class="size-full wp-image-205" title="screen-firebug" src="http://sldesign.openwab.com/wp-content/uploads/2010/04/screen-firebug.gif" alt="Copie d'écran Firebug" width="753" height="342" /></a><p class="wp-caption-text">Copie d&#39;écran Firebug</p></div>
<p>Ce n&#8217;est pas le tout de l&#8217;installer, encore faudra t-il l&#8217;utiliser&#8230;</p>
<p>Voici une liste de tutoriels portant sur cet outil :</p>
<p><a title="Tutoriel Firebug Site du Zero" href="http://www.siteduzero.com/tutoriel-3-31228-firebug-une-merveille-de-plus-pour-firefox.html">http://www.siteduzero.com/tutoriel-3-31228-firebug-une-merveille-de-plus-pour-firefox.html</a></p>
<p><a title="Tutoriel Firebug Club des décideurs informatique" href="http://eric-pommereau.developpez.com/tutoriels/outil-web/firebug/">http://eric-pommereau.developpez.com/tutoriels/outil-web/firebug/</a></p>
<h3>9°) Editez vos balises HTML en minuscule</h3>
<p>Il n&#8217;y a aucun intérêt à capitaliser vos balises HTML. Dans un souci de relecture veillez à utiliser des minuscules pour vos balises. De même, il n&#8217;est pas interdit d&#8217;utiliser des majuscules dans vos attributs mais pensez avant tout à respecter une logique</p>
<p>Mauvaise pratique</p>
<pre class="brush:html">&lt;DIV id="BLOCDROIT"&gt;
 &lt;!-- Contenu --&gt;
&lt;/DIV&gt;</pre>
<p>Bonne pratique</p>
<pre class="brush:html">&lt;div id="blocDroit"&gt;
 &lt;!-- Contenu --&gt;
&lt;/div&gt;</pre>
<h3>10°) Utilisez les balises &#8216;H&#8217;</h3>
<p>Il existe 6 types de &#8216;Headers&#8217; HTML et il est important de tous les utiliser&#8230; je l&#8217;avoue, j&#8217;utilise essentiellement le 4 premiers <img src='http://sldesign.openwab.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Cela dit, pour  des raisons sémantiques et SEO, forcez vous à utiliser ces balises ; chacune d&#8217;entre elle sera interprétée selon leur importance.</p>
<div id="attachment_206" class="wp-caption alignnone" style="width: 141px"><a href="http://sldesign.openwab.com/wp-content/uploads/2010/04/balises_h.jpg"><img class="size-full wp-image-206" title="Les balises H" src="http://sldesign.openwab.com/wp-content/uploads/2010/04/balises_h.jpg" alt="Liste des balises de header" width="131" height="261" /></a><p class="wp-caption-text">Balises de titres</p></div>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://sldesign.openwab.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://sldesign.openwab.com/2010/06/24/les-bonnes-pratiques-du-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS3 : Dégradés natifs</title>
		<link>http://sldesign.openwab.com/2010/04/16/css3-degrades-natifs/</link>
		<comments>http://sldesign.openwab.com/2010/04/16/css3-degrades-natifs/#comments</comments>
		<pubDate>Fri, 16 Apr 2010 06:54:26 +0000</pubDate>
		<dc:creator>Steve Leherpeux</dc:creator>
				<category><![CDATA[HTML / CSS]]></category>
		<category><![CDATA[Tutoriels]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Dégradé]]></category>
		<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://sldesign.openwab.com/?p=144</guid>
		<description><![CDATA[La création d&#8217;une image uniquement dans le but d&#8217;afficher un gradient est inflexible, et devient rapidement une mauvaise pratique. Malheureusement, au moment d&#8217;écrire ces lignes, ils pourraient très bien être encore nécessaires, mais j&#8217;espère pas pour longtemps. Merci à Firefox et Safari / Chrome, nous pouvons maintenant créer des gradients puissants avec un effort minimal. [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fsldesign.openwab.com%2F2010%2F04%2F16%2Fcss3-degrades-natifs%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fsldesign.openwab.com%2F2010%2F04%2F16%2Fcss3-degrades-natifs%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><img class="alignleft size-full wp-image-146" title="Icone Article CSS3 Gradient" src="http://sldesign.openwab.com/wp-content/uploads/2010/04/css3-article.jpg" alt="Icone de l'article sur CSS 3 et la gestion de dégradés" width="230" height="248" />La création d&#8217;une  image uniquement dans le but d&#8217;afficher un gradient est inflexible, et  devient rapidement une mauvaise pratique. Malheureusement, au moment  d&#8217;écrire ces lignes, ils pourraient très bien être encore nécessaires,  mais j&#8217;espère pas pour longtemps. Merci à Firefox et Safari / Chrome, nous pouvons  maintenant créer des gradients puissants avec un effort minimal. Dans  cet article, nous allons examiner les différentes façon d&#8217;implémenter des dégradés à l&#8217;aide de CSS 3.</p>
<p><span id="more-144"></span></p>
<hr class="clearAll" />
<h2>Introduction :</h2>
<p>Dans cet article, nous allons voir comment implémenter des dégradés en CSS 3 à travers des exemples concret. Les techniques pour réaliser ces opérations ne sont pas les mêmes qu&#8217;il s&#8217;agisse de navigateurs Safari &#8211; Chrome / Firefox. Pour réaliser ces dégradés, j&#8217;ai simplement créé un bloc &#8216;DIV&#8217; avec un id &#8216;gradient&#8217;.</p>
<p>Ce que vous devez savoir : Connaitre les bases du HTML et du CSS</p>
<p>Ce que vous devez avoir : Un éditeur HTML</p>
<h2>Les dégradés CSS sous Mozilla :</h2>
<p>Vous trouverez ci dessous le code qui permet de réaliser un beau dégradé en CSS 3 !</p>
<pre class="brush:css">#gradient{
 border:1px solid #000;
 height:400px;
 width:600px;
 background:#e3e3e3;
 background: -moz-linear-gradient(top, red, green);
}</pre>
<div id="attachment_145" class="wp-caption alignnone" style="width: 644px"><a href="http://sldesign.openwab.com/wp-content/uploads/2010/04/02-css3-gradient.jpg"><img class="size-full wp-image-145" title="Gradient Mozilla" src="http://sldesign.openwab.com/wp-content/uploads/2010/04/02-css3-gradient.jpg" alt="Figure 2 - Gradient CSS sous Mozilla" width="634" height="473" /></a><p class="wp-caption-text">Figure 2 - Gradient CSS sous Mozilla</p></div>
<h2>Les dégradés CSS sous WEBKIT :</h2>
<p>En ce qui concerne l&#8217;implémentation des navigateurs développés sous WEBKIT, la technique est un peu différente. Voici le code :</p>
<pre class="brush:css">#gradient{
 border:1px solid #000;
 height:400px;
 width:600px;
 background:#e3e3e3;
 background: -webkit-gradient(linear, 0 0, 0 100%, from(red), to(blue));
}</pre>
<p>Ne vous inquiétez pas si vous avez un peu plus mal au crane en lisant cette syntaxe (moi aussi&#8230;) mais rien de bien compliqué :</p>
<ul>
<li>Quel  type de gradient? (Linéaire)</li>
<li> Axes X et Y les coordonnées  de l&#8217;endroit où commencer. (0 0 &#8211; ou un  coin en haut à gauche)</li>
<li>Axes X et Y les coordonnées de l&#8217;endroit où la conclusion (0 à 100% &#8211;  ou le coin en bas à gauche)</li>
<li> Quelle couleur pour commencer? (À partir de (rouge))</li>
<li> Quelle est  la couleur de conclure ? (À (bleu))</li>
</ul>
<h2>Les dégradés Partiels :</h2>
<p>Il est possible de mettre en place un dégradé partiel ; je vous livre le code qui vous permettra de réaliser cet effet :</p>
<pre class="brush:css">#gradient{
 border:1px solid #000;
 height:400px;
 width:600px;
 background :#9e7e48;
 /* Navigateurs Safari */
 background: -webkit-gradient(linear, 0 0, 0 10%, from(#672907), to(#9e7e48));
 /* Navigateurs Mozillas */
 background : -moz-linear-gradient(top, #672907, #9e7e48 20%);
}</pre>
<p>Comme vous pouvez le constater, il devient très simple de mettre en place des dégradés dans vos sites WEB !</p>
<div id="attachment_155" class="wp-caption alignnone" style="width: 636px"><a href="http://sldesign.openwab.com/wp-content/uploads/2010/04/03-css3-gradient-partiel.jpg"><img class="size-full wp-image-155" title="CSS3 Dégradé partiel" src="http://sldesign.openwab.com/wp-content/uploads/2010/04/03-css3-gradient-partiel.jpg" alt="" width="626" height="471" /></a><p class="wp-caption-text">Figure 2 - Résultat d&#39;un dégradé partiel</p></div>
<p>Dégradés multiples :</p>
<p>Il es également possible de créer des dégradés à n* couleurs ; Voici comment :</p>
<pre class="brush:css">#gradient{
 border:1px solid #000;
 height:400px;
 width:600px;
 background :#9e7e48;
 /* Navigateurs Safari */
 background: -webkit-gradient(linear, 0 0, 0 100%, from(#672907), color-stop(10%, #5f0000), color-stop(20%, #9e7e48), color-stop(30%, #672907);
 /* Navigateurs Mozillas */
 background: -moz-linear-gradient(top, #672907, #5f0000 10%, #9e7e48 20%, #672907 30%);
}</pre>
<div id="attachment_156" class="wp-caption alignnone" style="width: 634px"><a href="http://sldesign.openwab.com/wp-content/uploads/2010/04/04-css3-gradient-multiples.jpg"><img class="size-full wp-image-156" title="CSS3 Dégradés multiples" src="http://sldesign.openwab.com/wp-content/uploads/2010/04/04-css3-gradient-multiples.jpg" alt="" width="624" height="473" /></a><p class="wp-caption-text">Figure 3 - Dégradé multiple</p></div>
<h2>Informations importantes</h2>
<ul>
<li>Utilisez-les  autant que vous le pouvez.  Même si les utilisateurs de IE auront une couleur unie, je vous encourage à utiliser cette méthode.</li>
<li> IE6/7/8, Opera, Safari 3 et Firefox 3 ne peut pas rendre gradients CSS3.  Firefox et les utilisateurs de Safari sont généralement mis à jour régulièrement, ce qui ne devrait pas poser de problème.</li>
<li> Appliquez toujours une couleur par défaut, la  couleur solide en arrière-plan pour les navigateurs qui ne comprennent pas  les différents préfixes de dégradés.</li>
<li> Ne jamais utiliser un rouge à dégradé bleu, comme  je l&#8217;ai fait pour les exemples (C&#8217;est moche <img src='http://sldesign.openwab.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ).</li>
</ul>
<h2>Ressources :</h2>
<p>Article sur les dégradés sous Mozilla très complet : <a title="Article sur les dégradés Mozilla" href="http://hacks.mozilla.org/2009/11/css-gradients-firefox-36/">http://hacks.mozilla.org/2009/11/css-gradients-firefox-36/</a></p>
<p>CSS références pour Mozilla (en anglais) : <a title="Références CSS Mozilla" href="https://developer.mozilla.org/en/CSS_Reference">https://developer.mozilla.org/en/CSS_Reference</a></p>
<p>CSS références pour WEBKIT (en anglais) : <a title="références css WEBKIT" href="http://webkit.org/projects/css/index.html">http://webkit.org/projects/css/index.html</a></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://sldesign.openwab.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://sldesign.openwab.com/2010/04/16/css3-degrades-natifs/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

