SlideShare a Scribd company logo
入⾨門網⾴頁教學|使⽤用 Firebase|講師: 古健樺
(ノ>ω<)ノ
2018/07/212
# # # #Unity
互動設計
主要使⽤用 Unity ,有開
發過展場投影、導覽介
⾯面、互動遊戲等
網⾴頁開發 程式教育
前端學兩兩年年了了喔!後端
也有⼀一點涉略略,框架部
分使⽤用 Vue.js 以及
Node.js
程式家教經驗三年年,兒
童程式教育講師經驗兩兩
年年
(ノ>ω<)ノ
2018/07/213
「你必須很努⼒力力,才能看起來來毫不費⼒力力。」
(ノ>ω<)ノ
2018/07/21
Works
4
http://skyshabu.tiantong.com.tw/
http://nthuartscenter.staging.z72.io/#/
https://globalchild.com.tw/
(ノ>ω<)ノ
2018/07/21
Lv. 1
5
網⾴頁解惑|HTML|CSS
(ノ>ω<)ノ
2018/07/21
安裝 VS Code

下載連結: https://code.visualstudio.com/
安裝 Chrome
完成 Flex box Froggy 24個關卡

連結: http://flexboxfroggy.com/
確保你電腦有⾜足夠三⼩小時多的電⼒力力以及連接上網路路
6
(ノ>ω<)ノ
2018/07/21
活動:來來了了解⼀一下你所熟悉的陌⽣生⼈人
7
1 打開https://www.facebook.com/ 



打開你的⼀一位好朋友的聊天視窗



滑鼠右鍵選擇檢查
2
3
(ノ>ω<)ノ
2018/07/218
4
4 點上⽅方 處,將內⽂文修改成隨意⽂文字
5 觀察對話框
4
(ノ>ω<)ノ
2018/07/219
(ノ>ω<)ノ
2018/07/21
伺服器
10
電腦 ⼿手機
HTMLHTML
CopyCopy
(ノ>ω<)ノ
2018/07/2111
電腦
1. 顯⽰示貓圖片
2. 寫出Swag
3. …
瀏覽器
Swag
HTML
(ノ>ω<)ノ
2018/07/2112
(ノ>ω<)ノ
2018/07/21
1. Img 裡⾯面會包著圖片連結
2. Span 裡⾯面會包著⽂文字
3. ⼀一組符號為 < > </ >
13
(ノ>ω<)ノ
2018/07/2114
<cat> </cat>
(ノ>ω<)ノ
2018/07/2115
<cat> </cat>
就說是貓了了
開始標籤 (tag) 結束標籤 (tag)
(ノ>ω<)ノ
2018/07/2116
<短腿><電臀> 柯基 </電臀> </短腿>
(ノ>ω<)ノ
2018/07/21
原來來,HTML 是⼀一種標記式的語⾔言,⽤用來來告訴瀏覽器,他
該顯⽰示什什麼內容在畫⾯面上。
17
HTML
(ノ>ω<)ノ
2018/07/2118
VS Code
(ノ>ω<)ノ
2018/07/2119
1. 新增檔案 2. 儲存成 index.html
3. 輸入 html 選 html:5 4. 未知符號出現
(ノ>ω<)ノ
2018/07/21
HTML
20
HEAD
BODY
告訴⼤大家我是
HTML 檔案
放置個⼈人資訊
放置主要內容
(ノ>ω<)ノ
2018/07/21
被包住的⼈人要往後縮四格 (按⼀一下 Tab 剛剛好),若若包得越
深,你就要退越後⾯面。
21
<短腿>
<電臀>
柯基
</電臀>
</短腿>
(ノ>ω<)ノ
2018/07/21
網⾴頁的思考⽅方式就是⼀一層⼀一層包起來來,這很重要,要放在
⼼心中。
22
<短腿>
<電臀>
柯基
</電臀>
</短腿>
(ノ>ω<)ノ
2018/07/21
<h1> </h1> ⼀一級標題
<hr> ⽔水平線
<p> </p> ⽂文字段落落
<iframe src=“ 網址 ”> </iframe> 嵌入網⾴頁
<img src=“ 圖片網址 ” > 圖片
<a href=“ 放入網址網址 ” > 連結⽂文字 </a> 連結
23
(ノ>ω<)ノ
2018/07/21
關鍵字: W3C School HTML Tags
連結: https://www.w3schools.com/tags/tag_iframe.asp
W3C school
24
(ノ>ω<)ノ
2018/07/2125
<科基 name=“ 短短 ”> </柯基>
(attribute)
attribute,為標籤的屬性,可以更更詳細的定義此標籤的意義
(ノ>ω<)ノ
2018/07/21
<div> </div> 



