Est-ce une mauvaise idée de relier les fichiers CSS à l'intérieur du corps code> p>
J'ai lu que le navigateur est obligé de démarrer CSS rendant à nouveau si elle trouve un autre fichier CSS en dehors de Y a-t-il d'autres raisons? P> tête code>, juste parce qu'il peut être nécessaire d'appliquer des styles aux éléments qu'il est déjà rendu. De plus, je ne pense pas que le HTML validera correctement (j'ai besoin de confirmer cela). p>
6 Réponses :
Le standard HTML (au moins HTML 4 que j'ai regardé) Mandats que la balise Et pourquoi sur Terre voudriez-vous même cela? P> code> doit être dans le code> dans le
J'ai un sentiment que certains le chargeront et d'autres ne le feront pas
Vous faites un lien vers une feuille de style externe ou écrivez-le directement, à la fois en tête, cela ne fonctionnera pas si vous allez essayer différemment. P>
La seule raison pour laquelle j'ai vu des personnes à utiliser pour justifier cela est quand ils utilisent certains moteurs de modèles, et ils ne peuvent pas modifier arbitrairement les feuilles de style liées dans la tête lors du chargement de nouveau contenu ou une vue particulière (dans le Cas de cadres MVC).
Dans les deux sens, cela devrait être évité à tout prix car il est négligé et inapproprié. Au lieu de cela, développez toujours vos projets de manière à ce que vous puissiez obtenir une feuille de style arbitraire dans la tête à tout moment. Je fais généralement cela en cycliste à travers une matrice de la feuille de style dans la tête. De cette façon, si je dois ajouter une nouvelle feuille de style, j'ajoute simplement son chemin de chemin à la matrice à imprimer dans la tête. P>
<?php
$styles = array();
$styles[] = "css/main.css";
$styles[] = "css/text.css";
?>
<head>
<?php foreach ($styles as $style) { ?>
<link href="<?php print $style; ?>" rel="stylesheet" type="text/css" />
<?php } ?>
</head>
J'utilise JQuery Ui, mais seulement dans la zone de zone du député, où se passe beaucoup d'interactivité.
Dans mes pages statiques, aucune interface utilisateur JQuery n'est utilisée, ce lien est donc allé au corps, après PHP Inclure "Header.php"?> Code>: <link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.11.3/themes/south-street/jquery-ui.css" />
ayant un élément code> lien code> avec le type de lien code> de la feuille code> dans le corps code> est et
link code> : autorisé dans le corps / corps-ok A> li>
lien code> : autorisé dans le corps / Body-OK A > li>
ul>
lien code> li>
link code>
Mozilla's DOCS disent également qu'il est correct d'avoir des liens CSS dans le corps (voir la section Notes)
Les questions ont été répondues (c'est mauvais, pourquoi ...) mais la bonne façon de faire de la bonne manière que si vous ne pouvez pas ajouter vos liens (ou scripts) dans l'en-tête, est de les insérer dynamiquement avec JavaScript. C'est aussi une bonne idée d'améliorer la vitesse de votre code. Pour les liens, vous pouvez utiliser cette fonction:
p>
function loadCss(url) {
var link = document.createElement("link");
link.type = "text/css";
link.rel = "stylesheet";
link.href = url;
document.getElementsByTagName("head")[0].appendChild(link);
}C'est la meilleure réponse ici. Le seul, qui fournit en réalité une solution.
Y a-t-il une raison pour laquelle vous voudriez-vous i> voudriez-vous faire cela?
Qui a dit quoi que ce soit sur vouloir i> de faire cela? :) Je travaille sur un projet .NET où ils lient des feuilles de style spécifiques au sommet des contrôles utilisateur. C'est ce qui a entraîné la question. Je ne suis pas un fan de cela du tout.