recherche
Maisoninterface Webtutoriel CSSLes façons les plus simples de gérer HTML comprennent

Les façons les plus simples de gérer HTML comprennent

Il est extrêmement surprenant pour moi que HTML n'ait jamais eu de moyen d'inclure d'autres fichiers HTML. Il n'y a rien non plus à l'horizon qui s'adresse. Je parle de directement inclut , comme prendre un morceau de HTML et le plonger dans un autre. Par exemple, le cas d'utilisation pour une grande partie de l'ensemble de l'Internet, un en-tête et un pied de page inclus pour toutes les pages:

 ...

   <inclure src="./%20header.html"> 

   Contenu

   <inclure src="./%20foother.html"> 

...</inclure></inclure>

Ce n'est pas réel, au fait. Je souhaite juste que ce soit.

Les gens se tournent vers d'autres langues pour résoudre ce problème pour eux depuis toujours. C'est un prétraitement HTML, dans un sens. Bien avant de prétraiter notre CSS, nous utilisons des outils pour manipuler notre HTML. Et nous le sommes toujours, car l'idée de comprend est utile sur à peu près tous les sites Web du monde.

Utiliser PHP

Pouvez-vous utiliser PHP à la place?

 ...

    Php inclut "./header.html"?>

   Contenu

    Php inclut "./footer.html"?>

...

Cela effectuera l'inclusion au niveau du serveur, ce qui fait que la demande pour cela se produise au niveau du système de fichiers sur le serveur, il devrait donc être beaucoup plus rapide qu'une solution côté client.

Utiliser Gulp

Qu'est-ce qui est encore plus rapide qu'un côté serveur inclut? Si l'includ est prétraité avant même le serveur. Gulp a une variété de processeurs qui peuvent le faire. L'un est le gulp-file-include.

Cela ressemblerait à ceci:

 ...

   @@ inclure ('./ header.html')

   Contenu

   @@ inclure ('./ footter.html')

...

Et vous le traiteriez comme:

 var fileinclude = require ('gulp-file-include'),
  gulp = require ('gulp');
 
gulp.task ('fileinclude', function () {
  gulp.src (['index.html'])
    .Pipe (fileinclude ({
      préfixe: '@@',
      Basepath: '@file'
    }))
    .Pipe (gulp.dest ('./'));
});

On dirait que ce plugin particulier a des fonctionnalités sophistiquées où vous pouvez passer des variables aux incluses, ce qui permet de fabriquer peu de composants basés sur les données.

Utiliser le grognement

C'est ce que fait le plugin Grunt-Bake. Vous configureriez le grognement pour traiter votre HTML:

 grunt.initconfig ({
    cuire: {
        your_target: {
            Fichiers: {
                "dist / index.html": "app / index.html",
            }
        }
    }
});

Ensuite, votre HTML peut utiliser cette syntaxe spéciale pour incluse:

 ...

   

   Contenu

   

...

Utiliser le guidon

Le guidon a des partiels.

Vous les enregistrez:

 Hands.gegisterPartial ('myPartial', '{{name}}')

Puis utilisez-les:

 {{> myPartial}}

Il existe également des caractéristiques sophistiquées qui permettent d'évaluer et de passer des données. Vous aurez toujours besoin d'un processeur pour l'exécuter, probablement quelque chose comme Gulp-Handlebars.

En parlant de langues de modèles qui utilisent des accolades bouclées… la moustache les a aussi.

Utiliser Pug

PUG est un préprocesseur HTML qui a une toute nouvelle syntaxe pour HTML qui est un peu plus laconique. Il a cependant des incluses.

 ...
corps
   inclure ./header.html "

   contenu p

   inclure ./footer.html "

   ...

Ensuite, vous l'exécutez avec quelque chose comme Gulp-pug.

Utiliser Nunjucks

Je m'aime quelques nunjucks! Nunjucks comprend. Tu le ferais comme ça:

 ...

   {% inclut "./header.html"%}

   Contenu

   {% inclut "./footer.html"%}

...

Si vous mettez cela dans un fichier appelé index.njk, vous pouvez le traiter avec un script de nœud simple dans index.html comme ceci:

 const nunjucks = require ("nunjucks");
const fs = require ("fs");

fs.writeFile ("index.html", nunjucks.render ("index.njk"), fonction (err, data) {
  if (err) console.log (err);
  Console.log ("a compilé les Nunjucks, capitaine.");
});

Ou traitez-le avec quelque chose comme Gulp-Nunjucks.

11ty a Nunjucks intégré, ainsi que beaucoup des autres mentionnés jusqu'à présent. Pourrait être bon pour vous si vous construisez réellement un petit site.