區塊元素

不管內容物,我就是跟我的
上⼀一層⼀一樣寬。
26
<span> </span> 



⾏行行內元素

只跟內容物⼀一樣寬,不多不
少。
內容
內容
內容 內容 內容
內容
(ノ>ω<)ノ
2018/07/2127
<健樺 class=“老師 男⽣生 戴眼鏡”> </健樺>
class, id
class:代表種類,種類可以重複

id:如同你的⾝身分證字號⼀一樣,(道德上來來說) 不能重複
<雞丁 class=“男⽣生 帥”> </雞丁>
<健樺 id=“學⽣生A”> </健樺>
<雞丁 id=“學⽣生B”> </雞丁>
(ノ>ω<)ノ
2018/07/21
CSS 檔案負責告訴瀏覽器,要讓標籤顯⽰示哪種樣式 (Style)
HTML
28
CSS
(ノ>ω<)ノ
2018/07/21
CSS
29
寫在標籤內
<科基 style=“ CSS內容 ”> </柯基>
(ノ>ω<)ノ
2018/07/21
CSS
30
寫在Head 與 

Body之間
HEAD
BODY
CSS
(ノ>ω<)ノ
2018/07/21
CSS
31
獨立檔案
CSSHTML
(ノ>ω<)ノ
2018/07/21
CSS 最重要的觀念念就是選擇,上⾯面是 選擇器 所需使⽤用的
符號,這樣才可以選取 HTML 的元素 (ex. <p>狗狗</p>)
來來進⾏行行樣式設定。
32
class . id # tag tag
(ノ>ω<)ノ
2018/07/21
CSS 的構成分為兩兩部分, 選擇器 以及 樣式設定,然⽽而選擇
器就是要告訴瀏覽器,CSS中所設定的樣式數值,要設定給
哪⼀一個元素 (element)。
33
.dog {
color: red;
}
Class 選擇器
冒號 分號
設定值要設定之屬性
(ノ>ω<)ノ
2018/07/21
可以上個廁所,也可以到這邊探索⼀一下CSS的奧秘
34
探索連結: https://www.w3schools.com/css/default.asp
(ノ>ω<)ノ
2018/07/21
color: red; 直接指定顏⾊色

color: #FF0000; 使⽤用⼗十六進位⾊色碼指定

color: rgba(255, 0, 0, 0); 使⽤用⼗十進位⾊色碼指定

font-size: 10px; 字體⼤大⼩小

font-weight: 300; 字體粗細
text-align: center; 對⿑齊⽅方式
35
(ノ>ω<)ノ
2018/07/21
<div class=“box”> </div>
.box {

width: 100px; 寬度

height: 100px; ⾼高度

background-color: red; 背景顏⾊色

border: solid 3px #324373; 邊框設定

border-radius: 50px; 邊框圓⾓角

}
36
執⾏行行結果
(ノ>ω<)ノ
2018/07/21
請試著愛上他,現在不愛沒關係,⽇日久⽣生情。

網⾴頁中請愛⽤用矩形來來思考各種東⻄西。
37
(ノ>ω<)ノ
2018/07/2138
聊天室切版|Jquery
Lv. 2
(ノ>ω<)ノ
2018/07/21
接下來來會有⼤大量量的CSS,然⽽而CSS博⼤大精深,所以請
善⽤用我們提供的快速CSS包,當你跟不上時就⾺馬上貼上,
⾺馬上補上速度以及經驗的缺⼝口!
39
(ノ>ω<)ノ
2018/07/2140
收到設計圖 根據網站架構
製作⾴頁⾯面
切出版型 串串接資料
早安
我的 臉
1 2 3 4
(ノ>ω<)ノ
2018/07/21
輸入名字後,選擇頭像即可開始聊天,所以我們⾴頁⾯面只有
兩兩個,⼀一個是登入⾴頁⾯面,另外⼀一個是聊天主畫⾯面,點選登
出後可以回到登入⾴頁。
41
(ノ>ω<)ノ
2018/07/21
jQuery 是 JavaScript 的框架,簡單來來說就是讓你寫 JS 更更
輕鬆愉快的⼯工具啦!
jQuery
42
(ノ>ω<)ノ
2018/07/21
JS 檔案負責控制整個網⾴頁,可以進⾏行行點擊、彈出視窗、修
改HTML內容等。
HTML
43
JS
喔喔喔喔喔喔!!
喔喔喔喔喔喔!!
(ノ>ω<)ノ
2018/07/21
jQuery in CDN,把下⽅方整串串貼到 <head> </head> 之中

