首頁  >  文章  >  web前端  >  暢談HTML+CSS+JS(詳細解說)

暢談HTML+CSS+JS(詳細解說)

亚连
亚连原創
2018-05-18 15:43:2611305瀏覽

以下是我自己總結的一些想法以及一些收穫,  由於個人學的淺,如果有說的不對或不準確的地方,還請大家批評指正。

前端開發三劍客HTML CSS JS之名是如雷貫耳,是前端入門的基礎之基礎,前端程式設計師們用這三個元件構成了數量眾多的網頁。然而在初學的時候,由於無法迅速了解全部知識點,所以在學習的時候往往會有盲人摸象的感覺——就是對於各個組件的功能和分工不甚了解,無法從整體上把握學習方向,因而較難構成完整的知識體系,這是比較頭痛的事。我這個人學習有個特點,我喜歡從底層知識學起,然後在這個基礎上一層層加上其他內容,最後構成一個完整的框架。這是我習慣的學習方式。

      開始的時候,我還是有點頭暈的,知識點一個接一個,互相之間也有交叉,前面與後面聯繫起來,後面又與前面聯繫起來,搞懂還是要費勁。但還是整個內容過完兩三次之後,整個框架就清晰多了。簡單來說,HTML CSS JS的分工體現了軟體分層的概念。大體的功能分配是:HTML負責描述內容,CSS負責描述元素的樣式,JS則負責實現網頁的動作。這樣說,其實還不夠清晰,新手是看不太懂的,我想我們可以從網頁的發展歷程來理解為什麼會有這三種劃分。

      早期的網頁是靜態網頁,網頁中的元素基本上都沒有動作,人們上網主要是瀏覽資訊,網頁的互動性要求也很低。我們可以看一下96年雅虎的網站(圖摘自網路),網頁上有圖片,超連結和搜尋框,大多都採用的預設樣式,這樣的網頁樣式與內容都混合在一起,如果要修改網頁的樣式,就需要挨個修改,這樣就會比較麻煩。那要怎麼解決這個問題呢?網頁開發的開拓者 將樣式從內容中抽離出來,將所有描述網頁樣式的語句合併成一個文件,這個文件叫層疊樣式表,簡稱CSS。如果我們要修改樣式的話就從這個檔案修改,透過一些選擇器,我們可以快速地更改某一個或某一類元素的樣式,從而提高效率。

       將樣式從網頁中抽離後,HTML語言只負責描述網頁內容,這是什麼意思呢?在HTML中,我們用元素標記頭部文件,用元素標記網頁名稱,用<body>元素標記網頁主體,用<table>元素標記表格等等,透過向這些元素中填寫內容,我們就寫出了一個個有特定樣式的節點,所有的這些HTML節點就構成了網頁內容。這些標記大多是有預設樣式的,如果我們對預設樣式不滿意,我們也可以在CSS檔案中修改。 </p> <p>       完成了內容與表示的分離後,我們要解釋網頁的動作了。靜態頁面有個問題是,網頁的內容在產生後就不會再改變了。而我們在瀏覽網頁的時候,需要進行交互,我們需要登陸微博來評論點贊轉發,我們需要在玩網頁遊戲的時候控制人物的動作,這部分功能都是由JavaScript(JS)承載的。 </p> <p>  JavaScript是一種輕量級的程式語言,它不像C/C /JAVA等對資料類型作出嚴格規定,也沒有指針,操作符重載等等內容。說起來這名字很有迷惑性,名字裡有Java,大家卻都說跟Java沒有關係,這著實讓人頭痛。這好比說拍部電影叫《我叫潘金蓮》,卻說自己跟潘金蓮沒有關係。 (笑)開個玩笑。不過相較起來,JavaScript與Java的語法有許多相似之處,但JavaScript相比Java簡單許多。 JS不像Java是平台型的語言,有各種各樣的元件、框架,JS是與web緊密連結起來的。 JS透過插入到HTML中執行的,透過JavaScript我們可以實現寫入HTML輸出,對事件作出反應 ,改變HTML內容、圖像、樣式,驗證輸入等功能。基本上網頁上所有的互動都是透過JS函數實現的。這部分也是三劍客中最難的部分,我現在掌握得也是馬馬虎虎。後面的文章會針對具體的知識點再展開說。 </p> <p>       JS檔案和CSS檔案最終是要套用在HTML中的。在HTML中,我們可以透過<script>元素來插入JS程式碼,<script>元素可以放在<head>或<body>中。或在外部編寫JS文件,在HTML中引用。而CSS程式碼則稍有區別,我們可以透過<style>元素插入CSS程式碼,<style>元素必須放在<head>元素中。或在外部編寫CSS文件,在HTML中引用。也可以直接在某元素中規定CSS樣式,這種叫內聯樣式。 </p> <p>       透過最後這部分內容,我們可以試著總結這三個部分的關係了。 HTML好比是房子的地基,CSS和JS是,這三個部分一起組成漂亮的房子。我們不能把他們分開說,某某部分是個房子,只有三個一起才能組成一個漂亮的房子。 </p> <p>上面是我整理給大家的,希望今後對大家有幫助。 </p> <p>相關文章:</p> <p><a href="http://www.php.cn/js-tutorial-391103.html" target="_blank">p5.js 畢達哥拉斯樹的實作碼_javascript技巧</a><br></p> <p><a href="http://www.php.cn/js-tutorial-391064.html" target="_blank">基於js中的儲存鍵值對以及注意事項介紹_javascript技巧</a><br></p> <p><a href="http://www.php.cn/js-tutorial-391076.html" target="_blank">javascript深入理解js閉包</a><br></p><p>以上是暢談HTML+CSS+JS(詳細解說)的詳細內容。更多資訊請關注PHP中文網其他相關文章!</p></div><div class="nphpQianMsg"><div class="clear"></div></div><div class="nphpQianSheng"><span>陳述:</span><div>本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn</div></div></div><div class="nphpSytBox"><span>上一篇:<a class="dBlack" title="關於如何優化你的JS程式碼(圖文教學)" href="http://m.php.cn/zh-tw/faq/396812.html">關於如何優化你的JS程式碼(圖文教學)</a></span><span>下一篇:<a class="dBlack" title="關於如何優化你的JS程式碼(圖文教學)" href="http://m.php.cn/zh-tw/faq/396816.html">關於如何優化你的JS程式碼(圖文教學)</a></span></div><div class="nphpSytBox2"><div class="nphpZbktTitle"><h2>相關文章</h2><em><a href="http://m.php.cn/zh-tw/article.html" class="bBlack"><i>看更多</i><b></b></a></em><div class="clear"></div></div><ins class="adsbygoogle" style="display:block" data-ad-format="fluid" data-ad-layout-key="-6t+ed+2i-1n-4w" data-ad-client="ca-pub-5902227090019525" data-ad-slot="8966999616"></ins><script> (adsbygoogle = window.adsbygoogle || []).push({}); </script><ul class="nphpXgwzList"><li><b></b><a href="http://m.php.cn/zh-tw/faq/1609.html" title="深入淺析Bootstrap列表組元件" class="aBlack">深入淺析Bootstrap列表組元件</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/zh-tw/faq/1640.html" title="JavaScript函數柯里化詳解" class="aBlack">JavaScript函數柯里化詳解</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/zh-tw/faq/1949.html" title="JS密碼產生與強度偵測完整實例(附demo源碼下載)" class="aBlack">JS密碼產生與強度偵測完整實例(附demo源碼下載)</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/zh-tw/faq/2248.html" title="Angularjs整合微信UI(weui)" class="aBlack">Angularjs整合微信UI(weui)</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/zh-tw/faq/2351.html" title="JavaScript快速切換繁體中文和簡體中文的方法及網站支援簡繁體切換的絕招_javascript技巧" class="aBlack">JavaScript快速切換繁體中文和簡體中文的方法及網站支援簡繁體切換的絕招_javascript技巧</a><div class="clear"></div></li></ul></div></div><ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-5902227090019525" data-ad-slot="5027754603"></ins><script> (adsbygoogle = window.adsbygoogle || []).push({}); </script><div class="nphpFoot"><div class="nphpFootBg"><ul class="nphpFootMenu"><li><a href="http://m.php.cn/zh-tw/"><b class="icon1"></b><p>首頁</p></a></li><li><a href="http://m.php.cn/zh-tw/course.html"><b class="icon2"></b><p>課程</p></a></li><li><a href="http://m.php.cn/zh-tw/wenda.html"><b class="icon4"></b><p>問答</p></a></li><li><a href="http://m.php.cn/zh-tw/login"><b class="icon5"></b><p>我的</p></a></li><div class="clear"></div></ul></div></div><div class="nphpYouBox" style="display: none;"><div class="nphpYouBg"><div class="nphpYouTitle"><span onclick="$('.nphpYouBox').hide()"></span><a href="http://m.php.cn/zh-tw/"></a><div class="clear"></div></div><ul class="nphpYouList"><li><a href="http://m.php.cn/zh-tw/"><b class="icon1"></b><span>首頁</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/zh-tw/course.html"><b class="icon2"></b><span>課程</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/zh-tw/article.html"><b class="icon3"></b><span>文章</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/zh-tw/wenda.html"><b class="icon4"></b><span>問答</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/zh-tw/dic.html"><b class="icon6"></b><span>詞典</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/zh-tw/course/type/99.html"><b class="icon7"></b><span>手册</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/zh-tw/xiazai/"><b class="icon8"></b><span>下載</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/zh-tw/faq/zt" title="專題"><b class="icon12"></b><span>專題</span><div class="clear"></div></a></li><div class="clear"></div></ul></div></div><div class="nphpDing" style="display: none;"><div class="nphpDinglogo"><a href="http://m.php.cn/zh-tw/"></a></div><div class="nphpNavIn1"><div class="swiper-container nphpNavSwiper1"><div class="swiper-wrapper"><div class="swiper-slide"><a href="http://m.php.cn/zh-tw/" >首頁</a></div><div class="swiper-slide"><a href="http://m.php.cn/zh-tw/article.html" class="hover">文章</a></div><div class="swiper-slide"><a href="http://m.php.cn/zh-tw/wenda.html" >問答</a></div><div class="swiper-slide"><a href="http://m.php.cn/zh-tw/course.html" >課程</a></div><div class="swiper-slide"><a href="http://m.php.cn/zh-tw/faq/zt" >專題</a></div><div class="swiper-slide"><a href="http://m.php.cn/zh-tw/xiazai" >下載</a></div><div class="swiper-slide"><a href="http://m.php.cn/zh-tw/game" >遊戲</a></div><div class="swiper-slide"><a href="http://m.php.cn/zh-tw/dic.html" >詞典</a></div><div class="clear"></div></div></div><div class="langadivs" ><a href="javascript:;" class="bg4 bglanguage"></a><div class="langadiv" ><a onclick="javascript:setlang('zh-cn');" class="language course-right-orders chooselan " href="javascript:;"><span>简体中文</span><span>(ZH-CN)</span></a><a onclick="javascript:setlang('en');" class="language course-right-orders chooselan " href="javascript:;"><span>English</span><span>(EN)</span></a><a onclick="javascript:;" class="language course-right-orders chooselan chooselanguage" href="javascript:;"><span>繁体中文</span><span>(ZH-TW)</span></a><a onclick="javascript:setlang('ja');" class="language course-right-orders chooselan " href="javascript:;"><span>日本語</span><span>(JA)</span></a><a onclick="javascript:setlang('ko');" class="language course-right-orders chooselan " href="javascript:;"><span>한국어</span><span>(KO)</span></a><a onclick="javascript:setlang('ms');" class="language course-right-orders chooselan " href="javascript:;"><span>Melayu</span><span>(MS)</span></a><a onclick="javascript:setlang('fr');" class="language course-right-orders chooselan " href="javascript:;"><span>Français</span><span>(FR)</span></a><a onclick="javascript:setlang('de');" class="language course-right-orders chooselan " href="javascript:;"><span>Deutsch</span><span>(DE)</span></a></div></div><script> var swiper = new Swiper('.nphpNavSwiper1', { slidesPerView : 'auto', observer: true,//修改swiper自己或子元素时,自动初始化swiper observeParents: true,//修改swiper的父元素时,自动初始化swiper }); </script></div></div><!--顶部导航 end--><script>isLogin = 0;</script><script type="text/javascript" src="/static/layui/layui.js"></script><script type="text/javascript" src="/static/js/global.js?4.9.47"></script></div><script src="https://vdse.bdstatic.com//search-video.v1.min.js"></script><link rel='stylesheet' id='_main-css' href='/static/css/viewer.min.css' type='text/css' media='all'/><script type='text/javascript' src='/static/js/viewer.min.js?1'></script><script type='text/javascript' src='/static/js/jquery-viewer.min.js'></script><script>jQuery.fn.wait = function (func, times, interval) { var _times = times || -1, //100次 _interval = interval || 20, //20毫秒每次 _self = this, _selector = this.selector, //选择器 _iIntervalID; //定时器id if( this.length ){ //如果已经获取到了,就直接执行函数 func && func.call(this); } else { _iIntervalID = setInterval(function() { if(!_times) { //是0就退出 clearInterval(_iIntervalID); } _times <= 0 || _times--; //如果是正数就 -- _self = $(_selector); //再次选择 if( _self.length ) { //判断是否取到 func && func.call(_self); clearInterval(_iIntervalID); } }, _interval); } return this; } $("table.syntaxhighlighter").wait(function() { $('table.syntaxhighlighter').append("<p class='cnblogs_code_footer'><span class='cnblogs_code_footer_icon'></span></p>"); }); $(document).on("click", ".cnblogs_code_footer",function(){ $(this).parents('table.syntaxhighlighter').css('display','inline-table');$(this).hide(); }); $('.nphpQianCont').viewer({navbar:true,title:false,toolbar:false,movable:false,viewed:function(){$('img').click(function(){$('.viewer-close').trigger('click');});}}); </script></body></html>