简体   繁体   中英

How to create a template in HTML?

I started creating web pages in plain HTML. I have a header, main content and a footer. The main content is divided into two, left and right content. Everything is the same on all pages except for the right content. Now I have about 15 pages. This is very tiresome if I make some changes on the other static pages (header, footer and left side content) as I have to go through all pages.

How can I create one HTML file for each static area and how am I going to integrate it?

There are, essentially, three places you can do this:

  1. At build time . Run a script that puts the pages together and outputs static HTML. Then upload the static HTML to the server. Back in 2013 I recommended ttree , but these days static site builders are common and more powerful. My projects tend towards Gatsby (for complex projects) and Metalsmith (for simpler ones). Jekyll is very popular (and Github provides documentation for using it with GH Pages).
  2. At runtime on the server . This could be a simple SSI , a PHP include or a full template system (of which there are many, including Template Toolkit and mustache ), possibly running inside an MVC framework (such as Catalyst or Django ). This is the most common approach, it has less time between making a change and putting the result life then doing the templating at build time.
  3. At runtime on the client . This adds a dependency on client-side JavaScript (which can be fragile and unfriendly to search engines), so I wouldn't recommend it unless you already had a server-side or build-time solution in place. Gatsby , for example, is a static site generator that builds a React frontend backed by static pages.

There are a couple of ways to do this.

If you are working purely with HTML, then you can use a 'server side include' -- this is a tag which allows you to load a file into the page (see http://en.wikipedia.org/wiki/Server_Side_Includes ). Whoever is hosting your website has to support this.

<!--#include virtual="../quote.txt" -->

If youe web host happen to use PHP, you can do this using the include method (see http://php.net/manual/en/function.include.php ):

<?php include('path_to_file/file.htm');?>

This will include the file at the point you place the tag. But again, whoever is hosting your site needs to support this.

There are other methods of doing this, bit these are the two I make use of.

Well... what you're looking for is called "Master Page" and unfortunately it isn't available in html however you can use the <iframe> tag but it would make your website look really ugly. i would suggest you to use a programming language such as PHP its much easier that way.

but if you want to use <iframe> then They'll load remote pages into your website, so you could define a "Master Page" like this:

<body>
  <div id="content">
    <iframe src="content1.html"></iframe>

Now, inside of content1.html , you could just write the content without the main layout

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM