1. 程式人生 > >前端零基礎入門(三):HTML,CSS,Javascript三者之間的關係

前端零基礎入門(三):HTML,CSS,Javascript三者之間的關係

每個人接觸前端的角度可能都不一樣
有些人是以前從事web相關行業的,比如後端,比如設計。從事這些行業的人因為工作需要,多多少少都會對前端有一定的瞭解,不一定是這個詞,但一定是這個職位
小白的話,可能更多的聽到的是h5,css3之類的名詞,其實無論從哪個角度接觸到前端,不可避免的要了解前端的三大語言 HTML CSS Javascript

今天咱們要說的就是這三大語言之一的HTML,翻譯成中文,叫做超文字標記語言,全稱是HyperText Markup Language

這一長串的英文單詞我們可能記不住,其實也不需要花過多的精力在這種聽起來很高大上的名詞上,第一是小白階段沒必要,第二是到了更高層次,接觸的時間長了,自然而然就記住了

直接來看這個中文名,叫超文字標記語言。把這個名詞拆分一下,分別是“超文字”,“標記”,“語言”,那麼html是一門語言這個毋庸置疑,也沒什麼可說的

再往前看,“標記”,其實這是html語言的一個特點,語言裡面所有的東西都叫做標記,用一個標記來包含一塊內容表示其作用,比如用<h1>標籤來表示頁面上的一個標題,用<p>標籤來表示一個文章段落等等

這裡說的標籤,就是標記,它的名字有很多,但是表示的都是同一個東西,從html語言角度,它叫做標記,我們平常也會稱之為標籤;從盒模型的角度,可以稱之為盒子;從標籤與標籤之間的關係來看,又可以稱之為元素;從渲染引擎的角度,還可以稱之為文件物件模型(Document Object Model —— DOM)等等…所以初學者可能會被各種各樣的名詞所幹擾,但是不用擔心,那只是可愛的程式設計師前輩跟你裝裝逼而已

再接著往前,“超文字”其實這裡從字面上就已經能夠理解了,說的是這個語言已經遠遠超出了文字的範疇,文字,但從字面上來理解,就是文字、符號。這稱之為文字。但是如今的網頁上,感覺更多的是圖片。那麼圖片就是一個超文字。再比如音樂,電影,或者一些其他的媒體。這都遠遠超出了文字的範疇,所以說是超文字

HTML建立之初是用來描述文件結構的,這裡是一個標題,這裡是文章段落,這裡需要加粗強調一下,或者用於描述一個表格,再或者用來承載一些功能,比如說a連結,比如說表單提交資料。到了今天,我們可以把HTML看做是一個房子的骨架,結構

在1994年全球資訊網聯盟(W3C)成立之初,因為沒有相關標準,外加上網站的風靡,HTML被迫出現了一下諸如<font>

之類的一些用來描述外觀的標籤,但這並不是HTML的本職工作,以至於今天我們能看到很多很多很多的標籤,但是我們並不會經常用到它們,也沒有必要全都瞭解。

也正是因為逐漸增多的網站提出的需求也越來越多,人們開始注重網站的外觀,這時候CSS也就應運而生了。說白了,CSS就是控制為HTML元素新增樣式從而使頁面更加漂亮的。CSS的全程 Cascading Style Sheets,中文名:層疊樣式表。我認為這個中文名翻譯得非常貼切,從字面上就能看出來CSS的特點,那就是層疊,或者叫堆疊。利用CSS的選擇器就可以為在元素身上堆疊很多很多的樣式,甚至可以重複新增,只不過是後者會覆蓋前者罷了。(以後再解釋什麼是後者什麼是前者)

與HTML相比,CSS支援更豐富的文件外觀,其表現程度也遠非HTML力所能及。CSS可以為任何元素的文字和背景設定顏色;允許在任何元素外圍建立邊框,同時能增大或減少元素外的空間;允許改變文字的大小寫、裝飾方式、間隔,甚至可以確定是否顯示文字,還允許完成許多其他的效果。如果說HTML是房子的骨架,那麼CSS就是房子的外觀——外牆是什麼顏色?家裡是什麼顏色?地板是什麼材質的?房子外圍有多大的草坪?這些都由CSS來決定!

那麼到此為止我們擁有了房子的骨架,有了房子的外觀,那麼按理來說一個房子就可以完工了,不需要別的東西了。但是別忘了,今天我們對房子的需求,如果裡面要住人的話,那麼空調得有吧,洗衣機要不要?水電煤少不了吧?那麼這些功能性質的工作就得交給Javascript了!

於是乎JS(Javascript)的作用也就呼之欲出了,就是用來做一些功能性的東西的。在08年以前,前端這個概念還不是特別清楚的時候,JS的作用幾乎也就用來寫點效果了,圖片輪播啦,點選一個按鈕,彈出來相應的內容啦之類的一些簡單的互動,隨著08年V8引擎的出現,以及09年第五版JS的出現,JS的能力得到了一個質的飛躍。此時JS開始處理頁面上的複雜互動了,隨之而來的大資料時代也讓JS發光發熱。再到現在,寫特效寫互動反而成了JS的副業,JS做得更多的是處理頁面的邏輯,前後端的資料互動,頁面效能等以前後端語言都不敢想象的事情。同時NodeJs的出現讓JS走出了瀏覽器的限制,甚至可以在服務端執行!以後前端會發展成什麼樣誰都無法預測,而我們能做的,只有加油學習了。

此文主要讓大家理解HTML,CSS和JS三者之間的關係

  • HTML可以看做是一個房子的骨架,結構
  • 如果說HTML是房子的骨架,那麼CSS就是房子的外觀
  • 那麼一些功能性質的工作就得交給Javascript了!

相關推薦

前端基礎入門HTMLCSSJavascript三者之間關係

每個人接觸前端的角度可能都不一樣 有些人是以前從事web相關行業的,比如後端,比如設計。從事這些行業的人因為工作需要,多多少少都會對前端有一定的瞭解,不一定是這個詞,但一定是這個職位 小白的話,可能更多的聽到的是h5,css3之類的名詞,其實無論從哪個角度接

前端基礎入門第一個HTML頁面

前面說到了html,css,js三者之間的關係 接下來我們就來看看html到底長什麼樣子。 隨便開啟一個編輯器,然後在檔案那裡點選新建html檔案,看到的程式碼大多如下: <!DOCTYPE html> <html lang="en"

Apache Flink 基礎入門基礎概念解析

Apache Flink 的定義、架構及原理     Apache Flink 是一個

Apache Flink 基礎入門編寫最簡單的helloWorld

實驗環境 JDK 1.8 IDE Intellij idea Flink 1.8.1 實驗內容 建立一個Flink簡

Bootstrap入門Less

