2018年6月29日 星期五

網頁文字單位,px、em、rem、% 的差別

常常在設定文字大小的時候,最常用的就是這四個單位:px、em、rem、%。 簡單比較這四者的差異?
這裡列出幾個常見的問題:

哪一個是絕對單位?哪一個是相對單位?

px 是絕對單位;
em 是相對單位,其文字大小是相對於父元素 (parent element);
rem 是相對單位,其文字大小是相對於根元素 (root element),根元素就是 <html> 標籤,所以是相對於該標籤所指定的文字大小;
% 是相對單位。
 
文字大小該如何計算?
px 是絕對單位,指定 20px,那該文字就是 20px;
em 是相對單位,通常網頁的 <body> 都會預設文字大小為 16px,直接用舉例的方式來實際計算文字大小:
// 先看 html 結構部份
<body>
  <h1>標題<span>標題內小字</span></h1>
</body>

// css 樣式,指定文字大小
<style>
body{
  font-size: 75%; /* 將預設文字大小改成:12px。(12 / 16 * 100% = 75%) */
}
h1{
  font-size: 2em; /* 實際:12px * 2 = 24px,因為其父元素是 <body> 標籤。 */
}
span{
  font-size: 0.5em; /* 實際:24px * 0.5 = 12px,因為其父元素是 <h1> 標籤。 */
}
</style>
rem(是 root em 的縮寫):是相對於根元素的文字大小單位,什麼是根元素,也就是 <html> 標籤:
// 先看 html 結構部份
<html>
  <body>
    <h1>標題<span>標題內小字</span></h1>
  </body>
</html>

// css 樣式,指定文字大小
<style>
html{
  font-size: 62.5%; /* 將根元素的預設文字大小改為 10px。(10 / 16 * 100% = 62.5%) */
}
h1{
  font-size: 2rem; /* 實際:10px * 2 = 20px,因為 rem 是相對於根元素 */
}
span{
  font-size: 1rem; /* 實際:10px * 1 = 10px,因為 rem 是相對於根元素 */
}
</style>
資料來源:
http://carlos-studio.com/2017/12/26/design-%E7%B6%B2%E9%A0%81%E6%96%87%E5%AD%97%E5%96%AE%E4%BD%8D%EF%BC%8Cpx%E3%80%81em%E3%80%81rem%E3%80%81-%E7%9A%84%E5%B7%AE%E5%88%A5/

2017年4月6日 星期四

[NODEJS] COOKIE的使用

在網站裡常會使用一些cookie來對使用者所瀏覽的資訊做記憶,而這些資訊主要是以不會有安全疑慮的才適合儲存,因為cookie可以透過瀏覽器所觀看到,且容易進行竄改。
要在node.js(EXPRESS框架)中使用cookie,必須先透過npm將cookie模組進行安裝。
npm install --save cookie-parser
接著在程式碼中使用cookie-parser。

2017年3月25日 星期六

如何用webrtc建立一個視訊聊天室網頁應用程式

簡介

WebRTC(Web即時通信)是目前由Google,Mozilla和Opera支持的一種新的Web標準。它允許瀏覽器之間的點對點通信。其目的是為瀏覽器,移動平台和網路物件Web of Things(WoT)提供更豐富的高質量RTC應用程序,並允許他們通過一組通用的協議進行通信。

Web的最後一個主要挑戰是通過語音和視頻實現人與人通信,而無需使用特殊的插件並且無需支付任何費用使用這些服務。

第一個WebRTC實施是由愛立信於2011年5月建立的。 WebRTC定義了用於實時,無插件視頻,音頻和數據通信的開放標準。

目前已經有許多Web服務已經使用RTC,但還是需要下載應用程序或相關插件。

其中包括Skype,Facebook(使用Skype)和Google Hangouts(使用Google Talk插件)。下載、安裝和更新插件的程序可能會很複雜,容易出錯和惱人,並且通常很難說服人們首先安裝插件!

2017年3月22日 星期三

npm-check

npm-check

檢查 package 是否有沒有的新版本的小工具,同時取得的最新版會依 SemVer(語意化版本規範)規則進行。

packagelink

數位版權管理 (DRM, Digital Right Management)

數位出版時代來臨,面對傳播更為容易的數位內容,為保護智慧財產權,數位版權管理(Digital Right Management,DRM)的概念應運而生,這是一種用來保護數位內容使用的管理機制,透過加密認證等過程確認使用者是合法使用數位內容,透過在文件上加浮水印、限制使用時間、使用載具限制、透過取得授權等方式來保護數位內容。

2017年3月20日 星期一

如何在MacOSX中安裝MongoDB資料庫

這裡介紹如何在 Mac OS X 中安裝 MongoDB 資料庫。
在 Mac OS X 中安裝 MongoDB 資料庫有兩種方式:
一種是使用 Homebrew,另一種是手動安裝,以下是兩種安裝方式的步驟。

2017年3月19日 星期日

讓 MAC 終端機變好看

讓 MAC 終端機變好看吧~