<script

  src="https://code.jquery.com/jquery-3.3.1.min.js"

  integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="

  crossorigin=“anonymous"></script>

CDN 就像是有⼈人把檔案放在雲端,你連線過去下載來來使⽤用
Head jQuery
44
(ノ>ω<)ノ
2018/07/21
JS
45
但是我們依然採取分
離檔案的⽅方式
JSHTML
(ノ>ω<)ノ
2018/07/21
document 代表了了你的 html 檔案,意思是說當 html 載入
完成時,才會執⾏行行你的程式碼,如果還沒找入完成,你就
沒辦法控制你想要的元素了了!
46
$(document).ready(function() {
//你的程式碼
});
jQuery
(ノ>ω<)ノ
2018/07/2147
登入 登出
(ノ>ω<)ノ
2018/07/21
此次實作的⾴頁⾯面切換是將
1. 還沒進入的⾴頁⾯面隱藏

2. 所在的⾴頁⾯面顯⽰示



不過⼀一般來來說會將不同⾴頁
⾯面分成不同 html 檔案,再
使⽤用 <a> 標籤進⾏行行跳轉,
但是今⽇日不討論此⽅方法。
48
登入
登出
(ノ>ω<)ノ
2018/07/21
$(“ .start ”).on(“click”, function(){



//click 事件發⽣生時,我們要做的事情



});
49
我們對 class 為 start 的元素進⾏行行監聽,當被按下時,就會
執⾏行行我們寫好的功能。
(ノ>ω<)ノ
2018/07/21
$(“ .start ”).on(“click”, function(){



$(“.login”).hide();



$(“.chatroom”).fadeIn();



});
50
登入
登出
(ノ>ω<)ノ
2018/07/21
$(“ .leave ”).on(“click”, function(){



$(“.login”).fadeIn();



$(“.chatroom”).hide();



});
51
登入
登出
(ノ>ω<)ノ
2018/07/21
網⾴頁中所有的東⻄西都是⼀一塊⼀一塊的,也就是矩形,切版的
意思是指根據設計圖把畫⾯面分割出來來,並且完成HTML以
及CSS的程式內容。
⼀一般來來說會從最外層開始看起,慢慢往更更深層的結構拆解,
直到⾴頁⾯面分析完成。
52
(ノ>ω<)ノ
2018/07/2153
(ノ>ω<)ノ
2018/07/2154
(ノ>ω<)ノ
2018/07/2155
置中
(ノ>ω<)ノ
2018/07/2156
寬度固定
直向排列列
置中
(ノ>ω<)ノ
2018/07/2157
⿑齊對散分
(ノ>ω<)ノ
2018/07/21
在本次⼯工作坊中,已經整理理出 flexbox 中幾種⽅方法來來排列列
你的版⾯面,現在我們就來來實地演練吧。
Flexbox groggy
58
(ノ>ω<)ノ
2018/07/21
display: flex; //設定為彈性盒⼦子!

justify-content: space-around; //控制主要軸的對⿑齊

align-items: center; //控制次要軸的對⿑齊

flex-direction: column; //設定主要軸向(預設為 row)
59
讓元素完全置中或者⼀一些其他的排版需且,都是不好處理理
的,但是有了了flexbox,考試都考⼀一百分了了呢!
(ノ>ω<)ノ
2018/07/21
上下左右置中
Flexbox groggy
60
.big {

width: 100%;

height: 100%;

display: flex;

justify-content: center;

align-items: center;

background-color: #6B5B7A;

}



.small {

width: 50px;

height: 50px;

background-color: #F67180;

}
(ノ>ω<)ノ
2018/07/21
⽔水平分散對⿑齊
Flexbox groggy
61
.big {

width: 100%;

height: 100%;

display: flex;

justify-content: space-around;

align-items: center;

background-color: #6B5B7A;

}



