Maison > interface Web > tutoriel CSS > CSS en ligne dans Jekyll

CSS en ligne dans Jekyll

Christopher Nolan
Libérer: 2025-02-21 10:57:09
original
121 Les gens l'ont consulté

CSS en ligne dans Jekyll

Les plats clés

  • CSS en ligne dans Jekyll peut être un outil précieux pour les sites avec CSS suffisamment petit, car il vous permet d'envoyer tous les styles dans le premier aller-retour au serveur, éliminant le besoin d'une feuille de style externe. Ceci est particulièrement efficace pour fournir des styles critiques qui façonnent l'apparence des domaines de contenu supérieur et principal de la page.
  • Dans Jekyll, les styles peuvent être inclus directement dans le dossier _includes, puis importés à l'intérieur de la tête du document. Si vous utilisez SASS, le filtre SCSSify peut être utilisé pour convertir une chaîne format Sass en CSS, en maintenant la possibilité d'utiliser SASS même lorsque les styles d'inclinaison.
  • Le filtre SCSSIFY dans Jekyll respecte également votre configuration SASS à partir de _config.yml. Ainsi, si vous définissez le style de sortie sur compressé dans votre fichier de configuration, le filtre compilera SASS sur CSS compressé, en aidant en minification.

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 .

le besoin

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 et l'envoyer dans la première aller-retour sans même vous soucier d'une feuille de style externe. Ce n'est pas super courant, mais quand c'est le cas, c'est assez rad.

Retour à Jekyll

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

qu'en est-il de Sass?

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>
Copier après la connexion

tada (encore)!

qu'en est-il de la minification?

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>
Copier après la connexion

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>
Copier après la connexion

Réflexions finales

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:

  • _incluses / styles.css
  • _incluses / head.html

J'espère que ça aide, et un codage heureux!

Les questions fréquemment posées sur CSS en ligne dans Jekyll

Quelle est la différence entre CSS en ligne et CSS externe?

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.

Comment puis-je utiliser CSS en ligne dans Jekyll?

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.

Pourquoi dois-je utiliser 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é.

Puis-je utiliser à la fois CSS en ligne et CSS externe dans Jekyll?

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

comment puis-je remplacer les CS en ligne dans Jekyll?

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?

Bien que CSS en ligne dans Jekyll offre un niveau de contrôle élevé sur les éléments individuels, il a ses limites. Il peut rendre votre document HTML désordonné et difficile à entretenir s'il est surutilisé. Il ne favorise pas non plus la réutilisabilité, car vous devez appliquer manuellement les styles à chaque élément.

Comment les CS en ligne affectent-ils la vitesse de chargement de mon site de jekyll?

CSS en ligne peut potentiellement augmenter La vitesse de chargement de votre site Jekyll car le navigateur n'a pas à faire des demandes HTTP supplémentaires pour récupérer les fichiers CSS externes. Cependant, si vous avez beaucoup de CSS, il est préférable d'utiliser des CSS externes pour garder votre document HTML propre et facile à entretenir.

Puis-je utiliser des cours et des identifiants CSS avec CSS en ligne dans Jekyll?

Non, vous ne pouvez pas utiliser les classes CSS et les ID avec CSS en ligne dans Jekyll. Le CSS en ligne est appliqué directement à l'élément HTML à l'aide de l'attribut «Style», et il ne prend pas en charge les classes ou les ID. Si vous souhaitez utiliser des classes ou des ID, vous devez utiliser des CS externes ou internes.

Comment puis-je utiliser des requêtes multimédias avec CSS en ligne dans Jekyll?

Malheureusement, vous ne pouvez pas utiliser les requêtes multimédias avec des requêtes en ligne CSS dans Jekyll. Les requêtes multimédias sont utilisées dans le CSS externe ou interne pour appliquer différents styles pour différents appareils ou tailles d'écran. Si vous avez besoin d'utiliser des requêtes multimédias, vous devez utiliser des CSS externes ou internes

Puis-je utiliser des pseudo-classes et des pseudo-éléments 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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal