-
1 # ian有話說
-
2 # 碼農劉
首先,你說的這兩門技術專注的領域不同,css控制的是樣式,javascript控制著驅動。做出一個漂亮的介面,你用css是足夠了。但是你要是想做出一個友好的互動,你css是實現不了的,只能依靠javascript。很簡單的ajax跟後臺互動,css就實現不了。javascript這麼成熟的技術擺在這。肯定有他存在的道理,如果你真能用css的語法來完成javascript,那估計你這技術又會掀起一波小高潮了。
-
3 # 小伊評科技
作為一個半資深的前端工程師,你這個問題問的非常的沒有道理,這個問題就好比是在問:男人那麼能幹,為什麼不能取代女人呢?因為CSS和Javascript完全是兩個不同的概念,其工作職責也是不同的,CSS控制的樣式表,是偏向靜態表現得,他的核心功能最強大的功能其實就是定義樣式,雖然目前CSS3加入了很多動畫效果,比如配合transtion/transform以及animation可以製作很多簡單甚至相當複雜的動畫效果,但是說白了也只是靜態展示,想要做成動態的人機互動效果,還是需要Javascript所提供的各種互動事件來配合完成,CSS+HTML所能提供得互動方式太過於單薄。
而且Javascript是一個實打實的程式語言,他的作用可不僅限於操作DOM元素這麼簡單,他還是溝通前臺和後臺得一個重要溝通工具,沒有JS你的頁面就只是一個靜態頁面罷了。筆者舉一個最簡單的例子,如果你需要頁面中某一個方面要引用後臺的資料,那麼用CSS怎麼實現?根本無法實現,所以這個時候就需要用到AJAX技術了,而一旦用到AJAX技術,就必須要使用到Javascript。
只會html+CSS的前端人員充其量只能算是一個網頁設計師罷了HTML+CSS所能做出來的只不過是靜態的頁面,並不具備可互動性,也基本上無法滿足商用的要求。所以對於一個前端工程師來說JS才是重中之重。目前主流的三大框架React、Vue、Angular也都是基於Javascript深度開發的產物。只會HTML+CSS的前端工程師目前已經基本被淘汰了,或者說沒有特別的用武之地。因為大部分UI設計師對於Html+CSS的掌握都非常優秀,配置靜態頁面不成問題而如果想要成為更進一步的前端工程師,甚至前端高階工程師,Javascript是必須要熟練掌握的,在掌握了Javascript之後再去學習三大框架,學習AJAX,學習
Node.Js
等才會更加的遊刃有餘。end 希望可以幫到你 -
4 # 使用者3485422457492
css是疊慰樣式表,是對多個元件屬性集中描述,減輕對每個元件描述工作和減少原始檔大小。JavaScript程式模擬指令碼,是模擬程式指令執行
-
5 # 自學JAVA
其實css和JavaScript完全是做兩個事情的,他們兩個之間其實是在各施其職,並且協調配合一起工作的。那麼我們透過理解他們的兩個的作用來理解理解就知道了為什麼不直接使用css做控制,而是用JavaScript。
用來給html化裝的css和我上面的標題說的一樣,css(Cascading Style Sheets)又名級聯樣式表,他的作用我們從下面三個方面來理解它就能最基本的理解它的作用了:
為什麼要使用css
我們瞭解html的小夥伴應該知道,html是給網頁搭建一個基礎的結構框架,讓網頁有一個最基本的整體結構,有了結構才能做下面的其它互動操作。這個就像起房子搭建了房子的整體結構裡面還沒有內容。那麼這個時候我們需要一個給這個整體結構化妝的語言,那就是css了。css是什麼
css最簡單的理解就是給html這個整體結構新增樣式效果的。這個就好比如你買的毛坯房需要裝修一樣。css的作用就是如此。基本的語法結構:
選擇器{
設定的樣式屬性:值;
}
css的使用
css的樣式屬性,答主根據自己的理解大體把他們分為如下幾類:
基本的樣式設定屬性:比如字型樣式,背景等等;
盒子模型:比如內邊距,外邊距,邊框等等;
佈局的定位屬性:比如浮動,相對定位,絕對定位等等;
動畫屬性:比如2D變形加過渡,動畫等等;
html和css配合一起使用完成基礎的靜態頁面使前端html頁面動起來的javaScriptJavaScript它的最主要的作用就是給網頁新增各種動態功能的。為何這樣說來看看它的構成就知道了:
ECMAScript:包含了JavaScript的基本語法結構和基礎的要操作的物件
DOM:又叫文件物件模型。它裡面就是存放了所有操作html結構的方法和介面
BOM:又叫瀏覽器物件模型。他裡面存放的是操作瀏覽器視窗的方法和介面
javaScript的組成部分css和JavaScript的區別透過上面對兩個技術簡單的描述,可以看到他們兩個的作用完全是不一樣的;所以題主所說的使用css作為控制程式碼在它的作用上是不成立的。還有JavaScript其實沒有那麼難懂,其實它的特點弱型別就決定了它的使用其實是很簡單,並且很容易理解的。 JavaScript的作用就是為了是頁面互動起來。
各盡其責,相互之間無法被替代總結:透過那麼多的解釋性的內容,可以理解,css就是用來做頁面的樣式以及佈局作用的。但是要使頁面間能起到動態的互動效果是需要JavaScript來實現的。至於css來實現是很難做到的,畢竟做一類事情是需要一個專門的解決方案,這樣才能更加高效。
-
6 # RealAlexander
html三劍客?
html就像一個人的血肉骨骼,是最本質的東西。
css就像人穿的衣服,可以將人打扮的漂亮好看。
javascript則是人的行為,動作和互動主要靠他。
-
7 # 前端達人
感謝邀約,作為開發者能提出這樣的問題,讓我感覺挺意外的。常言道,術業有專攻,每個人都有自己擅長的領域,如果樣樣都能做,簡直是神了。計算機程式也是如此,每個語言都有自己的特點和應用領域,如果想用一個語言解決所有領域的問題是不現實也是不可能的。問題中你提及的CSS,連一門程式語言都算不上,更不用說讓其替代指令碼語言了,以下是我針對這個問題的解釋幫助你理解什麼是CSS,僅供參考:
首先我們來了解下什麼是CSS在介紹之前,我們來先聊聊前端這個崗位,隨著大多數網際網路公司採用前後端分離的開發方式開發產品,前端的地位也隨之提升,從以前不被重視的“切圖仔”變成了高大上的“前端工程師”。前端是個一個新興的崗位,掌握前端,你必須從最基礎的核心內容學起,那就是:Html、CSS、JavaScipt。三者缺一不可,只有掌握基礎的內容,你才能在前端的路上走的更遠。
那什麼是CSS呢?CSS對應的英文全稱是:Cascading Style Sheets。直譯過來就是層疊樣式表。從翻譯我們看出,只是層疊樣式表,和程式語言沒太大的關係。那到底什麼是層疊樣式表呢,我們來看看W3C官網是怎麼解釋的:Cascading Style Sheets (CSS) is a simple mechanism for adding style (e.g., fonts, colors, spacing) to Web documents. 其翻譯過來,大概就是:層疊樣式表是一種向 WEB 文件裡新增樣式(比如字型、顏色、間距)的方式。說白了就是,如果WEB是一個人的話,CSS就是一個化妝師,其工作就是給客戶化妝,讓使用者漂漂亮亮的。
最後,從單詞的角度,逐個來分析其代表含義:
Style:主要用來定義元素的外觀風格,比如各種html標籤樣式,你可以想想成每個人的穿衣風格。
Sheets:其要表達的意思,CSS也可以獨立成檔案,與Html文件分開,方便分工、單獨進行編寫以及檔案管理。
Cascading:樣式多了就避免不了衝突,因此需要相關的規則,可以根據規則的優先順序來解決衝突,如行業樣式優先順序會覆蓋其它所有樣式的規則。
接下來我們來看看 Html、CSS、JavaScipt 這三者的區別理解了CSS,我們在聊聊 Html、CSS、JavaScipt 這三者到底有什麼區別呢,對於初學者學習尤其重要。就拿建房子做比較吧,HTML就好比毛坯房,剛建好的房子裡空蕩蕩的啥都沒有,就是把格局搭建好了,有客廳、臥室、書房、衛生間、涼臺等,啥都沒有的毛坯房你願意去住嗎?CSS就好比對毛坯房進行裝修和擺設,比如把牆面刷成什麼顏色,選擇什麼樣的傢俱,傢俱怎麼擺放,鋪什麼樣的底板等等。JavaScript是什麼呢?就是讓你的家變的智慧化更加有趣,比如指紋開門,在屋裡喊一嗓子,燈開了等等,說白了,你能隨意給家裡的智慧產品下達命令。
-
8 # 程式設計師小陳
首先css和javascript不是一回事,css就好比一個人穿的衣服,而javascript就好像一個人的技能,你這就好像只要長得帥就行了,為啥人要會走路?要會開車?要會掙錢?
-
9 # 紙飛機技術拆解局
哈哈,沒事亂刷,卻刷到了這樣的一個問題。真的免不了要安利下我自己發在IBM開發者上的文章了:《純 CSS 井字棋:並不神秘的 CSS AI 程式設計之旅》,百度下就能搜到了,呵呵。
其實,這裡有兩點是要澄清的,第一,JavaScript並不艱澀難懂。第二,CSS當然可以用來作為控制程式碼,要不然,我那個只使用CSS,不使用任何JavaScript的實現的井字棋,就根本無法實現了。
這裡面的核心在於:
第一:藉助於<input type="checkbox" />和<input type="radio" />的不同狀態,實際上,可以實現二進位制的儲存,同時,藉助於:checked偽類,可以實現讀取
第二:藉助於不同的CSS類組合方式,比如像A, B {}、A>B {} 、:not(A) {}、:not(A):not(B) {}這樣一些,就可以實現邏輯上的OR、AND、NOT、NOR等。
這兩樣都齊備了,實際上,程式設計的基礎就有了。
-
10 # 冬河草
這問題太清奇了,不過我喜歡。
話說Web技術,從HTTP到前端三大件,HTML+CSS+JavaScript,都是計算機技術的恥辱。要是知道它們現在這麼重要,當初就不會設計成這個樣子。
Web這一套東西的發明人是個物理學家,當時只是為了專業同行之間交流,於是做了一套簡單的帶連結的文件格式,這就是最初的HTML。我的第一本HTML書非常薄,當時標籤裡都沒有DIV。沒想到這個東西一下子就流行了,剎不住車,就只能沿著相容路線往下走,後面一直到HTML5才基本穩定下來。但是回頭從技術角度看,這是最浪費頻寬,最囉嗦的一種資料傳輸方法。如果借鑑影片那種有效率的協議,流量可以節省至少10倍。
CSS的出場也是救急的,當時標準的網頁難看,做瀏覽器的就加上了這種修飾功能,本來也就是改個字型和顏色之類的小花樣,結果是市場倒逼,瀏覽器大戰對新花樣的需求越來越大,後來就出現各種相容性問題,再出現解決這些問題的庫,最後因為需要更多的動態效果,sass,scss……這些把簡單程式設計技術也摻和進去的技術也出來了。可是呢,從專業角度,這些玩意都是垃圾。CSS只需要一個flexbox搞定佈局,其他用JS也都可以做,但是JS是後來者,並且CSS委員會還是要繼續幹活的,現在他們還在準備把CSS弄成不規則形狀,並且朝著二維遊戲引擎的方向去了。果然有了經費拉都拉不住,不管誰的飯都想往自己碗裡裝。話說回來,都手機時代了,用不著那麼花俏的CSS了,學太多也是浪費。而且真要花俏,是無法和JS這種完備的程式語言相比的。
再說一下JS,這個東西當時也是救急用的。其核心就是一個狀態機,而且核心裡面只有一個物件,所有動作都是往這個物件上加物件加屬性,屬性也是物件。表面看這是個語言,實際最初設計者這個懶偷的很專業,以至於這個語言啥都能幹但是簡陋的一匹,直到今天還在打補丁,並且由於理念不一分裂成了好幾個陣營,JS實際已經是個統稱而已了。同樣,從專業角度,這個語言有天生的毛病。你隨便宣告一個物件,什麼都沒開始幹,那個物件的屬性就一大堆了,就算V8那麼牛,Nodejs和dart那麼努力,JS永遠不會成為有效率的系統級語言。說起來有意思,別的語言可以編譯成WASM使用V8執行,JS由於自身特點卻做不到,成功在自己的虛擬機器上被Rust之流外來語言擊敗。這就是當初的原罪。
當然了,我批評這三大件完全是在技術實現角度,商業價值另說。所以你學了能賺錢和我也不矛盾。
-
11 # 重慶新華電腦學校123
CSS是層疊樣式表,用來對網頁進行美化。而JavaScript是指令碼語言用來製作動態網頁,兩者的定位就不一樣功能差距也是天差地別。
回覆列表
1. 不用js,也得用到某一種程式語言,js跟它們比不見得難
2. 如果真的用css控制頁面互動,那css才真的是艱澀難懂了,因為它要做的事情太多了