.small {

width: 50px;

height: 50px;

background-color: #F67180;

}
(ノ>ω<)ノ
2018/07/21
垂直分散對⿑齊
Flexbox groggy
62
.big {

width: 100%;

height: 100%;

display: flex;

justify-content: space-around;

align-items: center;

flex-direction: column;

background-color: #6B5B7A;

}

.small {

width: 50px;

height: 50px;

background-color: #F67180;

}
(ノ>ω<)ノ
2018/07/21
往前靠且上下置中
Flexbox groggy
63
.big {

width: 100%;

height: 100%;

display: flex;

justify-content: flex-start;

align-items: center;

background-color: #6B5B7A;

}



.small {

width: 50px;

height: 50px;

background-color: #F67180;

}
(ノ>ω<)ノ
2018/07/21
往後靠且上下置中
Flexbox groggy
64
.big {

width: 100%;

height: 100%;

display: flex;

justify-content: flex-end;

align-items: center;

background-color: #6B5B7A;

}



.small {

width: 50px;

height: 50px;

background-color: #F67180;

}
(ノ>ω<)ノ
2018/07/21
請善⽤用 Chrome 開發者⼯工具來來檢查元素的位置。
65
(ノ>ω<)ノ
2018/07/21
show!
66
(ノ>ω<)ノ
2018/07/21
休息結束時,若若你沒有完成,請果斷開啟我們提供的下⼀一
階段救命錦囊,在回家後還是可以練習的喔!
67
(ノ>ω<)ノ
2018/07/2168
(ノ>ω<)ノ
2018/07/2169
置中
固定右上
(ノ>ω<)ノ
2018/07/2170
置中內容⾴頁
固定右上
固定在下⽅方 固定
(ノ>ω<)ノ
2018/07/2171
置中
固定右上
寬度100%
(ノ>ω<)ノ
2018/07/2172
置中
固定右上
上排
整組靠左
上排
整組靠右
(ノ>ω<)ノ
2018/07/2173
置中內容⾴頁
固定右上
固定在下⽅方 固定
上排
整組靠左
上排
整組靠右
(ノ>ω<)ノ
2018/07/21
position: static (預設值)
74
(ノ>ω<)ノ
2018/07/2175
position: relative (抽題⾝身體)
(ノ>ω<)ノ
2018/07/2176
position: absolute (靈魂狀狀態)
(ノ>ω<)ノ
2018/07/2177
position: fixed (固定畫⾯面)
(ノ>ω<)ノ
2018/07/2178
置中內容⾴頁
固定右上
固定在下⽅方 固定
上排
整組靠左
上排
整組靠右
(ノ>ω<)ノ
2018/07/21
使⽤用範本
79
顯⽰示訊息的⽅方法

1. 按下送出鈕

2. 讀取輸入框的內⽂文

3. 將內⽂文置換到範本(對⽅方)中