樣式 ttr edi local 編輯 修改文件 方便 code b2c 很多時候我們需要定制Bootstrap的樣式,然後根制入門初步中,每次都定制網頁(http://v3.bootcss.com/customize/)生成我們需要的Css是一件很麻煩又不方便的事件。幸好

03-Linux基礎入門-系統的基礎優化[對於使用虛擬機學習的學習者]

技術分享 ifcfg-eth 特殊 ... selinux 排查 運行 版本 get 1、關閉SELinux功能①SELinux配置文件路徑 /etc/selinux/config ②查看SELinux狀態 getenforce ③關閉SELinux 方法一:常規方法→修

PHP基礎入門

pos public enc 靜態變量 類型 對象共享 cname 創建 不用 PHP的面向對象:聲明類: 訪問權限關鍵字 class 類名{成員屬性: 訪問權限關鍵字 $屬性名;成員方法: 訪問權限關鍵字 function 方法名(){}構造方法:function __c

性能測試入門性能測試工具

需求 pre tor 不足 廠商 ecdh 腳本編寫 ssi 3.1 這篇文章介紹下性能測試工具: 簡單模擬工具 有很多場景下,我們只是想做一個簡單的壓測,對於監測結果要求並不高,壓測的場景也比較簡單,不想安裝復雜的工具,這種情況下,推薦使用簡單的模擬工具進行就可以了。 a

Houdini技術體系 基礎管線 UE4以選擇區域的方式對地形做生成和更新 上篇

class 通過 例如 tex 總結 對比 RM span 裏的 背景 前一節裏,解決了Houdini地形無縫導入到UE4的流程問題。但這種方法也有它的局限性,在實際遊戲項目裏,LA和LD還是偏向在遊戲引擎編輯器裏工作,他們的一些設計也會影響到地形的信息,那麽就需要

Houdini技術體系 基礎管線 UE4 Landscape Component的多選支持 下篇

基本上 idt python obj als arr 合並 bsp c++ 背景 上篇中,我們介紹了如何修改Houdini Enigne來設置單個Landscape Compnent的Height和Layer的數據,但原生Houdini Engine並不支持多選Compon

JavaScript夯實基礎系列this

瀏覽器 系列 中一 對象屬性 轉化 繼續 存儲 www 能夠 ??在JavaScript中,函數的每次調用都會擁有一個執行上下文,通過this關鍵字指向該上下文。函數中的代碼在函數定義時不會執行,只有在函數被調用時才執行。函數調用的方式有四種:作為函數調用、作為方法調用、作

java程式設計師菜鳥進階十五linux基礎入門linux使用者和組管理

我們大家都知道,要登入linux作業系統,我們必須要有一個使用者名稱和密碼。每一個使用者都由一個惟一的身份來標識,這個標識叫做使用者ID.系統中的每一個使用者也至少需要屬於一個"使用者分組".同樣,使用者分組也是由一個惟一的身份來標識的,該標識叫做使用者分組ID(GID).每位使用者的許可

Python中Flask的基礎入門

如果我們想要在flask中用到資料庫,那麼我們需要配置。 下面我們有mysql為例來配置 首先你的電腦上要有一個mysql資料庫,然後才可以。 下面是我們配置的程式碼 from flask import Flask,render_template from flask_sqlal

linux基礎程序管理

程序 程序的定義:程序就是cpu未完成的工作 ps命令 ps a ##關於當前環境的所有程序 x| -A ##所有程序 f ##顯示程序從屬關係 e ##顯示程序呼叫環境工具的詳細資訊 l ##長列表顯示程序的

人工智慧入門機器學習問題的基本型別

1:concept learning:version space,decision tree等; 2:rule learning:If-then rules, association rules, genetic programming等; 3. instance-based learning(

JPA基礎知識相關介面/類

JPA相關介面/類 一、Persistence 作用:通過createEntityManagerFactory的靜態方法,獲取EntityManagerFactory(實體管理器工廠)例項。 帶有一個引數:以JPA配置檔案presistence.xml中持久

Linux基礎命令重定向、展開與引用——cat、sort、uniq、grep、wc、head、tail、tee

I/O重定向 通過這個工具,可以重定向命令的輸入輸出,命令的輸入來自檔案,而輸出也存到檔案。 也可以把多個命令連線起來組成一個強大的命令管道。 cat — 連線檔案 sort — 排序文字行 uniq — 報道或省略重複行 grep — 列印匹配行 wc — 列印

Unity Editor 基礎自定義視窗案例二

本文為本人學習上鍊接的筆記微有改動,請點選以上鍊接檢視原文,尊重樓主智慧財產權。 ----------------------------------------------------------------------------------------------

Spring boot入門SpringBoot整合結合AdminLTE(Freemarker)利用generate自動生成程式碼利用DataTable和PageHelper進行分頁顯示

  關於SpringBoot和PageHelper,前篇部落格已經介紹過Spring boot入門(二):Spring boot整合MySql,Mybatis和PageHelper外掛,前篇部落格大致講述了SpringBoot如何整合Mybatis和Pagehelper,但是沒有做出實際的範例,本篇部落格是連

Spring Boot 入門 自動化配置實現

自動化配置實現 我們在上章編寫入門案例的時候,我們使用的是Spring Mvc 作為我們的表現層框架,但是我們都知道我們要使用Spring Mvc 我們就需要在web.xml檔案中配置Spring Mvc 的前端控制器DispatcherServlet。但是我們