在html頁面中引入另一個html頁面

来源:https://www.cnblogs.com/abc-x/archive/2020/07/29/13399334.html
-Advertisement-
Play Games

我們在使用html編寫一個網站的時候,通常情況下頭部和尾部是相同的,如果一個網站的每個頁面都把這些代碼寫一遍,不僅浪費時間,還顯得重覆代碼很多,所以此時把重覆的頁面單獨摘出來,在用到的時候從外部直接引進去,就能節省很多時間,減少很多代碼。 在這裡,有好幾種引入html文件的方式,不過每種都是有利有弊 ...


我們在使用html編寫一個網站的時候,通常情況下頭部和尾部是相同的,如果一個網站的每個頁面都把這些代碼寫一遍,不僅浪費時間,還顯得重覆代碼很多,所以此時把重覆的頁面單獨摘出來,在用到的時候從外部直接引進去,就能節省很多時間,減少很多代碼。

在這裡,有好幾種引入html文件的方式,不過每種都是有利有弊,需要根據需要自行選擇

如果有些瀏覽器本地實現不了,那麼放到伺服器上面!(重要!!!)

註意:引入後主頁面的Css樣式不適用於被引入頁面,比如在主頁面設置

<style type="text/css">
    *{
        margin: 0;
        padding: 0;
    }
</style>

下麵介紹幾種實現方法:

一、import引入(<head>中引入文件,<script>中載入內容)

href鏈接引入的html文件,id可以看做頁面引導,在script中用到

<head>
    <meta charset="utf-8" />
    <title>主頁面</title>
    <!--import引入-->
    <link rel="import" href="top.html" id="page1"/>
    <link rel="import" href="fotter.html" id="page2"/>
</head>
<!--註意順序-->
<!--import在頭部引入,裡面是啥就是啥-->
<script type="text/javascript">
    document.write(page1.import.body.innerHTML);
</script>
hello world!<!--本頁面寫入內容-->
<script type="text/javascript">
    document.write(page2.import.body.innerHTML);
</script>

二、通過JQuery的load()方法載入頁面

相當於把引入的html中head和body標簽中的數據拖出來,在外麵包了一個你自己寫的標簽,比如說上面代碼中的<div class="top"></div>

<!--註意順序-->
<!--使用js引入,引入整個文檔,但是沒有html和body,相當於body裡面的數據-->
<div class="top">top</div>
<div class="center">
    <p>你好,我在中間!</p>
</div>
<div class="footer">footer</div>
<script src="js/jq/jquery-3.2.1.min.js"></script>
<script type="text/javascript">
//在js中引入
$(document).ready(function () {
    $('.top').load('top.html');
    $('.footer').load('fotter.html');
});
</script>

三、object引入和iframe引入(帶有滾動條,視情況使用)

<!--object引入,相當於把整個頁面拉過來(在一個html中嵌套另一個html),包括title,meta,body,html等-->
<!--此處的高是嵌套進去的整個html的高,不包括邊框,padding等-->
<object style="border:1px solid red" type="text/x-scriptlet" data="top.html" width="100%" height="200px"></object>

<!--iframe引入,同object方式一樣,頁面整個嵌套,預設高度為150,frameborder設置為1時邊框寬度為2-->
<iframe marginwidth=0 marginheight=0 width="100%" height=200 src="top.html" frameborder="no" <!--scrolling="no"-->></iframe>

