<?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>Agence web Fbtech &#187; w3c</title>
	<atom:link href="http://www.fbtech.fr/tag/w3c/feed" rel="self" type="application/rss+xml" />
	<link>http://www.fbtech.fr</link>
	<description>Agence web : création de site internet &#38; référencement</description>
	<lastBuildDate>Tue, 11 Oct 2011 20:16:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>CSS : La Règle @import, une bonne pratique</title>
		<link>http://www.fbtech.fr/css-la-regle-import-une-bonne-pratique.html</link>
		<comments>http://www.fbtech.fr/css-la-regle-import-une-bonne-pratique.html#comments</comments>
		<pubDate>Thu, 27 Aug 2009 21:09:18 +0000</pubDate>
		<dc:creator>Alexandre</dc:creator>
				<category><![CDATA[Design & Technologies]]></category>
		<category><![CDATA[@import]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[feuille de styles]]></category>
		<category><![CDATA[règle d'import css]]></category>
		<category><![CDATA[w3c]]></category>

		<guid isPermaLink="false">http://www.fbtech.fr/?p=214</guid>
		<description><![CDATA[L&#8217;article a pour but principal de présenter la règle CSS @import et d&#8217;en montrer l&#8217;utilisation. Cette méthode vous permettra de mieux organiser l&#8217;architecture CSS d&#8217;un ou plusieurs sites. &#160; Importer une feuille de styles : la règle CSS @import à pour fonction de permettre l&#8217;importation de styles depuis d&#8217;autres feuilles de styles. La spécification du [...]]]></description>
			<content:encoded><![CDATA[<p>L&#8217;article a pour but principal de présenter la règle CSS <code>@import</code> et d&#8217;en montrer l&#8217;utilisation. Cette méthode vous permettra de mieux organiser l&#8217;architecture CSS d&#8217;un ou plusieurs sites.</p>
<p>&nbsp;</p>
<p><strong>Importer une feuille de styles :</strong></p>
<p>la règle CSS <code>@import</code> à pour fonction de permettre l&#8217;importation de styles depuis d&#8217;autres feuilles de styles. La spécification du W3C  nous indique qu&#8217;il est impératif que toutes les règles <code>@import</code> soient placées avant tout autre propriétés/règles à l&#8217;exception du <code>@charset</code> si cette balise est présente.</p>
<p>La règle import doit avoir comme valeur une URL, relative ou absolue, spécifiée par la syntaxe <code>url(" ")</code></p>
<p>De ce fait, pour procéder à l&#8217;importation d&#8217;une feuille de style depuis une autre, vous devez écrire dans votre css :</p>
<p><code>@import "styles.css";</code></p>
<p>ou</p>
<p><code>@import url("styles.css");</code></p>
<p><code> </code></p>
<p>&nbsp;</p>
<p><strong>Importer une feuille de styles par média</strong></p>
<p>Vous pouvez indiquer pour quel type de média vous souhaitez faire l&#8217;import d&#8217;un CSS, il vous suffit juste de le spécifier après l&#8217;URL. De plus, si vous souhaitez importer cette feuille de styles pour plusieurs médias, vous devrez juste écrire tous les médias en les séparants par une virgule comme ci-dessous :</p>
<p><code>@import url("styles.css") video;<br />
@import url("styles.css") video, tv;</code></p>
<p>Si aucun média n&#8217;est spécifié, la feuille de style sera importée pour tous les types.</p>
<p>Attention, l&#8217;importation de feuille de styles pour les médias spécifiques via une règle <code>@import</code> n&#8217;est pas réellement encore répendu sur l&#8217;ensemble des navigateurs, il est conseillé de faire des tests de compatibilité afin de détecter un éventuel problème avant la mise en ligne du site.</p>
<p>&nbsp;</p>
<p><strong>Principe d&#8217;utilisation de la règle <code>@import</code> :</strong></p>
<p>En premier lieu, vous devez séparer les feuilles de styles pour bien dissocier les différents éléments. Cette pratique permet à une personne reprennant votre CSS de pouvoir retrouver rapidement des éléments dans votre code, en effet, il n&#8217;est pas toujours simple de tomber sur un fichier CSS de 3 ou 4000 lignes pour rechercher un élément. Scroller use la souris à force&#8230;</p>
<p>Vous pourrez donc par exemple organiser vos feuilles de styles de la manière suivante : 1. design global / 2. formulaires / 3. forum &#8230; l&#8217;important est que tout soit clair pour vous.</p>
<p>Venons en maintenant à la règle <code>@import</code> qui peut se révéler très utile. Classiquement, beaucoup de personnes ont le réflexe de lier toutes les feuilles de style via la balise <code>&lt;link /&gt;</code>, ce qui schématiquement, donne ceci :</p>
<p><img class="alignnone size-full wp-image-239" title="import" src="http://www.fbtech.fr/wp-content/uploads/2009/08/import-bad.png" alt="import" width="272" height="268" /></p>
<p>Ceci ne pose pas de problèmes réels lors d&#8217;une évolution de contenu par la création de nouvelles pages HTML, car bien souvent on utilise des gabarits. Il suffit de lier à nouveau les X feuilles de styles depuis la nouvelle page HTML comme le démontre le schéma ci-dessous :</p>
<p><img class="alignnone size-full wp-image-240" title="import-bad-new-html" src="http://www.fbtech.fr/wp-content/uploads/2009/08/import-bad-new-html.png" alt="import-bad-new-html" width="375" height="275" /></p>
<p>Le problème se pose maintenant lorsque l&#8217;on souhaite rajouter une partie de CSS bien disctincte via une nouvelle feuille de style. On doit alors repasser sur toutes les pages HTML pour ajouter une balise <code>&lt;link /&gt;</code>, ce qui peut devenir rapidement un enfer si vous avez plusieurs matrices de pages. Alors, dans un souci de création de code fait rapidement, vous allez rajouter une feuille de style supplémentaire, ce qui va donner le schéma ci-dessous :</p>
<p><img class="alignnone size-full wp-image-241" title="import-bad-new-css" src="http://www.fbtech.fr/wp-content/uploads/2009/08/import-bad-new-css.png" alt="import-bad-new-css" width="375" height="275" /></p>
<p>C&#8217;est la que la règle <code>@import</code> peut nous permettre de faire du code CSS propre dans un souci d&#8217;évolutivité.</p>
<p>Grâce à cette règle, vous pouvez centraliser l&#8217;appel aux feuilles de styles dans un seul fichier CSS (Attention cependant il est recommandé de ne pas utiliser plus de 8 appels dans une feuille de styles d&#8217;imports. Les imports supplémentaires risqueraient de ne pas être lus par certains navigateurs). Faites en sorte que toutes vos pages HTML soient liées à une seule feuille de styles qui gérera seule l&#8217;appel aux autres CSS. Ainsi sans modifier vos pages HTML, vous pourrez désactiver, supprimer / modifier ou ajouter des feuilles de styles comme bon vous semble, cf. aperçu ci-dessous :</p>
<p><img class="alignnone size-full wp-image-242" title="import-good" src="http://www.fbtech.fr/wp-content/uploads/2009/08/import-good.png" alt="import-good" width="272" height="317" /></p>
<p><strong>Conclusion</strong></p>
<p>L&#8217;utilisation de la règle <code>@import</code> étant limité pour cause de compatibilités avec certains navigateurs, il est obligatoire de lier des feuilles de CSS via la balise <code>&lt;link /&gt;</code> pour chaque type de média.</p>
<p>Ceci étant, pour chaque média vous pouvez centraliser vos feuilles de styles en utilisant sans modération la règle <code>@import</code>, cf. schéma ci-dessous :</p>
<p><img class="alignnone size-full wp-image-243" title="import-system" src="http://www.fbtech.fr/wp-content/uploads/2009/08/import-system.png" alt="import-system" width="307" height="262" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.fbtech.fr/css-la-regle-import-une-bonne-pratique.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