Utiliser Ajax

Dis que tu avais…

 
  
  <a-t> -header>
  
  Contenu.
  
  <foomer> 

</foomer></a-t>

Vous pouvez récupérer le contenu de l'en-tête et du pied de page à partir de fichiers respectifs et de vider le contenu.

 fetch ("./ header.html")
  .Then (réponse => {
    return réponse.Text ()
  })
  .Then (data => {
    document.QuerySelector ("En-tête"). InnerHtml = données;
  });

fetch ("./ footer.html")
  .Then (réponse => {
    return réponse.Text ()
  })
  .Then (data => {
    document.QuerySelector ("Footer"). InnerHtml = données;
  });

En parlant de JavaScript… Si vous construisez votre site à l'aide d'un cadre JavaScript à peu près en tout type, la construction de composants est en quelque sorte la principale affaire là-bas et les pièces qui brisaient que vous souhaitez inclure dans d'autres fichiers ne devraient pas être un problème. Une sorte d'en-tête d'importation de "./header.js"; Et

est le territoire dans lequel vous seriez dans React Land.

Utiliser des iframes

Vous pourriez faire ceci:

 
  
  <iframe src="./%20header.html">  iframe>
  
  Contenu.
  
  <iframe src="./%20footer.html">  iframe>
  
</iframe></iframe>

Mais le contenu de ces iframes ne partage pas le même DOM, donc c'est un peu bizarre, sans parler lent et maladroit à style (car les iframes ne connaissent pas les hauteurs de leur contenu).

Scott Jehl a cependant documenté une idée cool: vous pouvez demander à l'Iframe injecter le contenu de lui-même sur la page parent, puis de se supprimer.

 
  
  <iframe src="header.html" onload="this.before ((this.contentDocument.body || this.contentDocument) .children [0]); this.reMove ()">  iframe>
  
  Contenu.
  
  <iframe src="footer.html" onload="this.before ((this.contentDocument.body || this.contentDocument) .children [0]); this.reMove ()">  iframe>
  
</iframe></iframe>

Kolya Korruptis a écrit avec cette adaptation qui comprendra plus que le premier enfant du corps au cas où votre fichier HTML aura cela:

 <iframe src="inclus.html" onload="this.insertadjacenthtml ('afterend', (this.contentDocument.body || this.contentDocument) .innerHtml); this.reMove ()">  iframe></iframe>

Utilisez Jekyll

Jekyllis un générateur de sites statiques basé sur Ruby avec incluse. Vous gardez vos incluses dans le dossier / _includes /, alors:

 
  {% Inclure en tête.html%}
  
  Contenu.

  {% Inclure Footer.html%}

Jekyll est important, donc je l'appelle ici, mais il y a une tonne de zones de générateurs de sites statiques et je parierais que l'un d'eux peut faire.

Utiliser Sergey

Ok, je vais appeler un moessgbause, il est nouveau et super concentré.

 
  <sergey-import src="header"></sergey-import>

  Contenu.

  <sergey-import src="Footer"></sergey-import>

Vous nommeriez le Fileshader.htmlandfooter.htmland, mettez-les dans / inclut / puis il fera une version avec les incluses traitées lorsque vous exécutez le script NPM qu'il vous fait.

Utilisez Apache SSI

Apache, un serveur Web Common Super Duper, comprend Cando. Vous le faites comme ceci:

 
		
  
  
  Contenu
  
  
  

Mais vous avez besoin de la bonne configuration Apache pour permettre des choses. J'ai fait de mon mieux pour faire avancer une démo de travail mais je n'ai pas eu beaucoup de chance.

J'ai essayé d'utiliser.

 Les options comprennent

Texte addtype / html .html
AddOutputFilter comprend .html

Je suis sûr qu'il existe un moyen de le faire fonctionner, et si vous le faites, il est un peu soigné qu'il ait besoin de zéro d'autres dépendances.

Utiliser Codekit

Mac uniquement, mais Codekit Hasa a un langage spécial appelé processus Knit où 90% du point est HTML. Il utilise des commentaires HTML spéciaux:

 ...

   

   Contenu

   

...

Utilisez Dreamweaver

Lol JK. Mais c'est vraiment une chose.dwts, bébé.

Merde

C'est beaucoup de façons, non?

