摘要:現在我們打算實現一個在網頁上方的導航條,并在所有的頁面中繼承這個導航條。導航條的建立,我們直接使用提供的如下導航條的樣式。之后我們把上述導航條的代碼復制到的中,及引用復制到中,瀏覽器就能顯示和圖中一樣的導航條了。
在建設一個網站的時候,不同的頁面有很多元素是一樣的,比如導航條、側邊欄等,我們可以使用模板的繼承,避免重復編寫html代碼。現在我們打算實現一個在網頁上方的導航條,并在所有的頁面中繼承這個導航條。導航條的建立,我們直接使用Bootstrap提供的如下導航條的樣式。
但在使用Bootstrap的導航條樣式之前,需要先引用Bootstrap所需要的css和js文件以及jQuery,我們在html的header中插入以下代碼完成引用:
這里都是通過鏈接引用網絡上的css和js文件,而不是將其下載下來并從本地引用。之后我們把上述導航條的代碼復制到html的body中,js及css引用復制到header中,瀏覽器就能顯示和圖中一樣的導航條了。我們再做一些簡單的修改和優化,最終我們的導航條是這樣的:
具體修改的點是,我把原始的Brand替換成了一個圖片作為logo,第一個下拉控件Dropdown刪掉了,最右側的下拉控件增加了一個選項,并把文字都替換成了我們想要的。然后建立了一個base.css文件來調整圖片大小、控件位置、背景色等等,這一部分都是基礎的html/css知識,也就不多說。后續所有的網頁都要使用這個導航條,我們將含有導航條這個html命名為base.html,并在其body中,導航條代碼的下方增加以下代碼:
{% block body_part %} {% endblock %}
然后新建一個home.html,輸入以下內容:
{% extends "base.html" %} {% block body_part %}This is body content under nav-bar
{% endblock %}
渲染home.html并訪問,我們可以看到這樣的結果:
因此我們不難理解,在home.html中,{% extends "base.html" %}表示繼承自base.html,home.html中block和endblock區間的代碼塊會自動替換到base.html同樣名為body_part的block區域。block可以使用多個,例如在
最終base.html代碼如下:
{% block page_name %}{% endblock %}-HarpQA {% block body_part %} {% endblock %}
請注意一下base.css和logo圖片的引用,我們也使用了url_for函數,第一個參數是static,代表項目文件夾下static文件夾,第二個參數是以static文件夾為基準靜態文件的相對路徑,我們把js文件/css文件/圖片文件等都放在這個文件夾下,所以這個用法以后會經常使用。我們在收藏網頁的時候,網頁都有一個小圖標,我們也可以在header中使用這行html代碼來實現:
把favicon.ico文件放在static/images文件夾即可,我們使用了Flask的圖標,效果如下圖:
base.css代碼如下:
body{ background: #F3F3F3; } .navbar-brand{ padding: 0 5px; padding-right: 10px; } .logo{ height: 50px; }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/41238.html
摘要:示例使用的模板的指令通過從引用來實現模板的繼承。上面的模板定義了三個,分別命名為和。同時返回相應錯誤的數字狀態碼。示例帶有導航欄的基礎應用程序模板這個模板中的塊中只是一個名為的元素,它包含了在派生模板中定義的名為的空。 2、集成Twitter Bootstrap的Flask-Bootstrap Bootstrap是Twitter的一個開源框架,提供用戶交互組件來創建一個清新且有吸引力...
閱讀 1455·2021-09-22 15:43
閱讀 2168·2019-08-30 15:54
閱讀 1170·2019-08-30 10:51
閱讀 2095·2019-08-29 18:35
閱讀 437·2019-08-26 11:58
閱讀 2488·2019-08-26 11:38
閱讀 2447·2019-08-23 18:35
閱讀 3646·2019-08-23 18:33