Maison >interface Web >tutoriel CSS >CSS en ligne dans Jekyll
Je suis depuis longtemps fan de Jekyll. Il a des défauts et n'est pas toujours le meilleur outil pour le travail, mais il peut être un excellent outil pour certaines situations. J'ai perdu le compte du nombre de sites Web que j'ai construits avec.
Récemment, j'ai fabriqué un autre site avec Jekyll, cette fois pour un jargon JavaScript simplifié et je me suis retrouvé face à un problème pas si atypique - des styles d'inclinaison dans le
Vous avez peut-être entendu parler de CSS critique. L'idée derrière le concept est de fournir des styles critiques (ceux responsables de l'apparence des domaines de contenu supérieur et principal de la page) dès que possible au navigateur afin qu'il n'y ait pas de retard avant d'accéder au contenu.
Il existe une règle commune qui dit qu'il est bon d'envoyer ce qui est nécessaire pour rendre le haut de la page en moins de 14 Ko, car c'est à peu près combien le serveur peut gérer en une seule aller. Google PageSpeed Insights donne plus d'informations à ce sujet dans leur documentation, alors n'hésitez pas à jeter un œil si vous voulez savoir pourquoi cela fonctionne de cette façon.
dans cette mesure, si votre CSS est assez petit (comme pour SJSJ), vous pouvez tout donner dans le
Donc, mon idée était d'inclure des styles à l'intérieur d'une balise
Ensuite, j'ai réalisé que si je pouvais alimenter tous mes styles dans la tête de la page, c'était parce que je n'en avais pas autant, donc je pouvais certainement résoudre le problème dans l'autre sens.
Au lieu de déplacer mes styles à l'intérieur du dossier _includes après la construction, je pourrais les créer directement à l'intérieur de ce dossier. Je pourrais alors faire importer un fichier CSS dans la tête du document à partir de là.
<span>/* _includes/styles.css */ </span> <span><span>.foo-bar</span> { </span> <span>color: pink; </span><span>} </span>
puis:
<span><!-- _includes/head.html --> </span> <span><span><span><style</span>></span><span> </span></span><span><span><span>{% include styles.css %} </span></span></span><span><span></span><span><span></style</span>></span> </span>
tada! Cela nous donne exactement ce que nous voulons:
<span><!-- … --> </span><span><span><span><style</span>></span><span> </span></span><span><span><span><span>.foo-bar</span> { </span></span></span><span><span> <span>color: pink; </span></span></span><span><span><span>} </span></span></span><span><span></span><span><span></style</span>></span> </span><span><!-- … --> </span>
D'accord, vous pensez peut-être "oui, mais cela signifie que nous ne pouvons plus utiliser Sass." Oui et non. Fondamentalement, nous avons complètement retiré tout le pipeline Sass de Jekyll, mais il y a toujours un moyen.
Si vous lisez la documentation de Jekyll, vous avez peut-être remarqué qu'il y a un filtre SCSSIFY et SASSIFY. La documentation indique que cela nous permet de:
Convertir une chaîne format Sass ou SCSS en CSS.
sympa. Cela signifie que nous pouvons toujours utiliser SASS en tuant notre fichier entier dans cette chose. Le seul problème est que nous ne pouvons pas appliquer des filtres sur un bloc, comme {% inclue%}. L'astuce consiste à capturer le contenu du fichier dans une variable (grâce à {% capture%}), puis à appliquer notre filtre à cette variable lors de la sortie.
<span><!-- _includes/head.html --> </span>{% capture styles %} {% include styles.css %} {% endcapture %} <span><span><span><style</span>></span><span> </span></span><span><span><span>{{ styles | scssify }} </span></span></span><span><span></span><span><span></style</span>></span> </span>
tada (encore)!
La bonne chose avec ce filtre SCSSIFY est qu'il respecte votre configuration SASS à partir de _config.yml. Donc, si vous définissez le style de sortie sur compressé dans votre fichier de configuration, le filtre compilera SASS en CSS compressé
<span># _config.yml </span> <span>sass: </span> <span>style: compressed </span>
tada (une fois de plus)!
<span><!-- … --> </span><span><span><span><style</span>></span><span> </span></span><span><span><span><span>.foo-bar</span>{color:pink} </span></span></span><span><span></span><span><span></style</span>></span> </span><span><!-- … --> </span>
Comme vous pouvez le voir, il n'y avait rien de révolutionnaire dans cet article. Cependant, je dois dire qu'il ne m'est jamais vraiment venu à l'esprit que je pouvais simplement écrire mes styles dans le dossier _includes directement avant d'avoir passé du temps à réfléchir à cette question l'autre jour.
Bien sûr, toute cette idée ne serait pas en deçà de la gestion d'une feuille de style qui est bien plus grande que 14 Ko, où vous auriez besoin d'extraire le CSS critique avec un outil. Mais pour les petites pages et les sites - il est très pratique!
Si vous voulez voir comment cela fonctionne sur un vrai projet, vous pouvez vérifier les fichiers du référentiel SJSJ:
J'espère que ça aide, et un codage heureux!
CSS en ligne est une méthode où CSS est appliqué directement dans vos balises HTML à l'aide de l'attribut "Style". Cette méthode est utile pour appliquer des styles uniques à des éléments spécifiques sur une page. D'un autre côté, le CSS externe implique un lien vers un fichier .css externe à partir de votre document HTML. Cette méthode est bénéfique lorsque vous souhaitez appliquer les mêmes styles sur plusieurs pages, car il favorise la réutilisabilité et réduit la redondance.
Pour utiliser CSS en ligne dans Jekyll, vous devez appliquer le CSS directement dans vos balises HTML à l'aide de l'attribut "Style". Par exemple, si vous souhaitez modifier la couleur d'un paragraphe en rouge, vous écririez:
Il s'agit d'un paragraphe rouge.
. N'oubliez pas que les propriétés CSS doivent être écrites dans CamelCase lors de l'utilisation de CSS en ligne dans Jekyll.en ligne CSS dans Jekyll est bénéfique lorsque vous souhaitez appliquer unique Styles à des éléments spécifiques sur une seule page. Il remplace tous les styles conflictuels dans des CSS externes ou internes, vous donnant plus de contrôle sur l'apparence de votre page Web. Cependant, il est préférable d'utiliser le CSS en ligne avec parcimonie, car cela peut rendre votre document HTML désordonné et difficile à maintenir s'il est surutilisé.
Oui , vous pouvez utiliser à la fois CSS en ligne et CSS externe dans Jekyll. Cependant, gardez à l'esprit que le CSS en ligne a une spécificité plus élevée que le CSS externe. Cela signifie que s'il existe des styles contradictoires, le CSS en ligne remplacera le CSS externe
La suppression de CSS en ligne dans Jekyll peut être délicate à cause de son Spécificité élevée. Cependant, vous pouvez utiliser la règle «! Par exemple, si vous avez un style en ligne qui définit la couleur d'un paragraphe en rouge, vous pouvez le remplacer dans votre CSS externe comme ceci: P {Color: Blue! CSS en ligne dans Jekyll?
Comment les CS en ligne affectent-ils la vitesse de chargement de mon site de jekyll?
Puis-je utiliser des cours et des identifiants CSS avec CSS en ligne dans Jekyll?
Comment puis-je utiliser des requêtes multimédias avec CSS en ligne dans Jekyll?
Non, vous ne pouvez pas utiliser des pseudo-classes et des pseudo-éléments avec CSS en ligne dans Jekyll. Des pseudo-classes et des pseudo-éléments sont utilisés dans des CSS externes ou internes pour styliser des parties spécifiques d'un élément ou pour ajouter des effets spéciaux. Si vous souhaitez utiliser des pseudo-classes ou des pseudo-éléments, vous devez utiliser des CSS externes ou internes
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!