4 種方式可以在 HTML 中引入 CSS。其中有 2 種方式是在 HTML 文件中直接添加 CSS 代碼,另外兩種是引入 外部 CSS 文件。下面我們就來看看這些方式和它們的優(yōu)缺點(diǎn)。
內(nèi)聯(lián)方式
內(nèi)聯(lián)方式指的是直接在 HTML 標(biāo)簽中的 style 屬性中添加 CSS。
示例:
<div style="background: red"></div>
這通常是個很糟糕的書寫方式,它只能改變當(dāng)前標(biāo)簽的樣式,如果想要多個 <div> 擁有相同的樣式,你不得不重復(fù)地為每個 <div> 添加相同的樣式,如果想要修改一種樣式,又不得不修改所有的 style 中的代碼。很顯然,內(nèi)聯(lián)方式引入 CSS 代碼會導(dǎo)致 HTML 代碼變得冗長,且使得網(wǎng)頁難以維護(hù)。
嵌入方式
嵌入方式指的是在 HTML 頭部中的 <style> 標(biāo)簽下書寫 CSS 代碼。
示例:
<head> <style> .content { background: red; } </style> </head>
嵌入方式的 CSS 只對當(dāng)前的網(wǎng)頁有效。因?yàn)?CSS 代碼是在 HTML 文件中,所以會使得代碼比較集中,當(dāng)我們寫模板網(wǎng)頁時這通常比較有利。因?yàn)椴榭茨0宕a的人可以一目了然地查看 HTML 結(jié)構(gòu)和 CSS 樣式。因?yàn)榍度氲?CSS 只對當(dāng)前頁面有效,所以當(dāng)多個頁面需要引入相同的 CSS 代碼時,這樣寫會導(dǎo)致代碼冗余,也不利于維護(hù)。
鏈接方式
鏈接方式指的是使用 HTML 頭部的 <head> 標(biāo)簽引入外部的 CSS 文件。
示例:
<head> <link rel="stylesheet" type="text/css" href="style.css"> </head>
這是最常見的也是最推薦的引入 CSS 的方式。使用這種方式,所有的 CSS 代碼只存在于單獨(dú)的 CSS 文件中,所以具有良好的可維護(hù)性。并且所有的 CSS 代碼只存在于 CSS 文件中,CSS 文件會在第一次加載時引入,以后切換頁面時只需加載 HTML 文件即可。
導(dǎo)入方式
導(dǎo)入方式指的是使用 CSS 規(guī)則引入外部 CSS 文件。
示例:
<style> @import url(style.css); </style>
比較鏈接方式和導(dǎo)入方式
鏈接方式(下面用 link 代替)和導(dǎo)入方式(下面用 @import 代替)都是引入外部的 CSS 文件的方式,下面我們來比較這兩種方式,并且說明為什么不推薦使用 @import。
小結(jié):我們應(yīng)盡量使用 <link> 標(biāo)簽導(dǎo)入外部 CSS 文件,避免或者少用使用其他三種方式。
插電混動汽車,作為純電技術(shù)與傳統(tǒng)燃油技術(shù)的結(jié)合,這項(xiàng)技術(shù)旨在為用戶提供更多樣的駕駛選擇與用車場景、還可以提供純電駕駛的體驗(yàn)。但當(dāng)電量耗盡,車輛的行駛性能和油耗會發(fā)生怎樣的變化?這種差異是否會影響用戶的駕駛體驗(yàn)和經(jīng)濟(jì)效益呢?結(jié)合廣汽本田第五屆極限挑戰(zhàn)中,插電混動旗艦雙子星的成績,分享你的看法?
在新能源車中,插電混動車是一個獨(dú)特的存在,他不同于純電動汽車,跟燃油車也有一定的區(qū)別,那么插電混動汽車有哪些優(yōu)點(diǎn)和缺點(diǎn)。
插電混動汽車有三大優(yōu)點(diǎn):
1、沒有續(xù)航焦慮。
純電動汽車有續(xù)航焦慮,只適合在城市中行駛,在高速上比較少見,這是因?yàn)楦咚俟飞系某潆姌侗容^少,而且還不發(fā)達(dá),純電動車跑高速總是擔(dān)心沒電了,跑長途也是如此,車主就會很焦慮。
插電混動汽車一般是兩套動力系統(tǒng),一套是燃油系列,一套是電動系統(tǒng),兩套系統(tǒng)可以同時工作,也可以單獨(dú)工作。
在城市中行駛,插電混動汽車可以用純電行駛,在高速公路上行駛,插電混動汽車可以用燃油行駛,插電混動汽車同時具備了燃油車的持久性和純電動汽車的便利性,是兩者之間的一個過渡性產(chǎn)品。
插電混動車沒有續(xù)航焦慮
插電混動汽車沒有續(xù)航焦慮,既可以跑短途,也可以跑長途,還支持外放電,當(dāng)你在野外自駕游時,你的車還能成為戶外電源,供你煮飯、吃電火鍋、電燒烤,是不是很酷?
2、省油。
跟純電車比,混動車油耗肯定高,但跟燃油車比,混動車油耗明顯低多了。以我自己的哈弗H6 DHT-PHEV為例,在家里裝了充電樁,選擇凌晨充電,一度電5毛,電池容易是19.9度電,充滿電要10塊錢,可以跑100公里。
算起來一公里只要一毛錢,天天在城市上下班開,可以開4~5天,如果不跑長途,可以一直用電,根本不用加油,上次加了200塊錢,幾個月時間還在,根本用不到。
3、環(huán)保,動力強(qiáng),能掛綠牌。
國家的環(huán)保標(biāo)準(zhǔn)越來越嚴(yán)格,國6B剛剛執(zhí)行,用不了兩年,國7標(biāo)準(zhǔn)也會到來,這對燃油車來說,是一道緊箍咒,雖然能繼續(xù)上路,但有諸多限制,燃油車所能符合的環(huán)保標(biāo)準(zhǔn)太低了的話,有些大城市都進(jìn)不去了。
環(huán)保標(biāo)準(zhǔn)嚴(yán)了,有些不達(dá)標(biāo)的燃油車都沒法銷售了,也沒法過戶了,影響很大,但是,環(huán)保標(biāo)準(zhǔn)并不影響插電混動車,因?yàn)椴咫娀靹悠嚹軖炀G牌。
像北上廣深這樣的一線大城市,嚴(yán)格控制燃油車上牌,你能買車但上不了牌照,但是電動汽車卻不受影響,在政策引導(dǎo)下,很多消費(fèi)者把眼光投入了新能源車,混動汽車符合環(huán)保要求,能上綠牌,得到很多消費(fèi)者的喜愛。
插電混動汽車也有三大缺點(diǎn):
1、電池容量偏小,經(jīng)常要充電。
一般來說,混動車的電池容量沒有純電動汽車大,續(xù)航里程就短,以哈弗H6 DHT-PHEV為例,19.9度電的電池續(xù)航里程是110公里,實(shí)際續(xù)航里程是100公里。
如果你一天開20公里,能跑5天,那就4~5天充一次電,如果你一天開50公里,只能跑2天,那就是1~2天充一次電。
2、更換電池昂貴。
混動汽車是必須要有電池的,沒有電池汽車開不了,這是設(shè)計(jì)好的系統(tǒng),當(dāng)你的電池壽命達(dá)到之后,就需要更換電池,更換電池的費(fèi)用是2~5萬元,這個費(fèi)用是比較高的,目前新能源車大多還處于使用過程中,更換電池的情況較少,等到將來大規(guī)模更換電池時,就知道具體的費(fèi)用了。
3、車價比同級別車高。
同級別的混動車比燃油車貴了4萬元左右,有人說4萬元可以加多少油,混動車省的油都不夠車價貴,需要注意,新能源車目前沒有購置稅,按落地價算的話,相差不到3萬元左右,然后兩者之間的駕駛感受是完全不同的,開過電動車的人對此深有體會。
----------------------------------------------------------------------------------------------------
接下來就是每文最后的前端小知識分享,因?yàn)椴┲魇乔岸顺錾恚@也算是福利吧,每文最后加個前端的小知識:
今天跟大家說的是如何在html中引入html:
目前已知的方法有三個;
1.配置tomcat來實(shí)現(xiàn),需要后臺進(jìn)行配合,修改本地和線上的tomcat的配置,才能使用該方式
<!--#include virtual="/html/gycphlk/setTab.html" -->
2.使用jquery的load方式來實(shí)現(xiàn),可行性需要完成測試后商榷(頁面之間數(shù)據(jù)傳輸是否可行)
3.通過iframe的引入
javaScript是一種解釋型語言,它的執(zhí)行是自上而下,但是各個瀏覽器對于至上而下的理解是有細(xì)微差別的,而代碼的上下游也就是程序流又對于程序正確至關(guān)重要。
首先得了解有幾種方法能把javaScript加入到頁面中? 常見下述的前2種,其實(shí)還有更多。
1.頁面中直接引入外部js文件:<script src="my.js"></script>
2.頁面中直接寫入 js片段: <script>alert(1)</script>
3.在js中引入js文件(比較少用): document.write("<scr"+"ipt src='my.js'></scr"+"ipt>");
注意:這時候"..</script>"必須拆成"</scr"+"ipt>",否則瀏覽器可能會把父js片段關(guān)閉掉,出錯;
4.同樣在js中引用其他js片段,document.write("<scr"+"ipt>alert(1)</scr"+"ipt>");
你可能覺得這個并沒有必要,既然已經(jīng)在script中了還套一層干嘛?呵呵,怎么說也是一種寫法,而且它具有其特殊的行為,稍后我們討論到。
5.使用Ajax中的xmlHttpRequest結(jié)合eval()來引入js,我最早在Dojo的代碼見到,寫的詳細(xì)些:
var ajaxRequest = getXmlHttpRequest()//省去各個瀏覽器得到xmlHttpRequest的部門
ajaxRequest.open("GET","my.js",false);//使用xmlHttpRequest對象Get方法的同步調(diào)用
ajaxRequest.send(null);
sJsFragment = ajax.responseText;//得到字符串為js片段
eval(sJsFragment);//執(zhí)行js片段
注意:這里要求my.js即后來的sJsFragment內(nèi)容得是非常規(guī)范的js,且沒有//開頭的注釋,怎樣檢查js是否規(guī)范呢?去http://jslint.com/
6.無所不能的Dom方法,非常好用:
var oScript = document.createElement("script");//創(chuàng)建一個Script元素
oScript.src = "my.js";//制定src屬性
document.getElementsByTagName("head")[0].appendChild(oScript);
說明:my.js的內(nèi)容會在oScript加入到文檔中之后獲得并執(zhí)行。仔細(xì)看下這段容易發(fā)現(xiàn)這個調(diào)用是異步的,可以在文檔載入之后通過事件觸發(fā),我用它變通了一下,作為了xmlHttpRequest的Get方法在跨域取數(shù)時的替代,獲得了很完美的效果,以后有機(jī)會專門寫篇文。
六種不少吧,可能還會有吧,而且這幾種之間還可能相互嵌套,變化無常。
其中1、2、4、6種方式引入的javaScript的執(zhí)行順序是非常自然的,隨著頁面的載入以及后續(xù)的事件觸發(fā),它們遵守先來后到、而其內(nèi)部自上而下。
*請認(rèn)真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。