兩中引入方式比較:

  • 相同點:
    1. 預設高度為150
    2. 引入後本頁面html嵌套引入頁面html,整個引入
  • 不同點:
    1. iframe引入使用scrolling="no"可以不讓頁面進行滾動,取消右側滾動條
    2. iframe中 frameborder="no"可以修改為0或1,這裡不是指寬度,可以理解為布爾型,當設為1時border寬度為2

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 下麵介紹一下div嵌套div時margin不起作用的解決方案。 順便科普下margin的定義和用法。 div嵌套的HTML代碼: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" ...
  • 下麵介紹幾種使用Css實現文字豎向排版的方法: 1.一個句子的豎向排列 如圖: <!DOCTYPE html> <html> <head> <title>test</title> <meta charset="UTF-8"> </head> <style> .one { width: 20px; m ...
  • 我們做登錄頁面時有時需要用戶名和密碼倆端對齊,這樣顯得美觀一點,下麵介紹一下幾種實現方法: 一、使用 text-align屬性(只相容谷歌、火狐瀏覽器): html <ul> <li>密碼</li> <li>用戶名</li> <li>身份證號</li> </ul> css ul li{ width: ...
  • 響應式網站、移動端頁面在DIV CSS佈局中對於圖片列表或圖片排版時,如果想要圖片按比例縮放,最簡單的就是把img寬度設為100%,不設置高度,高度就會自動跟著高度縮放。 但是如果要達到的效果是,要讓圖片的寬高要按一定的比例顯示,如1:1 、4:3 等,然而圖片尺寸不是這個比例,又不想讓圖片拉伸變形 ...
  • 在html中如果要把多餘的文字顯示為省略號,那麼有以下幾種方法: 單行文本: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-widt ...
  • 在很多網站上我們都看到input輸入框顯示提示文字,讓我們一起來看看如果在input輸入框中顯示提示文字。我們只需要在<input>標簽里添加:placeholder="提示文字即可",那麼如果要修改提示文字的樣式呢?可以這樣設置css樣式: <!DOCTYPE html> <html> <head ...
  • 在做表單提交時我們有時會遇到這樣的需求,在用戶沒有輸入必填信息點提交時提示文字需要改為我們想要的提示信息,那麼可以在input裡面增加這樣的語句: <input type="text" placeholder="您的姓名" required oninvalid="setCustomValidity( ...
  • 最近在做一個頁面時,發現在 iPad 的 Safari 瀏覽器中背景顯示不全,定位到該 div 後發現所指定 css 的寬度為 100% ; 到百度搜索後發現,safari 中 viewport 預設寬度為 980px,若事先未指定其初始 viewport 寬度,則會預設按照 980px 處理。 可 ...
一周排行
    -Advertisement-
    Play Games
  • 前言 在我們開發過程中基本上不可或缺的用到一些敏感機密數據,比如SQL伺服器的連接串或者是OAuth2的Secret等,這些敏感數據在代碼中是不太安全的,我們不應該在源代碼中存儲密碼和其他的敏感數據,一種推薦的方式是通過Asp.Net Core的機密管理器。 機密管理器 在 ASP.NET Core ...
  • 新改進提供的Taurus Rpc 功能,可以簡化微服務間的調用,同時可以不用再手動輸出模塊名稱,或調用路徑,包括負載均衡,這一切,由框架實現並提供了。新的Taurus Rpc 功能,將使得服務間的調用,更加輕鬆、簡約、高效。 ...
  • 順序棧的介面程式 目錄順序棧的介面程式頭文件創建順序棧入棧出棧利用棧將10進位轉16進位數驗證 頭文件 #include <stdio.h> #include <stdbool.h> #include <stdlib.h> 創建順序棧 // 指的是順序棧中的元素的數據類型,用戶可以根據需要進行修改 ...
  • 前言 整理這個官方翻譯的系列,原因是網上大部分的 tomcat 版本比較舊,此版本為 v11 最新的版本。 開源項目 從零手寫實現 tomcat minicat 別稱【嗅虎】心有猛虎,輕嗅薔薇。 系列文章 web server apache tomcat11-01-官方文檔入門介紹 web serv ...
  • C總結與剖析:關鍵字篇 -- <<C語言深度解剖>> 目錄C總結與剖析:關鍵字篇 -- <<C語言深度解剖>>程式的本質:二進位文件變數1.變數:記憶體上的某個位置開闢的空間2.變數的初始化3.為什麼要有變數4.局部變數與全局變數5.變數的大小由類型決定6.任何一個變數,記憶體賦值都是從低地址開始往高地 ...
  • 如果讓你來做一個有狀態流式應用的故障恢復,你會如何來做呢? 單機和多機會遇到什麼不同的問題? Flink Checkpoint 是做什麼用的?原理是什麼? ...
  • C++ 多級繼承 多級繼承是一種面向對象編程(OOP)特性,允許一個類從多個基類繼承屬性和方法。它使代碼更易於組織和維護,並促進代碼重用。 多級繼承的語法 在 C++ 中,使用 : 符號來指定繼承關係。多級繼承的語法如下: class DerivedClass : public BaseClass1 ...
  • 前言 什麼是SpringCloud? Spring Cloud 是一系列框架的有序集合,它利用 Spring Boot 的開發便利性簡化了分散式系統的開發,比如服務註冊、服務發現、網關、路由、鏈路追蹤等。Spring Cloud 並不是重覆造輪子,而是將市面上開發得比較好的模塊集成進去,進行封裝,從 ...
  • class_template 類模板和函數模板的定義和使用類似,我們已經進行了介紹。有時,有兩個或多個類,其功能是相同的,僅僅是數據類型不同。類模板用於實現類所需數據的類型參數化 template<class NameType, class AgeType> class Person { publi ...
  • 目錄system v IPC簡介共用記憶體需要用到的函數介面shmget函數--獲取對象IDshmat函數--獲得映射空間shmctl函數--釋放資源共用記憶體實現思路註意 system v IPC簡介 消息隊列、共用記憶體和信號量統稱為system v IPC(進程間通信機制),V是羅馬數字5,是UNI ...