Lors de la conception d'une page Web, où dois-je placer le code suivant?
<link rel=stylesheet type="text/css" href="css/layout.css">
Devrais-je le mettre dans le <head>
ou devrais-je le mettre dans le <body>
? Veuillez clarifier les questions suivantes:
<head>
ou ailleurs autour du code HTML?À mon avis, la meilleure pratique consiste à placer le fichier CSS dans l'en-tête.
<head>
<link rel="stylesheet" href="css/layout.css" type="text/css">
</head>
et le fichier Javascript avant la balise </body>
de fermeture
<script type="text/javascript" src="script.js"></script>
</body>
Aussi, si vous avez, comme vous l'avez dit deux fichiers CSS. Le navigateur utiliserait les deux. S'il y avait des sélecteurs, c'est à dire. .content {}
étant identiques dans les deux fichiers CSS, le navigateur écraserait les propriétés similaires du premier avec les propriétés du second. Si ça a du sens.
Placer les feuilles de style en hautLiens vers les discussions
En recherchant les performances chez Yahoo !, nous avons découvert que le déplacement des feuilles de style dans le document HEAD accélère le chargement des pages. En effet, le fait de placer des feuilles de style dans le HEAD permet à la page d’être affichée progressivement.
Les ingénieurs qui s’intéressent aux performances veulent une page à charger progressivement. En d'autres termes, nous voulons que le navigateur affiche le contenu le plus rapidement possible. Ceci est particulièrement important pour les pages contenant beaucoup de contenu et pour les utilisateurs disposant de connexions Internet plus lentes. L'importance de donner aux utilisateurs un retour visuel, tel que des indicateurs de progrès, a été bien documentée et documentée. Dans notre cas, la page HTML est l'indicateur de progression! Lorsque le navigateur charge progressivement la page, l'en-tête, la barre de navigation, le logo en haut, etc. servent tous de retour visuel à l'utilisateur qui attend la page. Cela améliore l'expérience globale de l'utilisateur.
Le problème posé par la présence de feuilles de style au bas du document est qu’il interdit le rendu progressif dans de nombreux navigateurs, y compris Internet Explorer. Ces navigateurs bloquent le rendu pour éviter de devoir redessiner des éléments de la page si leurs styles changent. L'utilisateur est bloqué en train de visualiser une page blanche vierge.
La spécification HTML indique clairement que les feuilles de style doivent être incluses dans le HEAD de la page: "Contrairement à A, [LINK] peut uniquement apparaître dans la section HEAD d'un document, même s'il peut apparaître un nombre quelconque. de fois. " Aucune des solutions de rechange, l’écran blanc ou le contenu non stylé, ne vaut le risque. La solution optimale consiste à suivre les spécifications HTML et à charger vos feuilles de style dans le document HEAD.
Mettre les scripts en bas
Le problème posé par les scripts est qu'ils bloquent les téléchargements parallèles. La spécification HTTP/1.1 suggère que les navigateurs ne téléchargent pas plus de deux composants en parallèle par nom d'hôte. Si vous diffusez vos images à partir de plusieurs noms d'hôte, vous pouvez effectuer plus de deux téléchargements en parallèle. Cependant, pendant le téléchargement d'un script, le navigateur ne lance aucun autre téléchargement, même avec des noms d'hôte différents.
Dans certaines situations, il n'est pas facile de déplacer les scripts vers le bas. Si, par exemple, le script utilise document.write pour insérer une partie du contenu de la page, il ne peut pas être déplacé plus bas dans la page. Il pourrait également y avoir des problèmes de portée. Dans de nombreux cas, il existe des moyens de contourner ces situations.
Une suggestion alternative souvent proposée consiste à utiliser des scripts différés. L'attribut DEFER indique que le script ne contient pas document.write et constitue un indice pour les navigateurs qu'ils peuvent continuer le rendu. Malheureusement, Firefox ne supporte pas l'attribut DEFER. Dans Internet Explorer, le script peut être différé, mais pas autant que souhaité. Si un script peut être différé, il peut également être déplacé au bas de la page. Cela accélérera le chargement de vos pages Web.
<script>
dans le <head>
, comme le dictent les formats. Cependant, certains placent javascript <script>
s au bas du corps, de sorte que le contenu de la page se charge sans attendre le <script>
, mais il s’agit d’un compromis, car l’exécution du script sera retardée jusqu’au chargement des autres ressources.Vous devriez mettre CSS dans le <head>
car c'est ce que la spécification dit de faire.
Si vous avez plusieurs fichiers CSS, ils seront chargés dans l'ordre dans lequel vous les avez placés dans le code. S'il y a du style dans le deuxième fichier CSS, le style est écrasé dans le premier. Cela se produira par conception. Ainsi, Cascading Style Sheets.
La plupart des navigateurs rendent toujours efficacement les fichiers CSS, mais votre code n'est pas sémantiquement correct.
Vous pouvez utiliser des liens de fichier JavaScript n'importe où sur le document. Il y a différentes raisons pour en utiliser certaines dans le <head>
et d'autres ailleurs sur la page. (Par exemple, le code analytique de Google doit être placé en bas.)
À mon avis, le meilleur moyen est 1) placez le fichier CSS dans la partie en-tête entre les balises head La raison en est que la première page montre la vue pour ce css require 2) et que tous les fichiers js doivent être placés avant la balise de fermeture du corps . la raison est après tout affichage de composant js peut s'appliquer
Vous devriez le mettre dans la <tête>. Je place généralement les références de style au-dessus de JS et je commande mon JS de haut en bas si certaines dépendent d'autres, mais je pense que toutes les références sont chargées avant le rendu de la page.
Les inclus CSS doivent aller dans la variable head
avant que tout script js
inclut . Javascript peut aller n'importe où, mais la fonction du fichier pourrait en réalité déterminer l'emplacement. Si cela crée un contenu de page, mettez-le en tête. S'il est utilisé pour des événements ou un suivi, vous pouvez le mettre avant le </body>
En ce qui concerne <link />
et <style />
, vous n’avez pas le choix, ils doivent figurer dans la section <head />
(voir un et deux ).
En ce qui concerne <script />
il peut apparaître à la fois dans <head />
et <body />
(voir trois ), il est généralement préférable de les mettre dans le <head />
car ils ne sont pas vraiment "contenu" (où "contenu" est ce que le l’utilisateur voit à l’écran), c’est plutôt quelque chose qui "fonctionne" sur le "contenu".
Spécification W3C HTML4 FTW!
AS par mon étude dans la place de CSS toujours à l'intérieur. Like: -
<head>
<link href="css/grid.css" rel="stylesheet" />
</head>
et pour script sa depen: -
Et si vous avez plusieurs fichiers .css ou .js à appeler, incluez-les simplement l'un après l'autre, ou:
<head>
<link href="css/grid.css" rel="stylesheet" />
<link href="css/style.css" rel="stylesheet" />
<script src="js/jquery-1.4.4.min.js"></script>
<script src="js/jquery.animate-colors-min.js"></script>
</head>