4. 複製範本的html並且新增到對話
框內
(ノ>ω<)ノ
2018/07/2180
Firebase|資料串串接
Lv. 3
(ノ>ω<)ノ
2018/07/2181
(ノ>ω<)ノ
2018/07/21
線上即時資料庫,讓你不⽤用再寫伺服器就可以把你的檔案
存在網路路上,更更重要的是他在資料更更新時,會通知你喔!
Firebase?
82
(ノ>ω<)ノ
2018/07/21
進入連結: https://firebase.google.com/
83
進入
(ノ>ω<)ノ
2018/07/2184
新增
(ノ>ω<)ノ
2018/07/2185
專案英⽂文名
地點隨意
(ノ>ω<)ノ
2018/07/2186
選擇
(ノ>ω<)ノ
2018/07/2187
貼到<head> <body>之間
(ノ>ω<)ノ
2018/07/2188
選擇
(ノ>ω<)ノ
2018/07/2189
選擇
(ノ>ω<)ノ
2018/07/2190
往下拉⼀一點,選擇
(ノ>ω<)ノ
2018/07/2191
選擇
啟⽤用
(ノ>ω<)ノ
2018/07/2192
點擊
(ノ>ω<)ノ
2018/07/2193
點擊新增 msg 資料路路徑,來來存放所有的訊息
(ノ>ω<)ノ
2018/07/21
var msgDbRef = firebase.database().ref(‘/msg');

// 連結到 /msg 路路徑下
msgDbRef.set( { name: “OAO” } );

//將路路徑下的資料設定成你送進去的資料
var newMsgRef = msgDbRef.push(); 

newMsgRef.set( { 

name: yourName, 

msg: myMsg, 

head: selectedHead 

} ); 

//把路路徑當作⼀一個清單,⼀一次新增⼀一筆資料進去
94
(ノ>ω<)ノ
2018/07/21
var msgDbRef = firebase.database().ref('/msg');



msgDbRef.on('child_added', function(data) {

//每當參參考的路路徑的資料被新增,就會被呼叫,⼀一開始也會被呼叫⼀一次

});



msgDbRef.on('child_changed', function(data) {

//每當參參考的路路徑的資料被修改,就會被呼叫

});



msgDbRef.on('child_removed', function(data) {

//每當參參考的路路徑的資料被刪除,就會被呼叫

});
95
入⾨門網⾴頁教學|使⽤用 Firebase|講師: 古健樺

More Related Content

Similar to 網頁入門聊天室工作坊20180721

20130112用原型驅動設計@webconf
20130112用原型驅動設計@webconf20130112用原型驅動設計@webconf
20130112用原型驅動設計@webconf
Justin Lee
 
AtticTV and NodeJS
AtticTV and NodeJSAtticTV and NodeJS
AtticTV and NodeJS
Grey Ang
 
模块加载策略 - 2012 SDCC, 北京
模块加载策略 - 2012 SDCC, 北京模块加载策略 - 2012 SDCC, 北京
模块加载策略 - 2012 SDCC, 北京
Joseph Chiang
 
JQuery Mobile 框架介紹與使用
JQuery Mobile 框架介紹與使用JQuery Mobile 框架介紹與使用
JQuery Mobile 框架介紹與使用
EZoApp
 
常用Js框架比较
常用Js框架比较常用Js框架比较
常用Js框架比较
Adam Lu
 
ReactMaker start kit intro
ReactMaker start kit introReactMaker start kit intro
ReactMaker start kit intro
昇倫 蔡
 
Csdn Java电子杂志第1期
Csdn Java电子杂志第1期Csdn Java电子杂志第1期
Csdn Java电子杂志第1期yiditushe
 
Java Web框架汇总
Java Web框架汇总Java Web框架汇总
Java Web框架汇总yiditushe
 
Html5研究小组《微周刊》第28期
Html5研究小组《微周刊》第28期Html5研究小组《微周刊》第28期
Html5研究小组《微周刊》第28期chloeguo
 
用 Go 語言 打造微服務架構
用 Go 語言打造微服務架構用 Go 語言打造微服務架構
用 Go 語言 打造微服務架構
Bo-Yi Wu
 

Similar to 網頁入門聊天室工作坊20180721 (10)

20130112用原型驅動設計@webconf
20130112用原型驅動設計@webconf20130112用原型驅動設計@webconf
20130112用原型驅動設計@webconf
 
AtticTV and NodeJS
AtticTV and NodeJSAtticTV and NodeJS
AtticTV and NodeJS
 
模块加载策略 - 2012 SDCC, 北京
模块加载策略 - 2012 SDCC, 北京模块加载策略 - 2012 SDCC, 北京
模块加载策略 - 2012 SDCC, 北京
 
JQuery Mobile 框架介紹與使用
JQuery Mobile 框架介紹與使用JQuery Mobile 框架介紹與使用
JQuery Mobile 框架介紹與使用
 
常用Js框架比较
常用Js框架比较常用Js框架比较
常用Js框架比较
 
ReactMaker start kit intro
ReactMaker start kit introReactMaker start kit intro
ReactMaker start kit intro
 
Csdn Java电子杂志第1期
Csdn Java电子杂志第1期Csdn Java电子杂志第1期
Csdn Java电子杂志第1期
 
Java Web框架汇总
Java Web框架汇总Java Web框架汇总
Java Web框架汇总
 
Html5研究小组《微周刊》第28期
Html5研究小组《微周刊》第28期Html5研究小组《微周刊》第28期
Html5研究小组《微周刊》第28期
 
用 Go 語言 打造微服務架構
用 Go 語言打造微服務架構用 Go 語言打造微服務架構
用 Go 語言 打造微服務架構
 

網頁入門聊天室工作坊20180721