Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
頁能將文本、圖片、音頻、視頻等諸多元素結(jié)合起來,通過CSS,能呈現(xiàn)這些元素預(yù)定的外觀,通過JavaScrip腳本,能呈現(xiàn)預(yù)定的動作。
網(wǎng)頁設(shè)計(jì)前端語言HTML、HTML、JavaScript三者關(guān)系:
前端網(wǎng)頁語言 | 功能 | 說明 | 符號 |
HTML | 內(nèi)容 | Hyper Text Markup Language | <tag>…</tag> |
CSS | 內(nèi)容呈現(xiàn)的外觀 | Cascading Style Sheets | <style>...</style> |
JavaScript | 內(nèi)容呈現(xiàn)的動作 | 嵌入網(wǎng)頁有腳本 | <script>...</script> |
以上由瀏覽器解釋執(zhí)行。
代碼舉例:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>前端語言比較</title>
</head>
<style>
#container{
margin:auto;
width:75%;
}
.descri{
color:#990000;
font-size:120%;
}
</style>
<body>
<div id="container">
<h4>前端語言比較</h4>
<p class="descri">簡單加法器:</p>
<form name="myform">
加數(shù):<input type="text" name="first" size="6" />
<span style="color:red;">+</span> 被加數(shù)
<input type="text" name="second" size="6" />
<input type="button" onclick="sum()" value="求和" />
<span style="color:blue;">=</span>
<input type="text" name="result" size="6" />
</form>
</div>
<script type="text/javascript">
function sum(){
var resultValue,firstValue,secondValue;
firstValue=parseFloat(document.myform.first.value);
secondValue=parseFloat(document.myform.second.value);
resultValue=parseFloat(firstValue + secondValue);
document.myform.result.value=resultValue;
}
</script>
</body>
</html>
Chrome瀏覽器呈現(xiàn):
HTML,Hyper Text Markup Language,就其字面理解,其核心是"Markup“(標(biāo)記),通過“標(biāo)記”,讓將文本、圖片、音頻、視頻等諸多元素呈現(xiàn)“超文本”(HyperText)的特點(diǎn)。
CSS,Cascading Style Sheets,就其字面理解,其核心是“Style“,也就是”樣式“。就像我們做Word文檔一樣,對文本進(jìn)行格式化。但在網(wǎng)頁設(shè)計(jì)中,樣式是通過“屬性:屬性值“的代碼來表示,且這些“樣式”可以疊加,對對象的樣式描述可以列成序列的形式;
JavaScript,是一種網(wǎng)頁腳本語言,通過網(wǎng)頁中的一些事件能引發(fā)一些代碼的執(zhí)行。
最好的參考網(wǎng)站或查詢頁面:http://www.w3school.com.cn/index.html
HTML、CSS、Javascript是前端Web開發(fā)的主要語言,但是學(xué)生們經(jīng)常混淆Javascript和HTML。因此,今天我們在這里討論這兩種最重要的編程語言之間的差異。
Javascript簡介
Javascript 是一種基于文本的編程語言,主要用于Web開發(fā)。它是WWW(萬維網(wǎng))的核心技術(shù)之一。
通過使用 Javascript,程序員可以創(chuàng)建交互式和響應(yīng)式Web元素并增強(qiáng)網(wǎng)站的UI。Javascript 在客戶端Web開發(fā)中非常流行,以至于互聯(lián)網(wǎng)上超過97%的網(wǎng)站都將其用于客戶端行為。彈出窗口、圖像滑塊、站點(diǎn)導(dǎo)航菜單、選項(xiàng)卡、表單驗(yàn)證是用于Web開發(fā)的Javascript的一些示例。
HTML簡介
HTML是超文本標(biāo)記語言的首字母縮寫,它是用于創(chuàng)建網(wǎng)頁和Web應(yīng)用程序的標(biāo)準(zhǔn)標(biāo)記語言。HTML描述了網(wǎng)頁的結(jié)構(gòu),瀏覽器從服務(wù)器接收HTML頁面,然后將文檔呈現(xiàn)到屏幕上。
HTML包含多個元素,這些元素告訴瀏覽器內(nèi)容的外觀。例如,<p>標(biāo)簽定義了一個段落,<title>定義了web文檔的標(biāo)題,<body>定義了可見的頁面內(nèi)容,<table>定義了一個表格等等。HTML可以嵌入腳本程序如JS程序 會影響網(wǎng)頁的內(nèi)容和行為。此外,它可以包含 CSS(層疊樣式表)來改善網(wǎng)頁的布局和外觀。
Javascript與HTML:主要區(qū)別是什么?
句法
HTML是一種標(biāo)記語言,它有多種標(biāo)簽,如表格標(biāo)簽、換行標(biāo)簽、圖片標(biāo)簽、標(biāo)題標(biāo)簽等。同時,Javascript具有不同的功能,可以使網(wǎng)頁具有交互性和動態(tài)性。HTML語法更容易學(xué)習(xí)和理解。與HTML相比,Javascript是一種復(fù)雜的語言。
動態(tài)規(guī)劃
Javascript使網(wǎng)站動態(tài)化,它可以更改用戶操作的HTML標(biāo)記的值和屬性,它主要包含在HTML代碼中以制作交互式網(wǎng)頁。
另一方面,僅HTML無法制作動態(tài)網(wǎng)頁,因此,無法動態(tài)更改代碼。程序員可以在HTML代碼中包含Javascript來制作動態(tài)網(wǎng)頁。
兼容性
兼容性是Javascript與HTML的主要關(guān)注問題之一。每個瀏覽器都支持HTML,它的標(biāo)簽可以在每個瀏覽器上毫無問題地呈現(xiàn),但是,Javascript并不總是與每個瀏覽器兼容。
例如,一些Javascript函數(shù)在Chrome或Firefox中運(yùn)行良好,但在Internet Explorer 中運(yùn)行不佳,這就是為什么一些網(wǎng)站提到兼容瀏覽器列表以確保在客戶端瀏覽器中正確查看網(wǎng)站。
客戶端和服務(wù)器端Web開發(fā)
HTML用于對網(wǎng)頁的客戶端進(jìn)行編碼,程序員不能使用它來編寫服務(wù)器端代碼。相比之下,Javascript可以在網(wǎng)站的客戶端和服務(wù)器端使用,服務(wù)器端 Javascript(SSJS)是核心javascript的擴(kuò)展版本。
例如,NodeJS是一個開源和跨平臺的Javascript運(yùn)行時環(huán)境,允許程序員使用 javascript編寫服務(wù)器端代碼。在NodeJS的幫助下,Javascript代碼可以在瀏覽器之外運(yùn)行。
JavaScript與HTML的比較
總結(jié)
我們已經(jīng)討論了有關(guān)Javascript與HTML的所有內(nèi)容。HTML用于創(chuàng)建網(wǎng)頁,它由瀏覽器解釋并以文本和圖像的形式顯示在屏幕上,而javascript主要用于使網(wǎng)頁具有交互性。Javascript是一種比HTML更先進(jìn)、更復(fù)雜的語言,這兩種語言一起使用來制作優(yōu)秀的網(wǎng)站。
JSS是CSS的創(chuàng)作工具,它允許你使用JavaScript以聲明,無沖突和可重用的方式描述樣式。它可以在瀏覽器,服務(wù)器端或在構(gòu)建時在Node中編譯。JSS與框架無關(guān)。它由多個包組成:核心部分,插件以及框架集成等。
https://github.com/cssinjs/jss stars:5.1k
如果你已經(jīng)對使用JSS感興趣,可以使用在線代碼編輯器。在CodeSandbox(一個非常實(shí)用的在線編輯器,可以用來學(xué)習(xí)各種編程技能)上嘗試Hello World示例。以下是三種不同框架下的用法(代碼圖片生成自carbon網(wǎng)站):
JSS生成實(shí)際的CSS,而不是內(nèi)聯(lián)樣式。它支持每個現(xiàn)有的CSS功能。CSS規(guī)則只創(chuàng)建一次,并使用其類名與元素重復(fù)使用,與內(nèi)聯(lián)樣式相反。此外,當(dāng)DOM元素更新時,將應(yīng)用先前創(chuàng)建的CSS規(guī)則。
JSS默認(rèn)生成唯一的類名。它允許避免典型的CSS問題,默認(rèn)情況下一切都是全局的。它完全消除了命名約定的需要。
使用JavaScript作為宿主語言使我們有機(jī)會以常規(guī)CSS無法實(shí)現(xiàn)的方式重用CSS規(guī)則。您可以利用JavaScript模塊,變量,函數(shù),數(shù)學(xué)運(yùn)算等。如果做得好,它仍然可以完全聲明。
CSS規(guī)則的明確使用允許您跟蹤消費(fèi)者并確定是否可以安全地刪除或修改它。
使用JavaScript函數(shù)和Observable可以在瀏覽器中動態(tài)生成樣式,使有機(jī)會訪問應(yīng)用程序狀態(tài),瀏覽器API或遠(yuǎn)程數(shù)據(jù)以進(jìn)行樣式設(shè)置。你不僅可以定義一次樣式,還可以在任何時間點(diǎn)以有效的方式更新樣式。
JSS可以高效地處理CSS更新,可以使用它創(chuàng)建復(fù)雜的動畫。使用函數(shù)值,Observables并將它們與CSS過渡相結(jié)合,可以為用戶控制的動畫提供最大的性能。對于預(yù)定義的動畫,使用@keyframes和transition更好,因?yàn)樗鼈儗⑼耆∠柚笿avaScript線程。
要優(yōu)化第一次繪制的時間,你可以使用服務(wù)器端渲染并提取關(guān)鍵CSS??梢詫SS的呈現(xiàn)與HTML的呈現(xiàn)結(jié)合起來,這樣就不會生成未使用的CSS。它將導(dǎo)致在服務(wù)器端呈現(xiàn)期間提取的最小關(guān)鍵CSS,并允許內(nèi)聯(lián)它。
JSS核心實(shí)現(xiàn)了基于插件的架構(gòu)。它允許您創(chuàng)建可以實(shí)現(xiàn)自定義語法或其他強(qiáng)大功能的自定義插件。JSS有許多官方插件,可以單獨(dú)安裝或使用默認(rèn)預(yù)設(shè)。社區(qū)插件的一個很好的例子是jss-rtl。
由于各種插件,JSS允許您使用現(xiàn)有的全局類名來嵌套,全局選擇器和組合。例如,允許您以比CSS更可讀的方式表達(dá)屬性。如果要直接從瀏覽器開發(fā)工具復(fù)制粘貼樣式,也可以使用模板字符串。jss-plugin-expandbox-shadow
另一個有用的插件示例是,它允許您完全隔離元素與全局級聯(lián)規(guī)則,并可能覆蓋不需要的屬性。在創(chuàng)建應(yīng)該在第三方文檔內(nèi)部呈現(xiàn)的窗口小部件時尤其有用。jss-plugin-isolate
React-JSS包提供了一些額外的功能:
CSS不需要額外的構(gòu)建管道配置。無論你選擇構(gòu)建JavaScript的工具是什么,它都可以與JSS一起使用。
yarn add jss
yarn add jss-preset-default //使用默認(rèn)設(shè)置
import jss from 'jss' import preset from 'jss-preset-default' jss.setup(preset()) // 創(chuàng)造你的style. const style={ myButton: { color: 'green' } } //編譯樣式,應(yīng)用插件。 const sheet=jss.createStyleSheet(style) //如果要在客戶端上呈現(xiàn),請將其插入DOM。 sheet.attach() //如果要渲染服務(wù)器端,請獲取CSS文本。 sheet.toString()
import jss from 'jss' import camelCase from 'jss-plugin-camel-case' import somePlugin from 'jss-some-plugin' //使用插件。 jss.use(camelCase(), somePlugin()) // Create your style. const style={ myButton: { color: 'green' } } //編譯樣式,應(yīng)用插件。 const sheet=jss.createStyleSheet(style) // 如果要在客戶端上呈現(xiàn),請將其插入DOM sheet.attach() // 如果要渲染服務(wù)器端,請獲取CSS文本。 sheet.toString()
<head> <title>JSS</title> <!-- 自定義插入點(diǎn) --> </head>
import jss from 'jss' jss.setup({insertionPoint: 'custom-insertion-point'})
<head> <title>JSS in body</title> </head> <body> <div id="insertion-point"> 這可能是你選擇的任何DOM節(jié)點(diǎn),可以作為插入點(diǎn)。 </div> </body
import jss from 'jss' jss.setup({ insertionPoint: document.getElementById('insertion-point') })
通過兩張圖片來體驗(yàn):
JSS的功能是十分強(qiáng)大的,不僅僅讓寫css的方式放到了JavaScript,這樣對更加喜愛編寫javascript的小伙伴來說是值得嘗試的,而且還支持服務(wù)器端渲染等更多高級的特性,前端技術(shù)百花齊放,但目前仍然不變的是掌握J(rèn)avaScript者得天下的時代!
*請認(rèn)真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。