Comme je l'ai dit au sommet, il est très surprenant pour moi que HTML lui-même ne soit pas résolu directement. Non pas que je pense que ce serait une excellente idée pour les performances d'avoir des instructions qui déclenchent les demandes du réseau partout dans notre code, mais cela semble en ligne avec la plate-forme. L'utilisation d'importations ES6 directement sans regroupement n'est pas toujours une excellente idée, mais nous les avons. @ Importer CSS dans CSS n'est pas toujours une excellente idée, mais nous l'avons. Si la plate-forme avait une syntaxe native, peut-être que d'autres outils s'appuieraient, tout comme les bundlers JavaScript prennent en charge le format d'importation ES6.

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
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
Style CSS de niveau supérieur pour les curseursStyle CSS de niveau supérieur pour les curseursApr 23, 2025 am 11:04 AM

Les curseurs personnalisés avec CSS sont excellents, mais nous pouvons faire passer les choses au niveau supérieur avec JavaScript. À l'aide de JavaScript, nous pouvons passer entre les états du curseur, placer du texte dynamique dans le curseur, appliquer des animations complexes et appliquer des filtres.

Worlds Collide: Détection de collision de l'ordre clé à l'aide de requêtes de styleWorlds Collide: Détection de collision de l'ordre clé à l'aide de requêtes de styleApr 23, 2025 am 10:42 AM

Les animations CSS interactives avec des éléments se ricochent semblent plus plausibles en 2025. Bien qu'il soit inutile de mettre en œuvre Pong dans CSS, la flexibilité et la puissance croissantes de CSS renforcent le soupçon de Lee selon lequel un jour, ce sera un jour

Utilisation du filtre de fond CSS pour les effets d'interface utilisateurUtilisation du filtre de fond CSS pour les effets d'interface utilisateurApr 23, 2025 am 10:20 AM

Conseils et astuces sur l'utilisation de la propriété CSS Back-Filter pour styliser les interfaces utilisateur. Vous apprendrez à superposer des filtres en toile de fond entre plusieurs éléments et à les intégrer à d'autres effets graphiques CSS pour créer des conceptions élaborées.

Smil sur?Smil sur?Apr 23, 2025 am 09:57 AM

Eh bien, il s'avère que les fonctionnalités d'animation intégrées de SVG n'ont jamais été obsolètes comme prévu. Bien sûr, CSS et JavaScript sont plus que capables de porter la charge, mais il est bon de savoir que Smil n'est pas mort dans l'eau comme précédemment

'Pretty' est dans l'œil du spectateur'Pretty' est dans l'œil du spectateurApr 23, 2025 am 09:40 AM

Yay, laissez-le saut pour le wat-wrap: joli atterrissage dans la technologie safari aperçu! Mais méfiez-vous qu'il est différent de la façon dont il fonctionne dans les navigateurs de chrome.

CSS-Tricks raconte xliiiCSS-Tricks raconte xliiiApr 23, 2025 am 09:35 AM

Cette mise à jour de CSS-Tricks met en évidence des progrès significatifs dans l'Almanac, des apparitions de podcast récentes, un nouveau guide CSS Counter et l'ajout de plusieurs nouveaux auteurs contribuant un contenu précieux.

La fonctionnalité @Apply de Tailwind est meilleure qu'il n'y paraîtLa fonctionnalité @Apply de Tailwind est meilleure qu'il n'y paraîtApr 23, 2025 am 09:23 AM

La plupart du temps, les gens présentent la fonctionnalité de Tailwind avec l'un des utilitaires à propriété unique de Tailwind (qui modifie une seule déclaration CSS). Lorsqu'il est présenté de cette façon, @Apply ne semble pas du tout prometteur. So évidence

Se sentir comme je n'ai pas de libération: un voyage vers les déploiements sainsSe sentir comme je n'ai pas de libération: un voyage vers les déploiements sainsApr 23, 2025 am 09:19 AM

Le déploiement comme un idiot se résume à un décalage entre les outils que vous utilisez pour déployer et la récompense en complexité réduite par rapport à la complexité ajoutée.

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

DVWA

DVWA

Damn Vulnerable Web App (DVWA) est une application Web PHP/MySQL très vulnérable. Ses principaux objectifs sont d'aider les professionnels de la sécurité à tester leurs compétences et leurs outils dans un environnement juridique, d'aider les développeurs Web à mieux comprendre le processus de sécurisation des applications Web et d'aider les enseignants/étudiants à enseigner/apprendre dans un environnement de classe. Application Web sécurité. L'objectif de DVWA est de mettre en pratique certaines des vulnérabilités Web les plus courantes via une interface simple et directe, avec différents degrés de difficulté. Veuillez noter que ce logiciel

mPDF

mPDF

mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) ​​et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),

SublimeText3 version anglaise

SublimeText3 version anglaise

Recommandé : version Win, prend en charge les invites de code !

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser