SlideShare una empresa de Scribd logo
1 de 162
Descargar para leer sin conexión
Copyright © 2012 FITPI. All rights reserved.
樣式之美 CSS
1
前端工程開發實務訓練 (2/8)
講師:蔣定宇 / josephj
Copyright © 2012 FITPI. All rights reserved.
很好上⼿手,重點在了解有哪些屬性
2
CSS 基礎知識
Copyright © 2012 FITPI. All rights reserved.
行間 CSS
3
直接在標籤內使用 style 屬性
Inline CSS
Copyright © 2012 FITPI. All rights reserved.
行間 CSS
3
直接在標籤內使用 style 屬性
<p style="屬性名稱:屬性值;">...</p>
Inline CSS
Copyright © 2012 FITPI. All rights reserved.
嵌入式 CSS
4
直接將 CSS 寫在 HTML 內的作法
Embedded CSS
Copyright © 2012 FITPI. All rights reserved.
嵌入式 CSS
4
直接將 CSS 寫在 HTML 內的作法
<style></style> 標籤
Embedded CSS
Copyright © 2012 FITPI. All rights reserved.
嵌入式 CSS
4
直接將 CSS 寫在 HTML 內的作法
<style type="text/css" media="顯⽰示媒介名稱">
選擇器 {
    屬性名稱:屬性值;
}
</style>
type 可省略
media 在何種媒介顯示
・印表機 = printer
・電腦螢幕 = screen
・預設是全部 = all
<style></style> 標籤
Embedded CSS
Copyright © 2012 FITPI. All rights reserved.
嵌入式 CSS
4
直接將 CSS 寫在 HTML 內的作法
<style type="text/css" media="顯⽰示媒介名稱">
選擇器 {
    屬性名稱:屬性值;
}
</style>
type 可省略
media 在何種媒介顯示
・印表機 = printer
・電腦螢幕 = screen
・預設是全部 = all
<style></style> 標籤
CSS 內容
Embedded CSS
Copyright © 2012 FITPI. All rights reserved.
嵌入式 CSS
4
直接將 CSS 寫在 HTML 內的作法
<style type="text/css" media="顯⽰示媒介名稱">
選擇器 {
    屬性名稱:屬性值;
}
</style>
type 可省略
media 在何種媒介顯示
・印表機 = printer
・電腦螢幕 = screen
・預設是全部 = all
<style></style> 標籤
CSS 內容
建議放置位置:</head> 之前
Embedded CSS
Copyright © 2012 FITPI. All rights reserved.
外部 CSS
5
引用外部 CSS 檔案(建議附檔名為 .css)
External CSS
Copyright © 2012 FITPI. All rights reserved.
外部 CSS
5
引用外部 CSS 檔案(建議附檔名為 .css)
<link> 標籤 (無結尾)
External CSS
Copyright © 2012 FITPI. All rights reserved.
外部 CSS
5
引用外部 CSS 檔案(建議附檔名為 .css)
<link rel="stylesheet" href="CSS 檔案路徑" media="顯⽰示媒介名稱">
<link> 標籤 (無結尾)
External CSS
Copyright © 2012 FITPI. All rights reserved.
外部 CSS
5
引用外部 CSS 檔案(建議附檔名為 .css)
<link rel="stylesheet" href="CSS 檔案路徑" media="顯⽰示媒介名稱">
必須指定
<link> 標籤 (無結尾)
External CSS
Copyright © 2012 FITPI. All rights reserved.
外部 CSS
5
引用外部 CSS 檔案(建議附檔名為 .css)
<link rel="stylesheet" href="CSS 檔案路徑" media="顯⽰示媒介名稱">
必須指定
與前面相同
<link> 標籤 (無結尾)
External CSS
Copyright © 2012 FITPI. All rights reserved.
外部 CSS
5
引用外部 CSS 檔案(建議附檔名為 .css)
<link rel="stylesheet" href="CSS 檔案路徑" media="顯⽰示媒介名稱">
必須指定
與前面相同
<link> 標籤 (無結尾)
選擇器 {
    屬性名稱:屬性值;
}
與外部檔案連結
※ 不需 style 標籤
External CSS
Copyright © 2012 FITPI. All rights reserved.
外部 CSS
5
引用外部 CSS 檔案(建議附檔名為 .css)
<link rel="stylesheet" href="CSS 檔案路徑" media="顯⽰示媒介名稱">
必須指定
與前面相同
<link> 標籤 (無結尾)
另外還有 HTML Tag 中的 style,正常情況用不到
選擇器 {
    屬性名稱:屬性值;
}
與外部檔案連結
※ 不需 style 標籤
External CSS
Copyright © 2012 FITPI. All rights reserved.
該用哪一種?
6
Copyright © 2012 FITPI. All rights reserved.
該用哪一種?
6
99% 的情況都應該使⽤用外部 CSS
Copyright © 2012 FITPI. All rights reserved.
該用哪一種?
6
๏ 語意:樣式與結構能夠徹底分離。
99% 的情況都應該使⽤用外部 CSS
Copyright © 2012 FITPI. All rights reserved.
該用哪一種?
6
๏ 語意:樣式與結構能夠徹底分離。
๏ 效率:寫一次可以套用到多個網頁中。
99% 的情況都應該使⽤用外部 CSS
Copyright © 2012 FITPI. All rights reserved.
該用哪一種?
6
๏ 語意:樣式與結構能夠徹底分離。
๏ 效率:寫一次可以套用到多個網頁中。
๏ 效能:外部檔案能被快取 (cache)。
99% 的情況都應該使⽤用外部 CSS
Copyright © 2012 FITPI. All rights reserved.
該用哪一種?
6
๏ 語意:樣式與結構能夠徹底分離。
๏ 效率:寫一次可以套用到多個網頁中。
๏ 效能:外部檔案能被快取 (cache)。
๏ 唯一例外:會被設為首頁的入口網站。
99% 的情況都應該使⽤用外部 CSS
Copyright © 2012 FITPI. All rights reserved.
該用哪一種?
6
๏ 語意:樣式與結構能夠徹底分離。
๏ 效率:寫一次可以套用到多個網頁中。
๏ 效能:外部檔案能被快取 (cache)。
๏ 唯一例外:會被設為首頁的入口網站。
❖ 頁數少、更快顯示。
99% 的情況都應該使⽤用外部 CSS
Copyright © 2012 FITPI. All rights reserved.
該用哪一種?
6
๏ 語意:樣式與結構能夠徹底分離。
๏ 效率:寫一次可以套用到多個網頁中。
๏ 效能:外部檔案能被快取 (cache)。
๏ 唯一例外:會被設為首頁的入口網站。
❖ 頁數少、更快顯示。
99% 的情況都應該使⽤用外部 CSS
http://developer.yahoo.com/performance/rules.html#external
Copyright © 2012 FITPI. All rights reserved.
常用選擇器
7
在 HTML 中、可針對所有的標籤設定 id 與 class 屬性,
除了給予 HTML 更好的語意外,也能方便我們設定 CSS 樣式
Selector
Copyright © 2012 FITPI. All rights reserved.
常用選擇器
7
在 HTML 中、可針對所有的標籤設定 id 與 class 屬性,
除了給予 HTML 更好的語意外,也能方便我們設定 CSS 樣式
Selector
<div id=”nav”>
    <div class=”bd”>
        <p>選單</p>
    </div>
</div>
<div id=”article”>
    <div class=”bd”>
        <p>⽂文章</p>
    </div>
</div>
Copyright © 2012 FITPI. All rights reserved.
常用選擇器
7
在 HTML 中、可針對所有的標籤設定 id 與 class 屬性,
除了給予 HTML 更好的語意外,也能方便我們設定 CSS 樣式
Selector
<div id=”nav”>
    <div class=”bd”>
        <p>選單</p>
    </div>
</div>
<div id=”article”>
    <div class=”bd”>
        <p>⽂文章</p>
    </div>
</div>
p {
Copyright © 2012 FITPI. All rights reserved.
常用選擇器
7
在 HTML 中、可針對所有的標籤設定 id 與 class 屬性,
除了給予 HTML 更好的語意外,也能方便我們設定 CSS 樣式
Selector
<div id=”nav”>
    <div class=”bd”>
        <p>選單</p>
    </div>
</div>
<div id=”article”>
    <div class=”bd”>
        <p>⽂文章</p>
    </div>
</div>
p {
    /* 針對所有 p 標籤設定樣式 */
Copyright © 2012 FITPI. All rights reserved.
常用選擇器
7
在 HTML 中、可針對所有的標籤設定 id 與 class 屬性,
除了給予 HTML 更好的語意外,也能方便我們設定 CSS 樣式
Selector
<div id=”nav”>
    <div class=”bd”>
        <p>選單</p>
    </div>
</div>
<div id=”article”>
    <div class=”bd”>
        <p>⽂文章</p>
    </div>
</div>
p {
    /* 針對所有 p 標籤設定樣式 */
}
Copyright © 2012 FITPI. All rights reserved.
常用選擇器
7
在 HTML 中、可針對所有的標籤設定 id 與 class 屬性,
除了給予 HTML 更好的語意外,也能方便我們設定 CSS 樣式
Selector
<div id=”nav”>
    <div class=”bd”>
        <p>選單</p>
    </div>
</div>
<div id=”article”>
    <div class=”bd”>
        <p>⽂文章</p>
    </div>
</div>
p {
    /* 針對所有 p 標籤設定樣式 */
}
#nav {
Copyright © 2012 FITPI. All rights reserved.
常用選擇器
7
在 HTML 中、可針對所有的標籤設定 id 與 class 屬性,
除了給予 HTML 更好的語意外,也能方便我們設定 CSS 樣式
Selector
<div id=”nav”>
    <div class=”bd”>
        <p>選單</p>
    </div>
</div>
<div id=”article”>
    <div class=”bd”>
        <p>⽂文章</p>
    </div>
</div>
p {
    /* 針對所有 p 標籤設定樣式 */
}
#nav {
    /* 針對 id=”nav” 設定樣式 */
Copyright © 2012 FITPI. All rights reserved.
常用選擇器
7
在 HTML 中、可針對所有的標籤設定 id 與 class 屬性,
除了給予 HTML 更好的語意外,也能方便我們設定 CSS 樣式
Selector
<div id=”nav”>
    <div class=”bd”>
        <p>選單</p>
    </div>
</div>
<div id=”article”>
    <div class=”bd”>
        <p>⽂文章</p>
    </div>
</div>
p {
    /* 針對所有 p 標籤設定樣式 */
}
#nav {
    /* 針對 id=”nav” 設定樣式 */
}
Copyright © 2012 FITPI. All rights reserved.
常用選擇器
7
在 HTML 中、可針對所有的標籤設定 id 與 class 屬性,
除了給予 HTML 更好的語意外,也能方便我們設定 CSS 樣式
Selector
<div id=”nav”>
    <div class=”bd”>
        <p>選單</p>
    </div>
</div>
<div id=”article”>
    <div class=”bd”>
        <p>⽂文章</p>
    </div>
</div>
p {
    /* 針對所有 p 標籤設定樣式 */
}
#nav {
    /* 針對 id=”nav” 設定樣式 */
}
.bd {
Copyright © 2012 FITPI. All rights reserved.
常用選擇器
7
在 HTML 中、可針對所有的標籤設定 id 與 class 屬性,
除了給予 HTML 更好的語意外,也能方便我們設定 CSS 樣式
Selector
<div id=”nav”>
    <div class=”bd”>
        <p>選單</p>
    </div>
</div>
<div id=”article”>
    <div class=”bd”>
        <p>⽂文章</p>
    </div>
</div>
p {
    /* 針對所有 p 標籤設定樣式 */
}
#nav {
    /* 針對 id=”nav” 設定樣式 */
}
.bd {
    /* 針對所有 class=”bd” 設定樣式 */
Copyright © 2012 FITPI. All rights reserved.
常用選擇器
7
在 HTML 中、可針對所有的標籤設定 id 與 class 屬性,
除了給予 HTML 更好的語意外,也能方便我們設定 CSS 樣式
Selector
<div id=”nav”>
    <div class=”bd”>
        <p>選單</p>
    </div>
</div>
<div id=”article”>
    <div class=”bd”>
        <p>⽂文章</p>
    </div>
</div>
p {
    /* 針對所有 p 標籤設定樣式 */
}
#nav {
    /* 針對 id=”nav” 設定樣式 */
}
.bd {
    /* 針對所有 class=”bd” 設定樣式 */
}
Copyright © 2012 FITPI. All rights reserved.
常用選擇器
7
在 HTML 中、可針對所有的標籤設定 id 與 class 屬性,
除了給予 HTML 更好的語意外,也能方便我們設定 CSS 樣式
Selector
<div id=”nav”>
    <div class=”bd”>
        <p>選單</p>
    </div>
</div>
<div id=”article”>
    <div class=”bd”>
        <p>⽂文章</p>
    </div>
</div>
p {
    /* 針對所有 p 標籤設定樣式 */
}
#nav {
    /* 針對 id=”nav” 設定樣式 */
}
.bd {
    /* 針對所有 class=”bd” 設定樣式 */
}
div.bd {
Copyright © 2012 FITPI. All rights reserved.
常用選擇器
7
在 HTML 中、可針對所有的標籤設定 id 與 class 屬性,
除了給予 HTML 更好的語意外,也能方便我們設定 CSS 樣式
Selector
<div id=”nav”>
    <div class=”bd”>
        <p>選單</p>
    </div>
</div>
<div id=”article”>
    <div class=”bd”>
        <p>⽂文章</p>
    </div>
</div>
p {
    /* 針對所有 p 標籤設定樣式 */
}
#nav {
    /* 針對 id=”nav” 設定樣式 */
}
.bd {
    /* 針對所有 class=”bd” 設定樣式 */
}
div.bd {
    /* 針對所有 div class=”bd” 設定樣式 */
Copyright © 2012 FITPI. All rights reserved.
常用選擇器
7
在 HTML 中、可針對所有的標籤設定 id 與 class 屬性,
除了給予 HTML 更好的語意外,也能方便我們設定 CSS 樣式
Selector
<div id=”nav”>
    <div class=”bd”>
        <p>選單</p>
    </div>
</div>
<div id=”article”>
    <div class=”bd”>
        <p>⽂文章</p>
    </div>
</div>
p {
    /* 針對所有 p 標籤設定樣式 */
}
#nav {
    /* 針對 id=”nav” 設定樣式 */
}
.bd {
    /* 針對所有 class=”bd” 設定樣式 */
}
div.bd {
    /* 針對所有 div class=”bd” 設定樣式 */
}
Copyright © 2012 FITPI. All rights reserved.
常用選擇器
7
在 HTML 中、可針對所有的標籤設定 id 與 class 屬性,
除了給予 HTML 更好的語意外,也能方便我們設定 CSS 樣式
Selector
<div id=”nav”>
    <div class=”bd”>
        <p>選單</p>
    </div>
</div>
<div id=”article”>
    <div class=”bd”>
        <p>⽂文章</p>
    </div>
</div>
p {
    /* 針對所有 p 標籤設定樣式 */
}
#nav {
    /* 針對 id=”nav” 設定樣式 */
}
.bd {
    /* 針對所有 class=”bd” 設定樣式 */
}
div.bd {
    /* 針對所有 div class=”bd” 設定樣式 */
}
#nav .bd {
Copyright © 2012 FITPI. All rights reserved.
常用選擇器
7
在 HTML 中、可針對所有的標籤設定 id 與 class 屬性,
除了給予 HTML 更好的語意外,也能方便我們設定 CSS 樣式
Selector
<div id=”nav”>
    <div class=”bd”>
        <p>選單</p>
    </div>
</div>
<div id=”article”>
    <div class=”bd”>
        <p>⽂文章</p>
    </div>
</div>
p {
    /* 針對所有 p 標籤設定樣式 */
}
#nav {
    /* 針對 id=”nav” 設定樣式 */
}
.bd {
    /* 針對所有 class=”bd” 設定樣式 */
}
div.bd {
    /* 針對所有 div class=”bd” 設定樣式 */
}
#nav .bd {
/* 只針對所有 id=”nav” 下的 class=”bd” 設定樣式 */
Copyright © 2012 FITPI. All rights reserved.
常用選擇器
7
在 HTML 中、可針對所有的標籤設定 id 與 class 屬性,
除了給予 HTML 更好的語意外,也能方便我們設定 CSS 樣式
Selector
<div id=”nav”>
    <div class=”bd”>
        <p>選單</p>
    </div>
</div>
<div id=”article”>
    <div class=”bd”>
        <p>⽂文章</p>
    </div>
</div>
p {
    /* 針對所有 p 標籤設定樣式 */
}
#nav {
    /* 針對 id=”nav” 設定樣式 */
}
.bd {
    /* 針對所有 class=”bd” 設定樣式 */
}
div.bd {
    /* 針對所有 div class=”bd” 設定樣式 */
}
#nav .bd {
/* 只針對所有 id=”nav” 下的 class=”bd” 設定樣式 */
}
Copyright © 2012 FITPI. All rights reserved.
常用選擇器
7
在 HTML 中、可針對所有的標籤設定 id 與 class 屬性,
除了給予 HTML 更好的語意外,也能方便我們設定 CSS 樣式
Selector
<div id=”nav”>
    <div class=”bd”>
        <p>選單</p>
    </div>
</div>
<div id=”article”>
    <div class=”bd”>
        <p>⽂文章</p>
    </div>
</div>
p {
    /* 針對所有 p 標籤設定樣式 */
}
#nav {
    /* 針對 id=”nav” 設定樣式 */
}
.bd {
    /* 針對所有 class=”bd” 設定樣式 */
}
div.bd {
    /* 針對所有 div class=”bd” 設定樣式 */
}
#nav .bd {
/* 只針對所有 id=”nav” 下的 class=”bd” 設定樣式 */
}
#nav, #article {
Copyright © 2012 FITPI. All rights reserved.
常用選擇器
7
在 HTML 中、可針對所有的標籤設定 id 與 class 屬性,
除了給予 HTML 更好的語意外,也能方便我們設定 CSS 樣式
Selector
<div id=”nav”>
    <div class=”bd”>
        <p>選單</p>
    </div>
</div>
<div id=”article”>
    <div class=”bd”>
        <p>⽂文章</p>
    </div>
</div>
p {
    /* 針對所有 p 標籤設定樣式 */
}
#nav {
    /* 針對 id=”nav” 設定樣式 */
}
.bd {
    /* 針對所有 class=”bd” 設定樣式 */
}
div.bd {
    /* 針對所有 div class=”bd” 設定樣式 */
}
#nav .bd {
/* 只針對所有 id=”nav” 下的 class=”bd” 設定樣式 */
}
#nav, #article {
/* 同時針對 id=”nav” 與 id=”article” 設定相同的樣式 */
Copyright © 2012 FITPI. All rights reserved.
常用選擇器
7
在 HTML 中、可針對所有的標籤設定 id 與 class 屬性,
除了給予 HTML 更好的語意外,也能方便我們設定 CSS 樣式
Selector
<div id=”nav”>
    <div class=”bd”>
        <p>選單</p>
    </div>
</div>
<div id=”article”>
    <div class=”bd”>
        <p>⽂文章</p>
    </div>
</div>
p {
    /* 針對所有 p 標籤設定樣式 */
}
#nav {
    /* 針對 id=”nav” 設定樣式 */
}
.bd {
    /* 針對所有 class=”bd” 設定樣式 */
}
div.bd {
    /* 針對所有 div class=”bd” 設定樣式 */
}
#nav .bd {
/* 只針對所有 id=”nav” 下的 class=”bd” 設定樣式 */
}
#nav, #article {
/* 同時針對 id=”nav” 與 id=”article” 設定相同的樣式 */
}
Copyright © 2012 FITPI. All rights reserved.
選擇器類型
8
http://www.w3.org/TR/CSS2/selector.html#pattern-matching (CSS2)
CSS3 ⽀支援更多: http://www.w3schools.com/cssref/css_selectors.asp
Copyright © 2012 FITPI. All rights reserved.
屬性
9
Copyright © 2012 FITPI. All rights reserved.
屬性
9
選擇器 {
    屬性名稱1:屬性值;
屬性名稱2:屬性值;
屬性名稱3:屬性值;
}
Copyright © 2012 FITPI. All rights reserved.
屬性
9
選擇器 {
    屬性名稱1:屬性值;
屬性名稱2:屬性值;
屬性名稱3:屬性值;
}
用大括號包覆
Copyright © 2012 FITPI. All rights reserved.
屬性
9
選擇器 {
    屬性名稱1:屬性值;
屬性名稱2:屬性值;
屬性名稱3:屬性值;
}
用大括號包覆
半型冒號區隔屬性名稱與屬性值
Copyright © 2012 FITPI. All rights reserved.
屬性
9
選擇器 {
    屬性名稱1:屬性值;
屬性名稱2:屬性值;
屬性名稱3:屬性值;
}
用大括號包覆
半型冒號區隔屬性名稱與屬性值
以分號分隔不同屬性
Copyright © 2012 FITPI. All rights reserved.
屬性
9
選擇器 {
    屬性名稱1:屬性值;
屬性名稱2:屬性值;
屬性名稱3:屬性值;
}
用大括號包覆
半型冒號區隔屬性名稱與屬性值
以分號分隔不同屬性
<div id=”nav”>
    <div class=”bd”>
        <p>選單</p>
    </div>
</div>
<div id=”article”>
    <div class=”bd”>
        <p>⽂文章</p>
    </div>
</div>
Copyright © 2012 FITPI. All rights reserved.
屬性
9
選擇器 {
    屬性名稱1:屬性值;
屬性名稱2:屬性值;
屬性名稱3:屬性值;
}
用大括號包覆
半型冒號區隔屬性名稱與屬性值
以分號分隔不同屬性
<div id=”nav”>
    <div class=”bd”>
        <p>選單</p>
    </div>
</div>
<div id=”article”>
    <div class=”bd”>
        <p>⽂文章</p>
    </div>
</div>
#nav, #article {
    background: yellow;
    padding: 20px;
    width: 100px;
    margin-bottom: 10px;
}
#nav p {
    text-decoration: underline;
    color: blue;
}
#article p {
    color: red;
    font-weight: bold;
}
+ =
Copyright © 2012 FITPI. All rights reserved.
屬性
9
選擇器 {
    屬性名稱1:屬性值;
屬性名稱2:屬性值;
屬性名稱3:屬性值;
}
用大括號包覆
半型冒號區隔屬性名稱與屬性值
以分號分隔不同屬性
<div id=”nav”>
    <div class=”bd”>
        <p>選單</p>
    </div>
</div>
<div id=”article”>
    <div class=”bd”>
        <p>⽂文章</p>
    </div>
</div>
#nav, #article {
    background: yellow;
    padding: 20px;
    width: 100px;
    margin-bottom: 10px;
}
#nav p {
    text-decoration: underline;
    color: blue;
}
#article p {
    color: red;
    font-weight: bold;
}
+ =
Copyright © 2012 FITPI. All rights reserved.
屬性介紹
10
http://www.w3schools.com/css/
CSS Styling
Styling
Backgrounds
Styling Text
Styling Fonts
Styling Links
Styling Lists
Styling Tables
W3School 的屬性類別列表
CSS Advanced
CSS Grouping/Nesting
CSS Dimension
CSS Display
CSS Positioning
CSS Floating
CSS Align
CSS Pseudo-class
CSS Pseudo-element
CSS Navigation Bar
CSS Image Gallery
CSS Image Opacity
CSS Image Sprites
CSS Media Types
CSS Attribute Selectors
CSS Box Model
CSS Box Model
CSS Border
CSS Outline
CSS Margin
CSS Padding
Copyright © 2012 FITPI. All rights reserved.
Box Model
11
padding
border
width
margin
W3C 的標準盒模型
padding
border
width
margin
IE 怪異模式盒模型
width, height 算法完全不同、初學者需非常小心
現今的網頁已經沒有怪異模式的需求了
只要小心 DOCTYPE 的宣告即可避免
Copyright © 2012 FITPI. All rights reserved.
color:#369;
background:#ffe;
font:bold 16px;
๏ 替此文章模組取個適合的 id
๏ 加上 hd, bd, ft 的 class
๏ 利用前面教的東西設定樣式
12
練習:替模組加上樣式
http://f2eclass.com/lab/css/module.html
Copyright © 2012 FITPI. All rights reserved.
排版的常⽤用技巧
13
CSS 浮動
Copyright © 2012 FITPI. All rights reserved.
過去:常⽤用 <table> 來做到下⾯面的版型:
<table border=”1”>
<tr>
<td align=”left”>靠左⽂文字</td>
<td align=”right”>靠右⽂文字</td>
</tr>
</table>
14
傳統排版
靠左⽂文字 靠右⽂文字
Copyright © 2012 FITPI. All rights reserved.
現在:使⽤用 CSS 的 float 屬性來做到
<div id=”masthead” style=”border:solid 1px #000”>
<span style=”float:left”>
靠左⽂文字
</span>
<span style=”float:right”>
靠右⽂文字
</span>
</div>
15
float 屬性
靠左⽂文字 靠右⽂文字
Copyright © 2012 FITPI. All rights reserved.
但 float 之後的區塊是不會佔空間的
實際情況會是:
border 不會被⽂文字的⾼高度給撐開!
16
浮動產生的問題
靠左⽂文字 靠右⽂文字
Copyright © 2012 FITPI. All rights reserved.
IE9 之前的作法
在上⼀一層設 zoom:1
<div id=”masthead” style=”zoom:1;border:solid 1px #000”>
<span style=”float:left”>
靠左⽂文字
</span>
<span style=”float:right”>
靠右⽂文字
</span>
</div>
17
對 IE 的解法
Copyright © 2012 FITPI. All rights reserved.
加上特別的 <br>
<div id=”masthead” style=”zoom:1;border:solid 1px #000”>
<span style=”float:left”>
靠左⽂文字
</span>
<span style=”float:right”>
靠右⽂文字
</span>
<br style=”clear:both;”>
</div>
18
通用解法
BUT! 我們不應該為了樣式特別加⼀一個 <br>
/* 作⽤用是增加了⼀一個有 clear:both 屬性的區塊 */
#masthead:after {
  content:"";
  display:block;
  clear:both;
}
與上⾯面加的 <br> 效果相同
Copyright © 2012 FITPI. All rights reserved.
border:solid 5px #ccc;
font:bold 197%;
IE : 在⽗父節點設定 zoom1;
其他瀏覽器:
⽗父節點:after {
    content:’’;
    display:block;
    clear:both;
}
練習:用 CSS 做浮動
๏ 標題浮到左邊
๏ YUI 圖浮到右邊
๏ 替整個模組設 border
๏ ⽤用前⾯面的⽅方法清除
19
http://f2eclass.com/lab/css/float.html
Copyright © 2012 FITPI. All rights reserved.
適當地將 <img> 改⽤用 CSS 背景可讓讀取更順暢
20
CSS 背景
Copyright © 2012 FITPI. All rights reserved.
在 Y! 所有裝飾性的圖都是 CSS 背景圖
21
Copyright © 2012 FITPI. All rights reserved.
在 Y! 所有裝飾性的圖都是 CSS 背景圖
21
Copyright © 2012 FITPI. All rights reserved.
22
抉擇方式
何時該⽤用背景圖?何時該⽤用 img 標籤?
Copyright © 2012 FITPI. All rights reserved.
22
抉擇方式
๏ 對於裝飾性、可有可無的圖⽚片應採⽤用背景圖。
何時該⽤用背景圖?何時該⽤用 img 標籤?
Copyright © 2012 FITPI. All rights reserved.
22
抉擇方式
๏ 對於裝飾性、可有可無的圖⽚片應採⽤用背景圖。
❖ 例如圓⾓角、⼩小 Icon 等即使消失也不會造成無法閱讀
的圖⽚片。
何時該⽤用背景圖?何時該⽤用 img 標籤?
Copyright © 2012 FITPI. All rights reserved.
22
抉擇方式
๏ 對於裝飾性、可有可無的圖⽚片應採⽤用背景圖。
❖ 例如圓⾓角、⼩小 Icon 等即使消失也不會造成無法閱讀
的圖⽚片。
๏ ⽽而對於內容的⼀一部分,則應該使⽤用 img 標籤。
何時該⽤用背景圖?何時該⽤用 img 標籤?
Copyright © 2012 FITPI. All rights reserved.
22
抉擇方式
๏ 對於裝飾性、可有可無的圖⽚片應採⽤用背景圖。
❖ 例如圓⾓角、⼩小 Icon 等即使消失也不會造成無法閱讀
的圖⽚片。
๏ ⽽而對於內容的⼀一部分,則應該使⽤用 img 標籤。
❖ 例如⻝⾷食記中的餐點圖⽚片、網⾴頁上的廣告、⽤用圖⽚片做的
標題、網站 Logo 都是內容的⼀一部分。
何時該⽤用背景圖?何時該⽤用 img 標籤?
Copyright © 2012 FITPI. All rights reserved.
background: [背景⾊色]
[url(圖檔路徑)]
[x, y 位置]
[重複];
background:#369 url(ico_yui.gif) left top repeat-x;
repeat-y
no-repeat
0 100%
0 -12px
background-color:#369;
background-image:url(ico_yui.gif);
background-position:left top;
background-repeat:repeat-x;
或
23
語法
Copyright © 2012 FITPI. All rights reserved.
練習:CSS 背景
24
http://f2eclass.com/lab/css/background.html
๏ 設定背景圖為 bg_nav.png
Copyright © 2012 FITPI. All rights reserved.
CSS Sprites
25
http://l.yimg.com/f/i/tw/hp/spirit121004l/sprite.png
把多張背景圖合併成⼀一張
雅⻁虎奇摩⾸首⾴頁的 Sprites
0, 0
sprite.png
0, 30
0, 55
0, 90
0, 115
0, 145
background: url(sprite.png) 0 -115px no-repeat;
background: url(sprite.png) 0 -145px no-repeat;
background: url(sprite.png) 0 -90px no-repeat;
background: url(sprite.png) 0 -55px no-repeat;
background: url(sprite.png) 0 -30px no-repeat;
background: url(sprite.png) 0 0 no-repeat;
Copyright © 2012 FITPI. All rights reserved.
Sprites 的優缺點
26
๏ 好處:有效減少網路請求數量
❖ 太多請求對網頁的顯示是有影響的。
๏ 壞處:難以維護
❖ x, y 的位置得打開影像處理軟體查找。
๏ 已經有軟體可以自動化處理 :)
Copyright © 2012 FITPI. All rights reserved.
CSS 位置
不管是做圓⾓角、位置微調都會⽤用到
27
Copyright © 2012 FITPI. All rights reserved.
<div/>
<div/>
<div/>
<div/>
什麼都沒設時(position:static;)
28
Copyright © 2012 FITPI. All rights reserved.
<div/>
<div/>
<div/>
<div style=”position:absolute;
bottom:0;right:0;”>
當對某個區塊設了 position:absolute; 時
就脫離原有區塊的範圍、不佔空間
29
Copyright © 2012 FITPI. All rights reserved.
<div style=”position:relative;” />
<div/>
<div/>
<div style=”position:absolute;
bottom:0;right:0;”>
對⺟母區塊設定 position:relative;
則會限制住 position:absolute; 的⼦子區塊
30
Copyright © 2012 FITPI. All rights reserved.
31
Copyright © 2012 FITPI. All rights reserved.
๏ position31
Copyright © 2012 FITPI. All rights reserved.
๏ position
❖ static 預設
31
Copyright © 2012 FITPI. All rights reserved.
๏ position
❖ static 預設
❖ absolute 絕對定位
31
Copyright © 2012 FITPI. All rights reserved.
๏ position
❖ static 預設
❖ absolute 絕對定位
❖ relative 相對定位
31
Copyright © 2012 FITPI. All rights reserved.
๏ position
❖ static 預設
❖ absolute 絕對定位
❖ relative 相對定位
❖ fixed
31
Copyright © 2012 FITPI. All rights reserved.
๏ position
❖ static 預設
❖ absolute 絕對定位
❖ relative 相對定位
❖ fixed
๏ top, right, bottom, left 的配合
31
Copyright © 2012 FITPI. All rights reserved.
๏ position
❖ static 預設
❖ absolute 絕對定位
❖ relative 相對定位
❖ fixed
๏ top, right, bottom, left 的配合
❖ 在目前的位置往下移 5px
position:relative; top:5px;
31
Copyright © 2012 FITPI. All rights reserved.
๏ position
❖ static 預設
❖ absolute 絕對定位
❖ relative 相對定位
❖ fixed
๏ top, right, bottom, left 的配合
❖ 在目前的位置往下移 5px
position:relative; top:5px;
❖ 整份文件中的右下角:
position:absolute; right:0; bottom:0;
31
Copyright © 2012 FITPI. All rights reserved.
๏ position
❖ static 預設
❖ absolute 絕對定位
❖ relative 相對定位
❖ fixed
๏ top, right, bottom, left 的配合
❖ 在目前的位置往下移 5px
position:relative; top:5px;
❖ 整份文件中的右下角:
position:absolute; right:0; bottom:0;
❖ 可視區域的最下方(IE6不支援):
position:fixed;bottom:0;
31
Copyright © 2012 FITPI. All rights reserved.
1. 將 li 設定為 position:relative;
2. 將 img 設定為 position:absolute; 並利⽤用
top, right 做微調
練習:CSS 位置
32
http://f2eclass.com/lab/position.html
Copyright © 2012 FITPI. All rights reserved.
CSS Hack
針對不同瀏覽器做樣式處理
33
Copyright © 2012 FITPI. All rights reserved.
IE 6, IE7, IE8, IE9, 其他瀏覽器會有不同的底⾊色
#article .bd {
background:blue;
background:purple 0;
background:pink 9;
*background:green;
_background:red;
}
All Browsers
IE 7, IE 6
IE 6
34
IE8, IE7, IE6
IE9, IE8
常用 CSS Hack
⼤大多是為了 IE 特別修正,其他瀏覽器較少問題
Copyright © 2012 FITPI. All rights reserved.
讓 #article .bd 在 IE9 為 purple、IE8
為 green、IE7 為 red,其他瀏覽器為
pink。
練習:CSS Hack
35
http://f2eclass.com/lab/css-hack.html
Copyright © 2012 FITPI. All rights reserved.
進階知識與工具
36
๏ Reset CSS - 將樣式歸零
๏ CSS Grids - CSS 排版方式
๏ SASS / Compass - 必學工具
๏ CSS 3 必學屬性
๏ Twitter Bootstrap - 工程師也有好介面
๏ CSS Code Convention - 書寫規範
๏ CSS 繪圖
Copyright © 2012 FITPI. All rights reserved.
Reset CSS
๏ HTML 標籤本身都有預設樣式,但是每
個瀏覽器都有差異,加上大多不符合我
們的需求。
๏ HTML 是結構、不應該有任何樣式。
๏ 那麼我們就歸零吧、讓每個標籤的外觀
都一模一樣。
๏ 專業!所有的樣式都由自己重新定義。
37
Copyright © 2012 FITPI. All rights reserved.
Reset CSS 效果
38
Copyright © 2012 FITPI. All rights reserved.
Reset CSS 的選擇
๏ Eric Meyer
http://meyerweb.com/eric/tools/css/reset/
๏ YUI CSS Reset
http://yuilibrary.com/yui/docs/cssreset/
39
<link rel="stylesheet" type="text/css"
href="http://yui.yahooapis.com/3.7.2/build/cssreset/cssreset-min.css">
直接放在⾴頁⾯面上就⽣生效
Copyright © 2012 FITPI. All rights reserved.
CSS Grids
40
Copyright © 2012 FITPI. All rights reserved.
CSS Grids
๏ Grids 是指整個網頁的排版。
40
Copyright © 2012 FITPI. All rights reserved.
CSS Grids
๏ Grids 是指整個網頁的排版。
๏ CSS Float 會是排版的一種作法。
40
Copyright © 2012 FITPI. All rights reserved.
CSS Grids
๏ Grids 是指整個網頁的排版。
๏ CSS Float 會是排版的一種作法。
๏ 不建議自己開發排版,細節太多。
40
Copyright © 2012 FITPI. All rights reserved.
CSS Grids
๏ Grids 是指整個網頁的排版。
๏ CSS Float 會是排版的一種作法。
๏ 不建議自己開發排版,細節太多。
๏ 再簡單的網頁都應該引用穩定的 Grids
系統。
40
Copyright © 2012 FITPI. All rights reserved.
41
http://960.gs/
960gs
Copyright © 2012 FITPI. All rights reserved.
41
http://960.gs/
960gs
Copyright © 2012 FITPI. All rights reserved.
42
http://960.gs/
๏ 將網頁限制為 960 pixel。
๏ 依照 16 或 12 等分切格子。
๏ 好處是跟視覺設計師容易分工。
❖ 不用再橋一堆對齊的問題。
๏ 壞處是原始碼的順序沒辦法依 SEO 調整。
960gs
Copyright © 2012 FITPI. All rights reserved.
43
YUI 2 Grids
http://developer.yahoo.com/yui/grids/
側邊欄寬度為 240px
平均分配 50%, 50%
版⾯面寬度 950px
Copyright © 2012 FITPI. All rights reserved.
44
Copyright © 2012 FITPI. All rights reserved.
45
Copyright © 2012 FITPI. All rights reserved.
46
YUI 2 Grids
http://developer.yahoo.com/yui/grids/
Copyright © 2012 FITPI. All rights reserved.
46
๏ 頁面寬度多種可選。
YUI 2 Grids
http://developer.yahoo.com/yui/grids/
Copyright © 2012 FITPI. All rights reserved.
46
๏ 頁面寬度多種可選。
๏ 概念為「主要內容」與「側邊欄」。
YUI 2 Grids
http://developer.yahoo.com/yui/grids/
Copyright © 2012 FITPI. All rights reserved.
46
๏ 頁面寬度多種可選。
๏ 概念為「主要內容」與「側邊欄」。
๏ 側邊欄可自由調整左右、各三種寬度。
YUI 2 Grids
http://developer.yahoo.com/yui/grids/
Copyright © 2012 FITPI. All rights reserved.
46
๏ 頁面寬度多種可選。
๏ 概念為「主要內容」與「側邊欄」。
๏ 側邊欄可自由調整左右、各三種寬度。
๏ 內容寬度 = 頁面寬度 - 側邊欄寬度。
YUI 2 Grids
http://developer.yahoo.com/yui/grids/
Copyright © 2012 FITPI. All rights reserved.
46
๏ 頁面寬度多種可選。
๏ 概念為「主要內容」與「側邊欄」。
๏ 側邊欄可自由調整左右、各三種寬度。
๏ 內容寬度 = 頁面寬度 - 側邊欄寬度。
๏ 即使重要的內容在右邊、也可以在原始碼中
早點顯示。
YUI 2 Grids
http://developer.yahoo.com/yui/grids/
Copyright © 2012 FITPI. All rights reserved.
練習:使用 Grid Builder
http://developer.yahoo.com/yui/grids/builder/
快速 DIV + CSS 版面產生器
47
Copyright © 2012 FITPI. All rights reserved.
48
CSS3 與 Sprite 救星
一套命令列的軟體
讓你可以用 SASS 更結構化的方式寫 CSS
並且提供了許多好用的功能 (mixin)!
http://compass-style.org/
Copyright © 2012 FITPI. All rights reserved.
49
a.scss - 你所撰寫及維護的 a.css - ⼯工具⾃自動產⽣生的
巢狀式 CSS
Copyright © 2012 FITPI. All rights reserved.
輕鬆寫 CSS3
50
@import "compass";
.foo {
    @include border-radius(5px);
    @include box-shadow(10px);
}
/* line 3, ../sass/foo.scss */
.foo {
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
    border-radius: 5px;
    -webkit-box-shadow: 10px;
    -moz-box-shadow: 10px;
    box-shadow: 10px;
}
foo.scss
foo.css
CSS3 支援度在每個瀏覽器還有一些差異,
目前大多還是會冠上各自廠商的 prefix
使用 Compass,你只要寫一種就可以產出
所有瀏覽器所需的 CSS,十分輕鬆!
Copyright © 2012 FITPI. All rights reserved.
51
安裝並設定 Scout
免費版跨平台 GUI 的 Compass 工具
新增專案
設定寫 SASS 的地⽅方
設定輸出成 CSS 的地⽅方
監控此⺫⽬目錄是否有改變、
會⾃自動更新你的 CSS
組態設定
更新記錄
http://mhs.github.com/scout-app/
設定圖檔位置
Copyright © 2012 FITPI. All rights reserved.
練習 Compass
52
Copyright © 2012 FITPI. All rights reserved.
練習 Compass
52
๏ 請下載 http://f2eclass.com/lab/css/compass.zip
Copyright © 2012 FITPI. All rights reserved.
練習 Compass
52
๏ 請下載 http://f2eclass.com/lab/css/compass.zip
๏ 解壓縮到你的網站根目錄 C:AppServwww
Copyright © 2012 FITPI. All rights reserved.
練習 Compass
52
๏ 請下載 http://f2eclass.com/lab/css/compass.zip
๏ 解壓縮到你的網站根目錄 C:AppServwww
๏ 會有 sass, stylesheets, images 等目錄
Copyright © 2012 FITPI. All rights reserved.
練習 Compass
52
๏ 請下載 http://f2eclass.com/lab/css/compass.zip
๏ 解壓縮到你的網站根目錄 C:AppServwww
๏ 會有 sass, stylesheets, images 等目錄
❖ sass 是原始檔
Copyright © 2012 FITPI. All rights reserved.
練習 Compass
52
๏ 請下載 http://f2eclass.com/lab/css/compass.zip
๏ 解壓縮到你的網站根目錄 C:AppServwww
๏ 會有 sass, stylesheets, images 等目錄
❖ sass 是原始檔
❖ stylesheets 是由 sass 轉出、實際被瀏覽器讀取的 css 檔
Copyright © 2012 FITPI. All rights reserved.
練習 Compass
52
๏ 請下載 http://f2eclass.com/lab/css/compass.zip
๏ 解壓縮到你的網站根目錄 C:AppServwww
๏ 會有 sass, stylesheets, images 等目錄
❖ sass 是原始檔
❖ stylesheets 是由 sass 轉出、實際被瀏覽器讀取的 css 檔
❖ images 下有我預先準備好的圖檔
Copyright © 2012 FITPI. All rights reserved.
練習 Compass
52
๏ 請下載 http://f2eclass.com/lab/css/compass.zip
๏ 解壓縮到你的網站根目錄 C:AppServwww
๏ 會有 sass, stylesheets, images 等目錄
❖ sass 是原始檔
❖ stylesheets 是由 sass 轉出、實際被瀏覽器讀取的 css 檔
❖ images 下有我預先準備好的圖檔
๏ Scout 設定好後啟動、檔案變動會自動產生。
Copyright © 2012 FITPI. All rights reserved.
練習 Compass
52
๏ 請下載 http://f2eclass.com/lab/css/compass.zip
๏ 解壓縮到你的網站根目錄 C:AppServwww
๏ 會有 sass, stylesheets, images 等目錄
❖ sass 是原始檔
❖ stylesheets 是由 sass 轉出、實際被瀏覽器讀取的 css 檔
❖ images 下有我預先準備好的圖檔
๏ Scout 設定好後啟動、檔案變動會自動產生。
๏ Sublime Text 2 得有 config.rb 配合 Build。
Copyright © 2012 FITPI. All rights reserved.
練習 Compass
52
๏ 請下載 http://f2eclass.com/lab/css/compass.zip
๏ 解壓縮到你的網站根目錄 C:AppServwww
๏ 會有 sass, stylesheets, images 等目錄
❖ sass 是原始檔
❖ stylesheets 是由 sass 轉出、實際被瀏覽器讀取的 css 檔
❖ images 下有我預先準備好的圖檔
๏ Scout 設定好後啟動、檔案變動會自動產生。
๏ Sublime Text 2 得有 config.rb 配合 Build。
๏ 有 normal.html, basic-sprite.html, auto-
sprite.html 三個檔案請大家練習。
Copyright © 2012 FITPI. All rights reserved.
53
๏ SASS Syntactically Awesome StyleSheets
http://sass-lang.com
定義了基礎語法
๏ Compass CSS Authoring Framweork
http://compass-style.org/
基於 SASS 所做的框架、請多參考這邊的文件
๏ Scout Compass and Sass without all hassle
http://mhs.github.com/scout-app/
跨平台且免費的 SASS 工具
Compass 參考連結
Copyright © 2012 FITPI. All rights reserved.
54
Twitter Bootstrap
http://twitter.github.com/bootstrap/
Copyright © 2012 FITPI. All rights reserved.
๏ 工程師也能有好樣式
54
Twitter Bootstrap
http://twitter.github.com/bootstrap/
Copyright © 2012 FITPI. All rights reserved.
๏ 工程師也能有好樣式
๏ 在頁面上引用外部 CSS、透過 Bootstrap 預先定
義的 HTML 結構與 Class 名稱即可使用。例如
class="btn"
54
Twitter Bootstrap
http://twitter.github.com/bootstrap/
Copyright © 2012 FITPI. All rights reserved.
๏ 工程師也能有好樣式
๏ 在頁面上引用外部 CSS、透過 Bootstrap 預先定
義的 HTML 結構與 Class 名稱即可使用。例如
class="btn"
๏ 適合用在不需特別樣式的地方,例如 CMS 或
Prototype。但有自定樣式的地方,例如形象網站
就不適合了。
54
Twitter Bootstrap
http://twitter.github.com/bootstrap/
Copyright © 2012 FITPI. All rights reserved.
55
CSS3 必學屬性
Copyright © 2012 FITPI. All rights reserved.
๏ background: rgba 半透明
55
CSS3 必學屬性
Copyright © 2012 FITPI. All rights reserved.
๏ background: rgba 半透明
๏ background-image: linear-gradient 漸層
55
CSS3 必學屬性
Copyright © 2012 FITPI. All rights reserved.
๏ background: rgba 半透明
๏ background-image: linear-gradient 漸層
๏ border-radius 圓角
55
CSS3 必學屬性
Copyright © 2012 FITPI. All rights reserved.
๏ background: rgba 半透明
๏ background-image: linear-gradient 漸層
๏ border-radius 圓角
๏ box-shadow 盒子的陰影
55
CSS3 必學屬性
Copyright © 2012 FITPI. All rights reserved.
๏ background: rgba 半透明
๏ background-image: linear-gradient 漸層
๏ border-radius 圓角
๏ box-shadow 盒子的陰影
๏ text-shadow 文字的陰影
55
CSS3 必學屬性
Copyright © 2012 FITPI. All rights reserved.
๏ background: rgba 半透明
๏ background-image: linear-gradient 漸層
๏ border-radius 圓角
๏ box-shadow 盒子的陰影
๏ text-shadow 文字的陰影
๏ transition 換場
55
CSS3 必學屬性
Copyright © 2012 FITPI. All rights reserved.
CSS 書寫規範
56
有⼀一致的書寫規範,程式才能⽤用得久
Copyright © 2012 FITPI. All rights reserved.
CSS 書寫規範
56
有⼀一致的書寫規範,程式才能⽤用得久
๏ 絕對不以樣式命名 HTML 的 id 或 class 屬性。
Copyright © 2012 FITPI. All rights reserved.
CSS 書寫規範
56
有⼀一致的書寫規範,程式才能⽤用得久
๏ 絕對不以樣式命名 HTML 的 id 或 class 屬性。
๏ class 與 id 命名採用小寫配合破折號連接。
Copyright © 2012 FITPI. All rights reserved.
CSS 書寫規範
56
有⼀一致的書寫規範,程式才能⽤用得久
๏ 絕對不以樣式命名 HTML 的 id 或 class 屬性。
๏ class 與 id 命名採用小寫配合破折號連接。
๏ 屬性按照字母順序 (a-z) 做排序。
Copyright © 2012 FITPI. All rights reserved.
CSS 書寫規範
56
有⼀一致的書寫規範,程式才能⽤用得久
๏ 絕對不以樣式命名 HTML 的 id 或 class 屬性。
๏ class 與 id 命名採用小寫配合破折號連接。
๏ 屬性按照字母順序 (a-z) 做排序。
๏ 選擇器後空一格放大括號開頭、大括號結尾占一行。
Copyright © 2012 FITPI. All rights reserved.
CSS 書寫規範
56
有⼀一致的書寫規範,程式才能⽤用得久
๏ 絕對不以樣式命名 HTML 的 id 或 class 屬性。
๏ class 與 id 命名採用小寫配合破折號連接。
๏ 屬性按照字母順序 (a-z) 做排序。
๏ 選擇器後空一格放大括號開頭、大括號結尾占一行。
๏ 所有屬性皆單獨一行、以 4 個 Spaces 開頭。
Copyright © 2012 FITPI. All rights reserved.
CSS 書寫規範
56
有⼀一致的書寫規範,程式才能⽤用得久
๏ 絕對不以樣式命名 HTML 的 id 或 class 屬性。
๏ class 與 id 命名採用小寫配合破折號連接。
๏ 屬性按照字母順序 (a-z) 做排序。
๏ 選擇器後空一格放大括號開頭、大括號結尾占一行。
๏ 所有屬性皆單獨一行、以 4 個 Spaces 開頭。
๏ 顏色碼一律採用小寫。
Copyright © 2012 FITPI. All rights reserved.
CSS 書寫規範
56
有⼀一致的書寫規範,程式才能⽤用得久
๏ 絕對不以樣式命名 HTML 的 id 或 class 屬性。
๏ class 與 id 命名採用小寫配合破折號連接。
๏ 屬性按照字母順序 (a-z) 做排序。
๏ 選擇器後空一格放大括號開頭、大括號結尾占一行。
๏ 所有屬性皆單獨一行、以 4 個 Spaces 開頭。
๏ 顏色碼一律採用小寫。
๏ 屬性值後一律加上分號。
Copyright © 2012 FITPI. All rights reserved.
CSS 書寫規範
56
有⼀一致的書寫規範,程式才能⽤用得久
๏ 絕對不以樣式命名 HTML 的 id 或 class 屬性。
๏ class 與 id 命名採用小寫配合破折號連接。
๏ 屬性按照字母順序 (a-z) 做排序。
๏ 選擇器後空一格放大括號開頭、大括號結尾占一行。
๏ 所有屬性皆單獨一行、以 4 個 Spaces 開頭。
๏ 顏色碼一律採用小寫。
๏ 屬性值後一律加上分號。
๏ 採用 HTML 模組化開發、對共用的部份要小心。
Copyright © 2012 FITPI. All rights reserved.
CSS 書寫規範
56
有⼀一致的書寫規範,程式才能⽤用得久
๏ 絕對不以樣式命名 HTML 的 id 或 class 屬性。
๏ class 與 id 命名採用小寫配合破折號連接。
๏ 屬性按照字母順序 (a-z) 做排序。
๏ 選擇器後空一格放大括號開頭、大括號結尾占一行。
๏ 所有屬性皆單獨一行、以 4 個 Spaces 開頭。
๏ 顏色碼一律採用小寫。
๏ 屬性值後一律加上分號。
๏ 採用 HTML 模組化開發、對共用的部份要小心。
以上書寫規範只是建議,你可以⾃自訂
Copyright © 2012 FITPI. All rights reserved.
57
課程回顧
Copyright © 2012 FITPI. All rights reserved.
57
課程回顧
๏ 請花點時間看過 CSS 的所有屬性。
Copyright © 2012 FITPI. All rights reserved.
57
課程回顧
๏ 請花點時間看過 CSS 的所有屬性。
๏ ID 選擇器:給予樣式設定命名空間。
Copyright © 2012 FITPI. All rights reserved.
57
課程回顧
๏ 請花點時間看過 CSS 的所有屬性。
๏ ID 選擇器:給予樣式設定命名空間。
๏ Class 選擇器:最常用來設定 CSS 樣式。
Copyright © 2012 FITPI. All rights reserved.
57
課程回顧
๏ 請花點時間看過 CSS 的所有屬性。
๏ ID 選擇器:給予樣式設定命名空間。
๏ Class 選擇器:最常用來設定 CSS 樣式。
๏ 以上兩者的命名都應該避免參雜樣式
Copyright © 2012 FITPI. All rights reserved.
57
課程回顧
๏ 請花點時間看過 CSS 的所有屬性。
๏ ID 選擇器:給予樣式設定命名空間。
๏ Class 選擇器:最常用來設定 CSS 樣式。
๏ 以上兩者的命名都應該避免參雜樣式
❖ 例如:topnav, leftbar, red12px, bottom-ad, black-bar...
Copyright © 2012 FITPI. All rights reserved.
57
課程回顧
๏ 請花點時間看過 CSS 的所有屬性。
๏ ID 選擇器:給予樣式設定命名空間。
๏ Class 選擇器:最常用來設定 CSS 樣式。
๏ 以上兩者的命名都應該避免參雜樣式
❖ 例如:topnav, leftbar, red12px, bottom-ad, black-bar...
๏ 選擇器需用結構來命名。
Copyright © 2012 FITPI. All rights reserved.
57
課程回顧
๏ 請花點時間看過 CSS 的所有屬性。
๏ ID 選擇器:給予樣式設定命名空間。
๏ Class 選擇器:最常用來設定 CSS 樣式。
๏ 以上兩者的命名都應該避免參雜樣式
❖ 例如:topnav, leftbar, red12px, bottom-ad, black-bar...
๏ 選擇器需用結構來命名。
❖ 例如:sidebar, nav, extra, ad-lrec...
Copyright © 2012 FITPI. All rights reserved.
57
課程回顧
๏ 請花點時間看過 CSS 的所有屬性。
๏ ID 選擇器:給予樣式設定命名空間。
๏ Class 選擇器:最常用來設定 CSS 樣式。
๏ 以上兩者的命名都應該避免參雜樣式
❖ 例如:topnav, leftbar, red12px, bottom-ad, black-bar...
๏ 選擇器需用結構來命名。
❖ 例如:sidebar, nav, extra, ad-lrec...
๏ Compass 讓寫 CSS 更結構化、Sprite 更自動。
Copyright © 2012 FITPI. All rights reserved.
57
課程回顧
๏ 請花點時間看過 CSS 的所有屬性。
๏ ID 選擇器:給予樣式設定命名空間。
๏ Class 選擇器:最常用來設定 CSS 樣式。
๏ 以上兩者的命名都應該避免參雜樣式
❖ 例如:topnav, leftbar, red12px, bottom-ad, black-bar...
๏ 選擇器需用結構來命名。
❖ 例如:sidebar, nav, extra, ad-lrec...
๏ Compass 讓寫 CSS 更結構化、Sprite 更自動。
๏ Bootstrap 提供很棒的樣式,你的產品適合嗎?
Copyright © 2012 FITPI. All rights reserved.
58
Q & A

Más contenido relacionado

La actualidad más candente

Chemical Resistance Chart
Chemical Resistance ChartChemical Resistance Chart
Chemical Resistance Chart
alexsung1975
 
Tkz euclide-screen
Tkz euclide-screenTkz euclide-screen
Tkz euclide-screen
emakrizi
 
值得一看的繪本 小點點
值得一看的繪本 小點點值得一看的繪本 小點點
值得一看的繪本 小點點
wu0518
 
최종본 위챗 마케팅 제안서_이형민 마케터
최종본 위챗 마케팅 제안서_이형민 마케터최종본 위챗 마케팅 제안서_이형민 마케터
최종본 위챗 마케팅 제안서_이형민 마케터
Hyungmin Lee
 
برنامج اتحاد الشاغلين - TAB ERP
برنامج اتحاد الشاغلين - TAB ERP برنامج اتحاد الشاغلين - TAB ERP
برنامج اتحاد الشاغلين - TAB ERP
Seham Ahmed
 

La actualidad más candente (13)

Chemical Resistance Chart
Chemical Resistance ChartChemical Resistance Chart
Chemical Resistance Chart
 
Triangle Chart
Triangle ChartTriangle Chart
Triangle Chart
 
Tkz euclide-screen
Tkz euclide-screenTkz euclide-screen
Tkz euclide-screen
 
Chris brooks storage tanks inspection, maintenance and failure
Chris brooks   storage tanks inspection, maintenance and failureChris brooks   storage tanks inspection, maintenance and failure
Chris brooks storage tanks inspection, maintenance and failure
 
單元二 差不多先生
單元二   差不多先生單元二   差不多先生
單元二 差不多先生
 
值得一看的繪本 小點點
值得一看的繪本 小點點值得一看的繪本 小點點
值得一看的繪本 小點點
 
Sm s4 d106 series webm4d9801
Sm s4 d106 series webm4d9801Sm s4 d106 series webm4d9801
Sm s4 d106 series webm4d9801
 
312000 brachement
312000 brachement312000 brachement
312000 brachement
 
Massey ferguson mf 274 cf crawler parts catalogue manual
Massey ferguson mf 274 cf crawler parts catalogue manualMassey ferguson mf 274 cf crawler parts catalogue manual
Massey ferguson mf 274 cf crawler parts catalogue manual
 
How to Change Time Format in Outlook ?
How to Change Time Format in Outlook ?How to Change Time Format in Outlook ?
How to Change Time Format in Outlook ?
 
최종본 위챗 마케팅 제안서_이형민 마케터
최종본 위챗 마케팅 제안서_이형민 마케터최종본 위챗 마케팅 제안서_이형민 마케터
최종본 위챗 마케팅 제안서_이형민 마케터
 
고등교육 학습관리시스템(LMS) 기준모형개발 기획 연구
고등교육 학습관리시스템(LMS) 기준모형개발 기획 연구고등교육 학습관리시스템(LMS) 기준모형개발 기획 연구
고등교육 학습관리시스템(LMS) 기준모형개발 기획 연구
 
برنامج اتحاد الشاغلين - TAB ERP
برنامج اتحاد الشاغلين - TAB ERP برنامج اتحاد الشاغلين - TAB ERP
برنامج اتحاد الشاغلين - TAB ERP
 

Destacado

前端工程開發實務訓練
前端工程開發實務訓練前端工程開發實務訓練
前端工程開發實務訓練
Joseph Chiang
 
YUI 教學 - 前端工程開發實務訓練
YUI 教學 - 前端工程開發實務訓練YUI 教學 - 前端工程開發實務訓練
YUI 教學 - 前端工程開發實務訓練
Joseph Chiang
 
HTML 入門 - 前端工程開發實務訓練
HTML 入門 - 前端工程開發實務訓練HTML 入門 - 前端工程開發實務訓練
HTML 入門 - 前端工程開發實務訓練
Joseph Chiang
 
Performance 入門 - 前端工程開發實務訓練
Performance 入門 - 前端工程開發實務訓練Performance 入門 - 前端工程開發實務訓練
Performance 入門 - 前端工程開發實務訓練
Joseph Chiang
 
Open Cart 模組架站教學
Open Cart 模組架站教學Open Cart 模組架站教學
Open Cart 模組架站教學
蘇姵欣 PeiSu
 

Destacado (20)

前端工程開發實務訓練
前端工程開發實務訓練前端工程開發實務訓練
前端工程開發實務訓練
 
好的網頁設計概念
好的網頁設計概念好的網頁設計概念
好的網頁設計概念
 
Sublime Text 入門
Sublime Text 入門Sublime Text 入門
Sublime Text 入門
 
F2E, the Keystone
F2E, the KeystoneF2E, the Keystone
F2E, the Keystone
 
From Hacker to Programmer (w/ Webpack, Babel and React)
From Hacker to Programmer (w/ Webpack, Babel and React)From Hacker to Programmer (w/ Webpack, Babel and React)
From Hacker to Programmer (w/ Webpack, Babel and React)
 
Css教學
Css教學Css教學
Css教學
 
Sublime text 極速應用教學
Sublime text 極速應用教學Sublime text 極速應用教學
Sublime text 極速應用教學
 
YUI 教學 - 前端工程開發實務訓練
YUI 教學 - 前端工程開發實務訓練YUI 教學 - 前端工程開發實務訓練
YUI 教學 - 前端工程開發實務訓練
 
HTML 入門 - 前端工程開發實務訓練
HTML 入門 - 前端工程開發實務訓練HTML 入門 - 前端工程開發實務訓練
HTML 入門 - 前端工程開發實務訓練
 
Performance 入門 - 前端工程開發實務訓練
Performance 入門 - 前端工程開發實務訓練Performance 入門 - 前端工程開發實務訓練
Performance 入門 - 前端工程開發實務訓練
 
標籤設計 - 100網站規劃必備的知識
標籤設計 - 100網站規劃必備的知識標籤設計 - 100網站規劃必備的知識
標籤設計 - 100網站規劃必備的知識
 
網頁三本柱之Html與css
網頁三本柱之Html與css網頁三本柱之Html與css
網頁三本柱之Html與css
 
HTML教學
HTML教學HTML教學
HTML教學
 
jQuery 把玩 SVG 初體驗
jQuery 把玩 SVG 初體驗jQuery 把玩 SVG 初體驗
jQuery 把玩 SVG 初體驗
 
台科大暑期資工營 - 前端入門
台科大暑期資工營 - 前端入門台科大暑期資工營 - 前端入門
台科大暑期資工營 - 前端入門
 
Open Cart 模組架站教學
Open Cart 模組架站教學Open Cart 模組架站教學
Open Cart 模組架站教學
 
Sublime 外掛安裝教學
Sublime 外掛安裝教學Sublime 外掛安裝教學
Sublime 外掛安裝教學
 
IT工程師的職涯發展規劃 2016427
 IT工程師的職涯發展規劃 2016427 IT工程師的職涯發展規劃 2016427
IT工程師的職涯發展規劃 2016427
 
不断归零的前端人生 - 2016 中国软件开发者大会
不断归零的前端人生 - 2016 中国软件开发者大会不断归零的前端人生 - 2016 中国软件开发者大会
不断归零的前端人生 - 2016 中国软件开发者大会
 
RWD不是你想的那樣 tw mvc#13
RWD不是你想的那樣 tw mvc#13RWD不是你想的那樣 tw mvc#13
RWD不是你想的那樣 tw mvc#13
 

Similar a CSS 入門 - 前端工程開發實務訓練

Html&css培训 舒克
Html&css培训 舒克Html&css培训 舒克
Html&css培训 舒克
jay li
 
Koubei banquet 34
Koubei banquet 34Koubei banquet 34
Koubei banquet 34
Koubei UED
 
CSS 培训
CSS 培训CSS 培训
CSS 培训
S S
 
网站重构&Web标准设计第二版
网站重构&Web标准设计第二版网站重构&Web标准设计第二版
网站重构&Web标准设计第二版
志勇 孙
 
网页制作基础
网页制作基础网页制作基础
网页制作基础
loo2k
 
Div+Css布局入门教程
Div+Css布局入门教程Div+Css布局入门教程
Div+Css布局入门教程
yiditushe
 

Similar a CSS 入門 - 前端工程開發實務訓練 (20)

2010 01-07周五分享 前端的那些事儿-小米猪
2010 01-07周五分享 前端的那些事儿-小米猪2010 01-07周五分享 前端的那些事儿-小米猪
2010 01-07周五分享 前端的那些事儿-小米猪
 
CSS 分享 (2) CSS 基本概念與語法
CSS 分享 (2) CSS 基本概念與語法CSS 分享 (2) CSS 基本概念與語法
CSS 分享 (2) CSS 基本概念與語法
 
20131004 - Css - Basic & Styling by 懿鋆
20131004 - Css - Basic & Styling by 懿鋆20131004 - Css - Basic & Styling by 懿鋆
20131004 - Css - Basic & Styling by 懿鋆
 
Html&css培训 舒克
Html&css培训 舒克Html&css培训 舒克
Html&css培训 舒克
 
CSS 菜鳥救星
CSS 菜鳥救星CSS 菜鳥救星
CSS 菜鳥救星
 
高效率的、可维护的Css
高效率的、可维护的Css高效率的、可维护的Css
高效率的、可维护的Css
 
[译]Efficient, maintainable CSS
[译]Efficient, maintainable CSS[译]Efficient, maintainable CSS
[译]Efficient, maintainable CSS
 
Div+css布局
Div+css布局Div+css布局
Div+css布局
 
調配網站的明星花露水
調配網站的明星花露水調配網站的明星花露水
調配網站的明星花露水
 
Koubei banquet 34
Koubei banquet 34Koubei banquet 34
Koubei banquet 34
 
CSS 培训
CSS 培训CSS 培训
CSS 培训
 
Html&css基础
Html&css基础Html&css基础
Html&css基础
 
模块加载策略 - 2012 SDCC, 北京
模块加载策略 - 2012 SDCC, 北京模块加载策略 - 2012 SDCC, 北京
模块加载策略 - 2012 SDCC, 北京
 
深入剖析浏览器
深入剖析浏览器深入剖析浏览器
深入剖析浏览器
 
网站重构&Web标准设计第二版
网站重构&Web标准设计第二版网站重构&Web标准设计第二版
网站重构&Web标准设计第二版
 
Modern Web with CSS and CSS Grid (image with links inside)
Modern Web with CSS and CSS Grid (image with links inside)Modern Web with CSS and CSS Grid (image with links inside)
Modern Web with CSS and CSS Grid (image with links inside)
 
网页制作基础
网页制作基础网页制作基础
网页制作基础
 
漫談 CSS 架構方法 - 以 OOCSS, SMACSS, BEM 為例
漫談 CSS 架構方法 - 以 OOCSS, SMACSS, BEM 為例漫談 CSS 架構方法 - 以 OOCSS, SMACSS, BEM 為例
漫談 CSS 架構方法 - 以 OOCSS, SMACSS, BEM 為例
 
Div+Css布局入门教程
Div+Css布局入门教程Div+Css布局入门教程
Div+Css布局入门教程
 
OPENCART 購物平台開發實務 DAY3教學 for 1.5.X
OPENCART 購物平台開發實務 DAY3教學 for 1.5.XOPENCART 購物平台開發實務 DAY3教學 for 1.5.X
OPENCART 購物平台開發實務 DAY3教學 for 1.5.X
 

Más de Joseph Chiang

前端的未來 - 前端工程實務訓練
前端的未來 - 前端工程實務訓練前端的未來 - 前端工程實務訓練
前端的未來 - 前端工程實務訓練
Joseph Chiang
 
Debugging - 前端工程開發實務訓練
 Debugging - 前端工程開發實務訓練 Debugging - 前端工程開發實務訓練
Debugging - 前端工程開發實務訓練
Joseph Chiang
 
Javascript 入門 - 前端工程開發實務訓練
Javascript 入門 - 前端工程開發實務訓練Javascript 入門 - 前端工程開發實務訓練
Javascript 入門 - 前端工程開發實務訓練
Joseph Chiang
 
Node.js 入門 - 前端工程開發實務訓練
Node.js 入門 - 前端工程開發實務訓練Node.js 入門 - 前端工程開發實務訓練
Node.js 入門 - 前端工程開發實務訓練
Joseph Chiang
 
建立前端開發團隊 - 2011 中華電信訓練所版
建立前端開發團隊 - 2011 中華電信訓練所版建立前端開發團隊 - 2011 中華電信訓練所版
建立前端開發團隊 - 2011 中華電信訓練所版
Joseph Chiang
 
Front-end Modular & Autmomated Development
Front-end Modular & Autmomated Development Front-end Modular & Autmomated Development
Front-end Modular & Autmomated Development
Joseph Chiang
 

Más de Joseph Chiang (20)

Let's Redux!
Let's Redux!Let's Redux!
Let's Redux!
 
Automatic Functional Testing with Selenium and SauceLabs
Automatic Functional Testing with Selenium and SauceLabsAutomatic Functional Testing with Selenium and SauceLabs
Automatic Functional Testing with Selenium and SauceLabs
 
JavaScript Promise
JavaScript PromiseJavaScript Promise
JavaScript Promise
 
F2E for Enterprise
F2E for EnterpriseF2E for Enterprise
F2E for Enterprise
 
JavaScript Code Quality
JavaScript Code QualityJavaScript Code Quality
JavaScript Code Quality
 
前端的未來 - 前端工程實務訓練
前端的未來 - 前端工程實務訓練前端的未來 - 前端工程實務訓練
前端的未來 - 前端工程實務訓練
 
Debugging - 前端工程開發實務訓練
 Debugging - 前端工程開發實務訓練 Debugging - 前端工程開發實務訓練
Debugging - 前端工程開發實務訓練
 
Javascript 入門 - 前端工程開發實務訓練
Javascript 入門 - 前端工程開發實務訓練Javascript 入門 - 前端工程開發實務訓練
Javascript 入門 - 前端工程開發實務訓練
 
Node.js 入門 - 前端工程開發實務訓練
Node.js 入門 - 前端工程開發實務訓練Node.js 入門 - 前端工程開發實務訓練
Node.js 入門 - 前端工程開發實務訓練
 
YUI is Sexy (for JSDC.tw)
YUI is Sexy (for JSDC.tw)YUI is Sexy (for JSDC.tw)
YUI is Sexy (for JSDC.tw)
 
YUI is Sexy - 使用 YUI 作為開發基礎
YUI is Sexy - 使用 YUI 作為開發基礎YUI is Sexy - 使用 YUI 作為開發基礎
YUI is Sexy - 使用 YUI 作為開發基礎
 
Git - The Social Coding System
Git - The Social Coding SystemGit - The Social Coding System
Git - The Social Coding System
 
miiiCasa is Fun
miiiCasa is FunmiiiCasa is Fun
miiiCasa is Fun
 
分享無名小站 API
分享無名小站 API分享無名小站 API
分享無名小站 API
 
yui3 is Sexy - 使用 YUI 3 的 Sexy Part !
yui3 is Sexy - 使用 YUI 3 的 Sexy Part !yui3 is Sexy - 使用 YUI 3 的 Sexy Part !
yui3 is Sexy - 使用 YUI 3 的 Sexy Part !
 
建立前端開發團隊 - 2011 中華電信訓練所版
建立前端開發團隊 - 2011 中華電信訓練所版建立前端開發團隊 - 2011 中華電信訓練所版
建立前端開發團隊 - 2011 中華電信訓練所版
 
不用不可之 Fiddler Debugging Proxy!
不用不可之 Fiddler Debugging Proxy!不用不可之 Fiddler Debugging Proxy!
不用不可之 Fiddler Debugging Proxy!
 
Open platform
Open platformOpen platform
Open platform
 
Front-end Modular & Autmomated Development
Front-end Modular & Autmomated Development Front-end Modular & Autmomated Development
Front-end Modular & Autmomated Development
 
建立前端开发团队 (Front-end Development Environment)
建立前端开发团队 (Front-end Development Environment)建立前端开发团队 (Front-end Development Environment)
建立前端开发团队 (Front-end Development Environment)
 

CSS 入門 - 前端工程開發實務訓練

  • 1. Copyright © 2012 FITPI. All rights reserved. 樣式之美 CSS 1 前端工程開發實務訓練 (2/8) 講師:蔣定宇 / josephj
  • 2. Copyright © 2012 FITPI. All rights reserved. 很好上⼿手,重點在了解有哪些屬性 2 CSS 基礎知識
  • 3. Copyright © 2012 FITPI. All rights reserved. 行間 CSS 3 直接在標籤內使用 style 屬性 Inline CSS
  • 4. Copyright © 2012 FITPI. All rights reserved. 行間 CSS 3 直接在標籤內使用 style 屬性 <p style="屬性名稱:屬性值;">...</p> Inline CSS
  • 5. Copyright © 2012 FITPI. All rights reserved. 嵌入式 CSS 4 直接將 CSS 寫在 HTML 內的作法 Embedded CSS
  • 6. Copyright © 2012 FITPI. All rights reserved. 嵌入式 CSS 4 直接將 CSS 寫在 HTML 內的作法 <style></style> 標籤 Embedded CSS
  • 7. Copyright © 2012 FITPI. All rights reserved. 嵌入式 CSS 4 直接將 CSS 寫在 HTML 內的作法 <style type="text/css" media="顯⽰示媒介名稱"> 選擇器 {     屬性名稱:屬性值; } </style> type 可省略 media 在何種媒介顯示 ・印表機 = printer ・電腦螢幕 = screen ・預設是全部 = all <style></style> 標籤 Embedded CSS
  • 8. Copyright © 2012 FITPI. All rights reserved. 嵌入式 CSS 4 直接將 CSS 寫在 HTML 內的作法 <style type="text/css" media="顯⽰示媒介名稱"> 選擇器 {     屬性名稱:屬性值; } </style> type 可省略 media 在何種媒介顯示 ・印表機 = printer ・電腦螢幕 = screen ・預設是全部 = all <style></style> 標籤 CSS 內容 Embedded CSS
  • 9. Copyright © 2012 FITPI. All rights reserved. 嵌入式 CSS 4 直接將 CSS 寫在 HTML 內的作法 <style type="text/css" media="顯⽰示媒介名稱"> 選擇器 {     屬性名稱:屬性值; } </style> type 可省略 media 在何種媒介顯示 ・印表機 = printer ・電腦螢幕 = screen ・預設是全部 = all <style></style> 標籤 CSS 內容 建議放置位置:</head> 之前 Embedded CSS
  • 10. Copyright © 2012 FITPI. All rights reserved. 外部 CSS 5 引用外部 CSS 檔案(建議附檔名為 .css) External CSS
  • 11. Copyright © 2012 FITPI. All rights reserved. 外部 CSS 5 引用外部 CSS 檔案(建議附檔名為 .css) <link> 標籤 (無結尾) External CSS
  • 12. Copyright © 2012 FITPI. All rights reserved. 外部 CSS 5 引用外部 CSS 檔案(建議附檔名為 .css) <link rel="stylesheet" href="CSS 檔案路徑" media="顯⽰示媒介名稱"> <link> 標籤 (無結尾) External CSS
  • 13. Copyright © 2012 FITPI. All rights reserved. 外部 CSS 5 引用外部 CSS 檔案(建議附檔名為 .css) <link rel="stylesheet" href="CSS 檔案路徑" media="顯⽰示媒介名稱"> 必須指定 <link> 標籤 (無結尾) External CSS
  • 14. Copyright © 2012 FITPI. All rights reserved. 外部 CSS 5 引用外部 CSS 檔案(建議附檔名為 .css) <link rel="stylesheet" href="CSS 檔案路徑" media="顯⽰示媒介名稱"> 必須指定 與前面相同 <link> 標籤 (無結尾) External CSS
  • 15. Copyright © 2012 FITPI. All rights reserved. 外部 CSS 5 引用外部 CSS 檔案(建議附檔名為 .css) <link rel="stylesheet" href="CSS 檔案路徑" media="顯⽰示媒介名稱"> 必須指定 與前面相同 <link> 標籤 (無結尾) 選擇器 {     屬性名稱:屬性值; } 與外部檔案連結 ※ 不需 style 標籤 External CSS
  • 16. Copyright © 2012 FITPI. All rights reserved. 外部 CSS 5 引用外部 CSS 檔案(建議附檔名為 .css) <link rel="stylesheet" href="CSS 檔案路徑" media="顯⽰示媒介名稱"> 必須指定 與前面相同 <link> 標籤 (無結尾) 另外還有 HTML Tag 中的 style,正常情況用不到 選擇器 {     屬性名稱:屬性值; } 與外部檔案連結 ※ 不需 style 標籤 External CSS
  • 17. Copyright © 2012 FITPI. All rights reserved. 該用哪一種? 6
  • 18. Copyright © 2012 FITPI. All rights reserved. 該用哪一種? 6 99% 的情況都應該使⽤用外部 CSS
  • 19. Copyright © 2012 FITPI. All rights reserved. 該用哪一種? 6 ๏ 語意:樣式與結構能夠徹底分離。 99% 的情況都應該使⽤用外部 CSS
  • 20. Copyright © 2012 FITPI. All rights reserved. 該用哪一種? 6 ๏ 語意:樣式與結構能夠徹底分離。 ๏ 效率:寫一次可以套用到多個網頁中。 99% 的情況都應該使⽤用外部 CSS
  • 21. Copyright © 2012 FITPI. All rights reserved. 該用哪一種? 6 ๏ 語意:樣式與結構能夠徹底分離。 ๏ 效率:寫一次可以套用到多個網頁中。 ๏ 效能:外部檔案能被快取 (cache)。 99% 的情況都應該使⽤用外部 CSS
  • 22. Copyright © 2012 FITPI. All rights reserved. 該用哪一種? 6 ๏ 語意:樣式與結構能夠徹底分離。 ๏ 效率:寫一次可以套用到多個網頁中。 ๏ 效能:外部檔案能被快取 (cache)。 ๏ 唯一例外:會被設為首頁的入口網站。 99% 的情況都應該使⽤用外部 CSS
  • 23. Copyright © 2012 FITPI. All rights reserved. 該用哪一種? 6 ๏ 語意:樣式與結構能夠徹底分離。 ๏ 效率:寫一次可以套用到多個網頁中。 ๏ 效能:外部檔案能被快取 (cache)。 ๏ 唯一例外:會被設為首頁的入口網站。 ❖ 頁數少、更快顯示。 99% 的情況都應該使⽤用外部 CSS
  • 24. Copyright © 2012 FITPI. All rights reserved. 該用哪一種? 6 ๏ 語意:樣式與結構能夠徹底分離。 ๏ 效率:寫一次可以套用到多個網頁中。 ๏ 效能:外部檔案能被快取 (cache)。 ๏ 唯一例外:會被設為首頁的入口網站。 ❖ 頁數少、更快顯示。 99% 的情況都應該使⽤用外部 CSS http://developer.yahoo.com/performance/rules.html#external
  • 25. Copyright © 2012 FITPI. All rights reserved. 常用選擇器 7 在 HTML 中、可針對所有的標籤設定 id 與 class 屬性, 除了給予 HTML 更好的語意外,也能方便我們設定 CSS 樣式 Selector
  • 26. Copyright © 2012 FITPI. All rights reserved. 常用選擇器 7 在 HTML 中、可針對所有的標籤設定 id 與 class 屬性, 除了給予 HTML 更好的語意外,也能方便我們設定 CSS 樣式 Selector <div id=”nav”>     <div class=”bd”>         <p>選單</p>     </div> </div> <div id=”article”>     <div class=”bd”>         <p>⽂文章</p>     </div> </div>
  • 27. Copyright © 2012 FITPI. All rights reserved. 常用選擇器 7 在 HTML 中、可針對所有的標籤設定 id 與 class 屬性, 除了給予 HTML 更好的語意外,也能方便我們設定 CSS 樣式 Selector <div id=”nav”>     <div class=”bd”>         <p>選單</p>     </div> </div> <div id=”article”>     <div class=”bd”>         <p>⽂文章</p>     </div> </div> p {
  • 28. Copyright © 2012 FITPI. All rights reserved. 常用選擇器 7 在 HTML 中、可針對所有的標籤設定 id 與 class 屬性, 除了給予 HTML 更好的語意外,也能方便我們設定 CSS 樣式 Selector <div id=”nav”>     <div class=”bd”>         <p>選單</p>     </div> </div> <div id=”article”>     <div class=”bd”>         <p>⽂文章</p>     </div> </div> p {     /* 針對所有 p 標籤設定樣式 */
  • 29. Copyright © 2012 FITPI. All rights reserved. 常用選擇器 7 在 HTML 中、可針對所有的標籤設定 id 與 class 屬性, 除了給予 HTML 更好的語意外,也能方便我們設定 CSS 樣式 Selector <div id=”nav”>     <div class=”bd”>         <p>選單</p>     </div> </div> <div id=”article”>     <div class=”bd”>         <p>⽂文章</p>     </div> </div> p {     /* 針對所有 p 標籤設定樣式 */ }
  • 30. Copyright © 2012 FITPI. All rights reserved. 常用選擇器 7 在 HTML 中、可針對所有的標籤設定 id 與 class 屬性, 除了給予 HTML 更好的語意外,也能方便我們設定 CSS 樣式 Selector <div id=”nav”>     <div class=”bd”>         <p>選單</p>     </div> </div> <div id=”article”>     <div class=”bd”>         <p>⽂文章</p>     </div> </div> p {     /* 針對所有 p 標籤設定樣式 */ } #nav {
  • 31. Copyright © 2012 FITPI. All rights reserved. 常用選擇器 7 在 HTML 中、可針對所有的標籤設定 id 與 class 屬性, 除了給予 HTML 更好的語意外,也能方便我們設定 CSS 樣式 Selector <div id=”nav”>     <div class=”bd”>         <p>選單</p>     </div> </div> <div id=”article”>     <div class=”bd”>         <p>⽂文章</p>     </div> </div> p {     /* 針對所有 p 標籤設定樣式 */ } #nav {     /* 針對 id=”nav” 設定樣式 */
  • 32. Copyright © 2012 FITPI. All rights reserved. 常用選擇器 7 在 HTML 中、可針對所有的標籤設定 id 與 class 屬性, 除了給予 HTML 更好的語意外,也能方便我們設定 CSS 樣式 Selector <div id=”nav”>     <div class=”bd”>         <p>選單</p>     </div> </div> <div id=”article”>     <div class=”bd”>         <p>⽂文章</p>     </div> </div> p {     /* 針對所有 p 標籤設定樣式 */ } #nav {     /* 針對 id=”nav” 設定樣式 */ }
  • 33. Copyright © 2012 FITPI. All rights reserved. 常用選擇器 7 在 HTML 中、可針對所有的標籤設定 id 與 class 屬性, 除了給予 HTML 更好的語意外,也能方便我們設定 CSS 樣式 Selector <div id=”nav”>     <div class=”bd”>         <p>選單</p>     </div> </div> <div id=”article”>     <div class=”bd”>         <p>⽂文章</p>     </div> </div> p {     /* 針對所有 p 標籤設定樣式 */ } #nav {     /* 針對 id=”nav” 設定樣式 */ } .bd {
  • 34. Copyright © 2012 FITPI. All rights reserved. 常用選擇器 7 在 HTML 中、可針對所有的標籤設定 id 與 class 屬性, 除了給予 HTML 更好的語意外,也能方便我們設定 CSS 樣式 Selector <div id=”nav”>     <div class=”bd”>         <p>選單</p>     </div> </div> <div id=”article”>     <div class=”bd”>         <p>⽂文章</p>     </div> </div> p {     /* 針對所有 p 標籤設定樣式 */ } #nav {     /* 針對 id=”nav” 設定樣式 */ } .bd {     /* 針對所有 class=”bd” 設定樣式 */
  • 35. Copyright © 2012 FITPI. All rights reserved. 常用選擇器 7 在 HTML 中、可針對所有的標籤設定 id 與 class 屬性, 除了給予 HTML 更好的語意外,也能方便我們設定 CSS 樣式 Selector <div id=”nav”>     <div class=”bd”>         <p>選單</p>     </div> </div> <div id=”article”>     <div class=”bd”>         <p>⽂文章</p>     </div> </div> p {     /* 針對所有 p 標籤設定樣式 */ } #nav {     /* 針對 id=”nav” 設定樣式 */ } .bd {     /* 針對所有 class=”bd” 設定樣式 */ }
  • 36. Copyright © 2012 FITPI. All rights reserved. 常用選擇器 7 在 HTML 中、可針對所有的標籤設定 id 與 class 屬性, 除了給予 HTML 更好的語意外,也能方便我們設定 CSS 樣式 Selector <div id=”nav”>     <div class=”bd”>         <p>選單</p>     </div> </div> <div id=”article”>     <div class=”bd”>         <p>⽂文章</p>     </div> </div> p {     /* 針對所有 p 標籤設定樣式 */ } #nav {     /* 針對 id=”nav” 設定樣式 */ } .bd {     /* 針對所有 class=”bd” 設定樣式 */ } div.bd {
  • 37. Copyright © 2012 FITPI. All rights reserved. 常用選擇器 7 在 HTML 中、可針對所有的標籤設定 id 與 class 屬性, 除了給予 HTML 更好的語意外,也能方便我們設定 CSS 樣式 Selector <div id=”nav”>     <div class=”bd”>         <p>選單</p>     </div> </div> <div id=”article”>     <div class=”bd”>         <p>⽂文章</p>     </div> </div> p {     /* 針對所有 p 標籤設定樣式 */ } #nav {     /* 針對 id=”nav” 設定樣式 */ } .bd {     /* 針對所有 class=”bd” 設定樣式 */ } div.bd {     /* 針對所有 div class=”bd” 設定樣式 */
  • 38. Copyright © 2012 FITPI. All rights reserved. 常用選擇器 7 在 HTML 中、可針對所有的標籤設定 id 與 class 屬性, 除了給予 HTML 更好的語意外,也能方便我們設定 CSS 樣式 Selector <div id=”nav”>     <div class=”bd”>         <p>選單</p>     </div> </div> <div id=”article”>     <div class=”bd”>         <p>⽂文章</p>     </div> </div> p {     /* 針對所有 p 標籤設定樣式 */ } #nav {     /* 針對 id=”nav” 設定樣式 */ } .bd {     /* 針對所有 class=”bd” 設定樣式 */ } div.bd {     /* 針對所有 div class=”bd” 設定樣式 */ }
  • 39. Copyright © 2012 FITPI. All rights reserved. 常用選擇器 7 在 HTML 中、可針對所有的標籤設定 id 與 class 屬性, 除了給予 HTML 更好的語意外,也能方便我們設定 CSS 樣式 Selector <div id=”nav”>     <div class=”bd”>         <p>選單</p>     </div> </div> <div id=”article”>     <div class=”bd”>         <p>⽂文章</p>     </div> </div> p {     /* 針對所有 p 標籤設定樣式 */ } #nav {     /* 針對 id=”nav” 設定樣式 */ } .bd {     /* 針對所有 class=”bd” 設定樣式 */ } div.bd {     /* 針對所有 div class=”bd” 設定樣式 */ } #nav .bd {
  • 40. Copyright © 2012 FITPI. All rights reserved. 常用選擇器 7 在 HTML 中、可針對所有的標籤設定 id 與 class 屬性, 除了給予 HTML 更好的語意外,也能方便我們設定 CSS 樣式 Selector <div id=”nav”>     <div class=”bd”>         <p>選單</p>     </div> </div> <div id=”article”>     <div class=”bd”>         <p>⽂文章</p>     </div> </div> p {     /* 針對所有 p 標籤設定樣式 */ } #nav {     /* 針對 id=”nav” 設定樣式 */ } .bd {     /* 針對所有 class=”bd” 設定樣式 */ } div.bd {     /* 針對所有 div class=”bd” 設定樣式 */ } #nav .bd { /* 只針對所有 id=”nav” 下的 class=”bd” 設定樣式 */
  • 41. Copyright © 2012 FITPI. All rights reserved. 常用選擇器 7 在 HTML 中、可針對所有的標籤設定 id 與 class 屬性, 除了給予 HTML 更好的語意外,也能方便我們設定 CSS 樣式 Selector <div id=”nav”>     <div class=”bd”>         <p>選單</p>     </div> </div> <div id=”article”>     <div class=”bd”>         <p>⽂文章</p>     </div> </div> p {     /* 針對所有 p 標籤設定樣式 */ } #nav {     /* 針對 id=”nav” 設定樣式 */ } .bd {     /* 針對所有 class=”bd” 設定樣式 */ } div.bd {     /* 針對所有 div class=”bd” 設定樣式 */ } #nav .bd { /* 只針對所有 id=”nav” 下的 class=”bd” 設定樣式 */ }
  • 42. Copyright © 2012 FITPI. All rights reserved. 常用選擇器 7 在 HTML 中、可針對所有的標籤設定 id 與 class 屬性, 除了給予 HTML 更好的語意外,也能方便我們設定 CSS 樣式 Selector <div id=”nav”>     <div class=”bd”>         <p>選單</p>     </div> </div> <div id=”article”>     <div class=”bd”>         <p>⽂文章</p>     </div> </div> p {     /* 針對所有 p 標籤設定樣式 */ } #nav {     /* 針對 id=”nav” 設定樣式 */ } .bd {     /* 針對所有 class=”bd” 設定樣式 */ } div.bd {     /* 針對所有 div class=”bd” 設定樣式 */ } #nav .bd { /* 只針對所有 id=”nav” 下的 class=”bd” 設定樣式 */ } #nav, #article {
  • 43. Copyright © 2012 FITPI. All rights reserved. 常用選擇器 7 在 HTML 中、可針對所有的標籤設定 id 與 class 屬性, 除了給予 HTML 更好的語意外,也能方便我們設定 CSS 樣式 Selector <div id=”nav”>     <div class=”bd”>         <p>選單</p>     </div> </div> <div id=”article”>     <div class=”bd”>         <p>⽂文章</p>     </div> </div> p {     /* 針對所有 p 標籤設定樣式 */ } #nav {     /* 針對 id=”nav” 設定樣式 */ } .bd {     /* 針對所有 class=”bd” 設定樣式 */ } div.bd {     /* 針對所有 div class=”bd” 設定樣式 */ } #nav .bd { /* 只針對所有 id=”nav” 下的 class=”bd” 設定樣式 */ } #nav, #article { /* 同時針對 id=”nav” 與 id=”article” 設定相同的樣式 */
  • 44. Copyright © 2012 FITPI. All rights reserved. 常用選擇器 7 在 HTML 中、可針對所有的標籤設定 id 與 class 屬性, 除了給予 HTML 更好的語意外,也能方便我們設定 CSS 樣式 Selector <div id=”nav”>     <div class=”bd”>         <p>選單</p>     </div> </div> <div id=”article”>     <div class=”bd”>         <p>⽂文章</p>     </div> </div> p {     /* 針對所有 p 標籤設定樣式 */ } #nav {     /* 針對 id=”nav” 設定樣式 */ } .bd {     /* 針對所有 class=”bd” 設定樣式 */ } div.bd {     /* 針對所有 div class=”bd” 設定樣式 */ } #nav .bd { /* 只針對所有 id=”nav” 下的 class=”bd” 設定樣式 */ } #nav, #article { /* 同時針對 id=”nav” 與 id=”article” 設定相同的樣式 */ }
  • 45. Copyright © 2012 FITPI. All rights reserved. 選擇器類型 8 http://www.w3.org/TR/CSS2/selector.html#pattern-matching (CSS2) CSS3 ⽀支援更多: http://www.w3schools.com/cssref/css_selectors.asp
  • 46. Copyright © 2012 FITPI. All rights reserved. 屬性 9
  • 47. Copyright © 2012 FITPI. All rights reserved. 屬性 9 選擇器 {     屬性名稱1:屬性值; 屬性名稱2:屬性值; 屬性名稱3:屬性值; }
  • 48. Copyright © 2012 FITPI. All rights reserved. 屬性 9 選擇器 {     屬性名稱1:屬性值; 屬性名稱2:屬性值; 屬性名稱3:屬性值; } 用大括號包覆
  • 49. Copyright © 2012 FITPI. All rights reserved. 屬性 9 選擇器 {     屬性名稱1:屬性值; 屬性名稱2:屬性值; 屬性名稱3:屬性值; } 用大括號包覆 半型冒號區隔屬性名稱與屬性值
  • 50. Copyright © 2012 FITPI. All rights reserved. 屬性 9 選擇器 {     屬性名稱1:屬性值; 屬性名稱2:屬性值; 屬性名稱3:屬性值; } 用大括號包覆 半型冒號區隔屬性名稱與屬性值 以分號分隔不同屬性
  • 51. Copyright © 2012 FITPI. All rights reserved. 屬性 9 選擇器 {     屬性名稱1:屬性值; 屬性名稱2:屬性值; 屬性名稱3:屬性值; } 用大括號包覆 半型冒號區隔屬性名稱與屬性值 以分號分隔不同屬性 <div id=”nav”>     <div class=”bd”>         <p>選單</p>     </div> </div> <div id=”article”>     <div class=”bd”>         <p>⽂文章</p>     </div> </div>
  • 52. Copyright © 2012 FITPI. All rights reserved. 屬性 9 選擇器 {     屬性名稱1:屬性值; 屬性名稱2:屬性值; 屬性名稱3:屬性值; } 用大括號包覆 半型冒號區隔屬性名稱與屬性值 以分號分隔不同屬性 <div id=”nav”>     <div class=”bd”>         <p>選單</p>     </div> </div> <div id=”article”>     <div class=”bd”>         <p>⽂文章</p>     </div> </div> #nav, #article {     background: yellow;     padding: 20px;     width: 100px;     margin-bottom: 10px; } #nav p {     text-decoration: underline;     color: blue; } #article p {     color: red;     font-weight: bold; } + =
  • 53. Copyright © 2012 FITPI. All rights reserved. 屬性 9 選擇器 {     屬性名稱1:屬性值; 屬性名稱2:屬性值; 屬性名稱3:屬性值; } 用大括號包覆 半型冒號區隔屬性名稱與屬性值 以分號分隔不同屬性 <div id=”nav”>     <div class=”bd”>         <p>選單</p>     </div> </div> <div id=”article”>     <div class=”bd”>         <p>⽂文章</p>     </div> </div> #nav, #article {     background: yellow;     padding: 20px;     width: 100px;     margin-bottom: 10px; } #nav p {     text-decoration: underline;     color: blue; } #article p {     color: red;     font-weight: bold; } + =
  • 54. Copyright © 2012 FITPI. All rights reserved. 屬性介紹 10 http://www.w3schools.com/css/ CSS Styling Styling Backgrounds Styling Text Styling Fonts Styling Links Styling Lists Styling Tables W3School 的屬性類別列表 CSS Advanced CSS Grouping/Nesting CSS Dimension CSS Display CSS Positioning CSS Floating CSS Align CSS Pseudo-class CSS Pseudo-element CSS Navigation Bar CSS Image Gallery CSS Image Opacity CSS Image Sprites CSS Media Types CSS Attribute Selectors CSS Box Model CSS Box Model CSS Border CSS Outline CSS Margin CSS Padding
  • 55. Copyright © 2012 FITPI. All rights reserved. Box Model 11 padding border width margin W3C 的標準盒模型 padding border width margin IE 怪異模式盒模型 width, height 算法完全不同、初學者需非常小心 現今的網頁已經沒有怪異模式的需求了 只要小心 DOCTYPE 的宣告即可避免
  • 56. Copyright © 2012 FITPI. All rights reserved. color:#369; background:#ffe; font:bold 16px; ๏ 替此文章模組取個適合的 id ๏ 加上 hd, bd, ft 的 class ๏ 利用前面教的東西設定樣式 12 練習:替模組加上樣式 http://f2eclass.com/lab/css/module.html
  • 57. Copyright © 2012 FITPI. All rights reserved. 排版的常⽤用技巧 13 CSS 浮動
  • 58. Copyright © 2012 FITPI. All rights reserved. 過去:常⽤用 <table> 來做到下⾯面的版型: <table border=”1”> <tr> <td align=”left”>靠左⽂文字</td> <td align=”right”>靠右⽂文字</td> </tr> </table> 14 傳統排版 靠左⽂文字 靠右⽂文字
  • 59. Copyright © 2012 FITPI. All rights reserved. 現在:使⽤用 CSS 的 float 屬性來做到 <div id=”masthead” style=”border:solid 1px #000”> <span style=”float:left”> 靠左⽂文字 </span> <span style=”float:right”> 靠右⽂文字 </span> </div> 15 float 屬性 靠左⽂文字 靠右⽂文字
  • 60. Copyright © 2012 FITPI. All rights reserved. 但 float 之後的區塊是不會佔空間的 實際情況會是: border 不會被⽂文字的⾼高度給撐開! 16 浮動產生的問題 靠左⽂文字 靠右⽂文字
  • 61. Copyright © 2012 FITPI. All rights reserved. IE9 之前的作法 在上⼀一層設 zoom:1 <div id=”masthead” style=”zoom:1;border:solid 1px #000”> <span style=”float:left”> 靠左⽂文字 </span> <span style=”float:right”> 靠右⽂文字 </span> </div> 17 對 IE 的解法
  • 62. Copyright © 2012 FITPI. All rights reserved. 加上特別的 <br> <div id=”masthead” style=”zoom:1;border:solid 1px #000”> <span style=”float:left”> 靠左⽂文字 </span> <span style=”float:right”> 靠右⽂文字 </span> <br style=”clear:both;”> </div> 18 通用解法 BUT! 我們不應該為了樣式特別加⼀一個 <br> /* 作⽤用是增加了⼀一個有 clear:both 屬性的區塊 */ #masthead:after {   content:"";   display:block;   clear:both; } 與上⾯面加的 <br> 效果相同
  • 63. Copyright © 2012 FITPI. All rights reserved. border:solid 5px #ccc; font:bold 197%; IE : 在⽗父節點設定 zoom1; 其他瀏覽器: ⽗父節點:after {     content:’’;     display:block;     clear:both; } 練習:用 CSS 做浮動 ๏ 標題浮到左邊 ๏ YUI 圖浮到右邊 ๏ 替整個模組設 border ๏ ⽤用前⾯面的⽅方法清除 19 http://f2eclass.com/lab/css/float.html
  • 64. Copyright © 2012 FITPI. All rights reserved. 適當地將 <img> 改⽤用 CSS 背景可讓讀取更順暢 20 CSS 背景
  • 65. Copyright © 2012 FITPI. All rights reserved. 在 Y! 所有裝飾性的圖都是 CSS 背景圖 21
  • 66. Copyright © 2012 FITPI. All rights reserved. 在 Y! 所有裝飾性的圖都是 CSS 背景圖 21
  • 67. Copyright © 2012 FITPI. All rights reserved. 22 抉擇方式 何時該⽤用背景圖?何時該⽤用 img 標籤?
  • 68. Copyright © 2012 FITPI. All rights reserved. 22 抉擇方式 ๏ 對於裝飾性、可有可無的圖⽚片應採⽤用背景圖。 何時該⽤用背景圖?何時該⽤用 img 標籤?
  • 69. Copyright © 2012 FITPI. All rights reserved. 22 抉擇方式 ๏ 對於裝飾性、可有可無的圖⽚片應採⽤用背景圖。 ❖ 例如圓⾓角、⼩小 Icon 等即使消失也不會造成無法閱讀 的圖⽚片。 何時該⽤用背景圖?何時該⽤用 img 標籤?
  • 70. Copyright © 2012 FITPI. All rights reserved. 22 抉擇方式 ๏ 對於裝飾性、可有可無的圖⽚片應採⽤用背景圖。 ❖ 例如圓⾓角、⼩小 Icon 等即使消失也不會造成無法閱讀 的圖⽚片。 ๏ ⽽而對於內容的⼀一部分,則應該使⽤用 img 標籤。 何時該⽤用背景圖?何時該⽤用 img 標籤?
  • 71. Copyright © 2012 FITPI. All rights reserved. 22 抉擇方式 ๏ 對於裝飾性、可有可無的圖⽚片應採⽤用背景圖。 ❖ 例如圓⾓角、⼩小 Icon 等即使消失也不會造成無法閱讀 的圖⽚片。 ๏ ⽽而對於內容的⼀一部分,則應該使⽤用 img 標籤。 ❖ 例如⻝⾷食記中的餐點圖⽚片、網⾴頁上的廣告、⽤用圖⽚片做的 標題、網站 Logo 都是內容的⼀一部分。 何時該⽤用背景圖?何時該⽤用 img 標籤?
  • 72. Copyright © 2012 FITPI. All rights reserved. background: [背景⾊色] [url(圖檔路徑)] [x, y 位置] [重複]; background:#369 url(ico_yui.gif) left top repeat-x; repeat-y no-repeat 0 100% 0 -12px background-color:#369; background-image:url(ico_yui.gif); background-position:left top; background-repeat:repeat-x; 或 23 語法
  • 73. Copyright © 2012 FITPI. All rights reserved. 練習:CSS 背景 24 http://f2eclass.com/lab/css/background.html ๏ 設定背景圖為 bg_nav.png
  • 74. Copyright © 2012 FITPI. All rights reserved. CSS Sprites 25 http://l.yimg.com/f/i/tw/hp/spirit121004l/sprite.png 把多張背景圖合併成⼀一張 雅⻁虎奇摩⾸首⾴頁的 Sprites 0, 0 sprite.png 0, 30 0, 55 0, 90 0, 115 0, 145 background: url(sprite.png) 0 -115px no-repeat; background: url(sprite.png) 0 -145px no-repeat; background: url(sprite.png) 0 -90px no-repeat; background: url(sprite.png) 0 -55px no-repeat; background: url(sprite.png) 0 -30px no-repeat; background: url(sprite.png) 0 0 no-repeat;
  • 75. Copyright © 2012 FITPI. All rights reserved. Sprites 的優缺點 26 ๏ 好處:有效減少網路請求數量 ❖ 太多請求對網頁的顯示是有影響的。 ๏ 壞處:難以維護 ❖ x, y 的位置得打開影像處理軟體查找。 ๏ 已經有軟體可以自動化處理 :)
  • 76. Copyright © 2012 FITPI. All rights reserved. CSS 位置 不管是做圓⾓角、位置微調都會⽤用到 27
  • 77. Copyright © 2012 FITPI. All rights reserved. <div/> <div/> <div/> <div/> 什麼都沒設時(position:static;) 28
  • 78. Copyright © 2012 FITPI. All rights reserved. <div/> <div/> <div/> <div style=”position:absolute; bottom:0;right:0;”> 當對某個區塊設了 position:absolute; 時 就脫離原有區塊的範圍、不佔空間 29
  • 79. Copyright © 2012 FITPI. All rights reserved. <div style=”position:relative;” /> <div/> <div/> <div style=”position:absolute; bottom:0;right:0;”> 對⺟母區塊設定 position:relative; 則會限制住 position:absolute; 的⼦子區塊 30
  • 80. Copyright © 2012 FITPI. All rights reserved. 31
  • 81. Copyright © 2012 FITPI. All rights reserved. ๏ position31
  • 82. Copyright © 2012 FITPI. All rights reserved. ๏ position ❖ static 預設 31
  • 83. Copyright © 2012 FITPI. All rights reserved. ๏ position ❖ static 預設 ❖ absolute 絕對定位 31
  • 84. Copyright © 2012 FITPI. All rights reserved. ๏ position ❖ static 預設 ❖ absolute 絕對定位 ❖ relative 相對定位 31
  • 85. Copyright © 2012 FITPI. All rights reserved. ๏ position ❖ static 預設 ❖ absolute 絕對定位 ❖ relative 相對定位 ❖ fixed 31
  • 86. Copyright © 2012 FITPI. All rights reserved. ๏ position ❖ static 預設 ❖ absolute 絕對定位 ❖ relative 相對定位 ❖ fixed ๏ top, right, bottom, left 的配合 31
  • 87. Copyright © 2012 FITPI. All rights reserved. ๏ position ❖ static 預設 ❖ absolute 絕對定位 ❖ relative 相對定位 ❖ fixed ๏ top, right, bottom, left 的配合 ❖ 在目前的位置往下移 5px position:relative; top:5px; 31
  • 88. Copyright © 2012 FITPI. All rights reserved. ๏ position ❖ static 預設 ❖ absolute 絕對定位 ❖ relative 相對定位 ❖ fixed ๏ top, right, bottom, left 的配合 ❖ 在目前的位置往下移 5px position:relative; top:5px; ❖ 整份文件中的右下角: position:absolute; right:0; bottom:0; 31
  • 89. Copyright © 2012 FITPI. All rights reserved. ๏ position ❖ static 預設 ❖ absolute 絕對定位 ❖ relative 相對定位 ❖ fixed ๏ top, right, bottom, left 的配合 ❖ 在目前的位置往下移 5px position:relative; top:5px; ❖ 整份文件中的右下角: position:absolute; right:0; bottom:0; ❖ 可視區域的最下方(IE6不支援): position:fixed;bottom:0; 31
  • 90. Copyright © 2012 FITPI. All rights reserved. 1. 將 li 設定為 position:relative; 2. 將 img 設定為 position:absolute; 並利⽤用 top, right 做微調 練習:CSS 位置 32 http://f2eclass.com/lab/position.html
  • 91. Copyright © 2012 FITPI. All rights reserved. CSS Hack 針對不同瀏覽器做樣式處理 33
  • 92. Copyright © 2012 FITPI. All rights reserved. IE 6, IE7, IE8, IE9, 其他瀏覽器會有不同的底⾊色 #article .bd { background:blue; background:purple 0; background:pink 9; *background:green; _background:red; } All Browsers IE 7, IE 6 IE 6 34 IE8, IE7, IE6 IE9, IE8 常用 CSS Hack ⼤大多是為了 IE 特別修正,其他瀏覽器較少問題
  • 93. Copyright © 2012 FITPI. All rights reserved. 讓 #article .bd 在 IE9 為 purple、IE8 為 green、IE7 為 red,其他瀏覽器為 pink。 練習:CSS Hack 35 http://f2eclass.com/lab/css-hack.html
  • 94. Copyright © 2012 FITPI. All rights reserved. 進階知識與工具 36 ๏ Reset CSS - 將樣式歸零 ๏ CSS Grids - CSS 排版方式 ๏ SASS / Compass - 必學工具 ๏ CSS 3 必學屬性 ๏ Twitter Bootstrap - 工程師也有好介面 ๏ CSS Code Convention - 書寫規範 ๏ CSS 繪圖
  • 95. Copyright © 2012 FITPI. All rights reserved. Reset CSS ๏ HTML 標籤本身都有預設樣式,但是每 個瀏覽器都有差異,加上大多不符合我 們的需求。 ๏ HTML 是結構、不應該有任何樣式。 ๏ 那麼我們就歸零吧、讓每個標籤的外觀 都一模一樣。 ๏ 專業!所有的樣式都由自己重新定義。 37
  • 96. Copyright © 2012 FITPI. All rights reserved. Reset CSS 效果 38
  • 97. Copyright © 2012 FITPI. All rights reserved. Reset CSS 的選擇 ๏ Eric Meyer http://meyerweb.com/eric/tools/css/reset/ ๏ YUI CSS Reset http://yuilibrary.com/yui/docs/cssreset/ 39 <link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/3.7.2/build/cssreset/cssreset-min.css"> 直接放在⾴頁⾯面上就⽣生效
  • 98. Copyright © 2012 FITPI. All rights reserved. CSS Grids 40
  • 99. Copyright © 2012 FITPI. All rights reserved. CSS Grids ๏ Grids 是指整個網頁的排版。 40
  • 100. Copyright © 2012 FITPI. All rights reserved. CSS Grids ๏ Grids 是指整個網頁的排版。 ๏ CSS Float 會是排版的一種作法。 40
  • 101. Copyright © 2012 FITPI. All rights reserved. CSS Grids ๏ Grids 是指整個網頁的排版。 ๏ CSS Float 會是排版的一種作法。 ๏ 不建議自己開發排版,細節太多。 40
  • 102. Copyright © 2012 FITPI. All rights reserved. CSS Grids ๏ Grids 是指整個網頁的排版。 ๏ CSS Float 會是排版的一種作法。 ๏ 不建議自己開發排版,細節太多。 ๏ 再簡單的網頁都應該引用穩定的 Grids 系統。 40
  • 103. Copyright © 2012 FITPI. All rights reserved. 41 http://960.gs/ 960gs
  • 104. Copyright © 2012 FITPI. All rights reserved. 41 http://960.gs/ 960gs
  • 105. Copyright © 2012 FITPI. All rights reserved. 42 http://960.gs/ ๏ 將網頁限制為 960 pixel。 ๏ 依照 16 或 12 等分切格子。 ๏ 好處是跟視覺設計師容易分工。 ❖ 不用再橋一堆對齊的問題。 ๏ 壞處是原始碼的順序沒辦法依 SEO 調整。 960gs
  • 106. Copyright © 2012 FITPI. All rights reserved. 43 YUI 2 Grids http://developer.yahoo.com/yui/grids/ 側邊欄寬度為 240px 平均分配 50%, 50% 版⾯面寬度 950px
  • 107. Copyright © 2012 FITPI. All rights reserved. 44
  • 108. Copyright © 2012 FITPI. All rights reserved. 45
  • 109. Copyright © 2012 FITPI. All rights reserved. 46 YUI 2 Grids http://developer.yahoo.com/yui/grids/
  • 110. Copyright © 2012 FITPI. All rights reserved. 46 ๏ 頁面寬度多種可選。 YUI 2 Grids http://developer.yahoo.com/yui/grids/
  • 111. Copyright © 2012 FITPI. All rights reserved. 46 ๏ 頁面寬度多種可選。 ๏ 概念為「主要內容」與「側邊欄」。 YUI 2 Grids http://developer.yahoo.com/yui/grids/
  • 112. Copyright © 2012 FITPI. All rights reserved. 46 ๏ 頁面寬度多種可選。 ๏ 概念為「主要內容」與「側邊欄」。 ๏ 側邊欄可自由調整左右、各三種寬度。 YUI 2 Grids http://developer.yahoo.com/yui/grids/
  • 113. Copyright © 2012 FITPI. All rights reserved. 46 ๏ 頁面寬度多種可選。 ๏ 概念為「主要內容」與「側邊欄」。 ๏ 側邊欄可自由調整左右、各三種寬度。 ๏ 內容寬度 = 頁面寬度 - 側邊欄寬度。 YUI 2 Grids http://developer.yahoo.com/yui/grids/
  • 114. Copyright © 2012 FITPI. All rights reserved. 46 ๏ 頁面寬度多種可選。 ๏ 概念為「主要內容」與「側邊欄」。 ๏ 側邊欄可自由調整左右、各三種寬度。 ๏ 內容寬度 = 頁面寬度 - 側邊欄寬度。 ๏ 即使重要的內容在右邊、也可以在原始碼中 早點顯示。 YUI 2 Grids http://developer.yahoo.com/yui/grids/
  • 115. Copyright © 2012 FITPI. All rights reserved. 練習:使用 Grid Builder http://developer.yahoo.com/yui/grids/builder/ 快速 DIV + CSS 版面產生器 47
  • 116. Copyright © 2012 FITPI. All rights reserved. 48 CSS3 與 Sprite 救星 一套命令列的軟體 讓你可以用 SASS 更結構化的方式寫 CSS 並且提供了許多好用的功能 (mixin)! http://compass-style.org/
  • 117. Copyright © 2012 FITPI. All rights reserved. 49 a.scss - 你所撰寫及維護的 a.css - ⼯工具⾃自動產⽣生的 巢狀式 CSS
  • 118. Copyright © 2012 FITPI. All rights reserved. 輕鬆寫 CSS3 50 @import "compass"; .foo {     @include border-radius(5px);     @include box-shadow(10px); } /* line 3, ../sass/foo.scss */ .foo {     -webkit-border-radius: 5px;     -moz-border-radius: 5px;     -ms-border-radius: 5px;     -o-border-radius: 5px;     border-radius: 5px;     -webkit-box-shadow: 10px;     -moz-box-shadow: 10px;     box-shadow: 10px; } foo.scss foo.css CSS3 支援度在每個瀏覽器還有一些差異, 目前大多還是會冠上各自廠商的 prefix 使用 Compass,你只要寫一種就可以產出 所有瀏覽器所需的 CSS,十分輕鬆!
  • 119. Copyright © 2012 FITPI. All rights reserved. 51 安裝並設定 Scout 免費版跨平台 GUI 的 Compass 工具 新增專案 設定寫 SASS 的地⽅方 設定輸出成 CSS 的地⽅方 監控此⺫⽬目錄是否有改變、 會⾃自動更新你的 CSS 組態設定 更新記錄 http://mhs.github.com/scout-app/ 設定圖檔位置
  • 120. Copyright © 2012 FITPI. All rights reserved. 練習 Compass 52
  • 121. Copyright © 2012 FITPI. All rights reserved. 練習 Compass 52 ๏ 請下載 http://f2eclass.com/lab/css/compass.zip
  • 122. Copyright © 2012 FITPI. All rights reserved. 練習 Compass 52 ๏ 請下載 http://f2eclass.com/lab/css/compass.zip ๏ 解壓縮到你的網站根目錄 C:AppServwww
  • 123. Copyright © 2012 FITPI. All rights reserved. 練習 Compass 52 ๏ 請下載 http://f2eclass.com/lab/css/compass.zip ๏ 解壓縮到你的網站根目錄 C:AppServwww ๏ 會有 sass, stylesheets, images 等目錄
  • 124. Copyright © 2012 FITPI. All rights reserved. 練習 Compass 52 ๏ 請下載 http://f2eclass.com/lab/css/compass.zip ๏ 解壓縮到你的網站根目錄 C:AppServwww ๏ 會有 sass, stylesheets, images 等目錄 ❖ sass 是原始檔
  • 125. Copyright © 2012 FITPI. All rights reserved. 練習 Compass 52 ๏ 請下載 http://f2eclass.com/lab/css/compass.zip ๏ 解壓縮到你的網站根目錄 C:AppServwww ๏ 會有 sass, stylesheets, images 等目錄 ❖ sass 是原始檔 ❖ stylesheets 是由 sass 轉出、實際被瀏覽器讀取的 css 檔
  • 126. Copyright © 2012 FITPI. All rights reserved. 練習 Compass 52 ๏ 請下載 http://f2eclass.com/lab/css/compass.zip ๏ 解壓縮到你的網站根目錄 C:AppServwww ๏ 會有 sass, stylesheets, images 等目錄 ❖ sass 是原始檔 ❖ stylesheets 是由 sass 轉出、實際被瀏覽器讀取的 css 檔 ❖ images 下有我預先準備好的圖檔
  • 127. Copyright © 2012 FITPI. All rights reserved. 練習 Compass 52 ๏ 請下載 http://f2eclass.com/lab/css/compass.zip ๏ 解壓縮到你的網站根目錄 C:AppServwww ๏ 會有 sass, stylesheets, images 等目錄 ❖ sass 是原始檔 ❖ stylesheets 是由 sass 轉出、實際被瀏覽器讀取的 css 檔 ❖ images 下有我預先準備好的圖檔 ๏ Scout 設定好後啟動、檔案變動會自動產生。
  • 128. Copyright © 2012 FITPI. All rights reserved. 練習 Compass 52 ๏ 請下載 http://f2eclass.com/lab/css/compass.zip ๏ 解壓縮到你的網站根目錄 C:AppServwww ๏ 會有 sass, stylesheets, images 等目錄 ❖ sass 是原始檔 ❖ stylesheets 是由 sass 轉出、實際被瀏覽器讀取的 css 檔 ❖ images 下有我預先準備好的圖檔 ๏ Scout 設定好後啟動、檔案變動會自動產生。 ๏ Sublime Text 2 得有 config.rb 配合 Build。
  • 129. Copyright © 2012 FITPI. All rights reserved. 練習 Compass 52 ๏ 請下載 http://f2eclass.com/lab/css/compass.zip ๏ 解壓縮到你的網站根目錄 C:AppServwww ๏ 會有 sass, stylesheets, images 等目錄 ❖ sass 是原始檔 ❖ stylesheets 是由 sass 轉出、實際被瀏覽器讀取的 css 檔 ❖ images 下有我預先準備好的圖檔 ๏ Scout 設定好後啟動、檔案變動會自動產生。 ๏ Sublime Text 2 得有 config.rb 配合 Build。 ๏ 有 normal.html, basic-sprite.html, auto- sprite.html 三個檔案請大家練習。
  • 130. Copyright © 2012 FITPI. All rights reserved. 53 ๏ SASS Syntactically Awesome StyleSheets http://sass-lang.com 定義了基礎語法 ๏ Compass CSS Authoring Framweork http://compass-style.org/ 基於 SASS 所做的框架、請多參考這邊的文件 ๏ Scout Compass and Sass without all hassle http://mhs.github.com/scout-app/ 跨平台且免費的 SASS 工具 Compass 參考連結
  • 131. Copyright © 2012 FITPI. All rights reserved. 54 Twitter Bootstrap http://twitter.github.com/bootstrap/
  • 132. Copyright © 2012 FITPI. All rights reserved. ๏ 工程師也能有好樣式 54 Twitter Bootstrap http://twitter.github.com/bootstrap/
  • 133. Copyright © 2012 FITPI. All rights reserved. ๏ 工程師也能有好樣式 ๏ 在頁面上引用外部 CSS、透過 Bootstrap 預先定 義的 HTML 結構與 Class 名稱即可使用。例如 class="btn" 54 Twitter Bootstrap http://twitter.github.com/bootstrap/
  • 134. Copyright © 2012 FITPI. All rights reserved. ๏ 工程師也能有好樣式 ๏ 在頁面上引用外部 CSS、透過 Bootstrap 預先定 義的 HTML 結構與 Class 名稱即可使用。例如 class="btn" ๏ 適合用在不需特別樣式的地方,例如 CMS 或 Prototype。但有自定樣式的地方,例如形象網站 就不適合了。 54 Twitter Bootstrap http://twitter.github.com/bootstrap/
  • 135. Copyright © 2012 FITPI. All rights reserved. 55 CSS3 必學屬性
  • 136. Copyright © 2012 FITPI. All rights reserved. ๏ background: rgba 半透明 55 CSS3 必學屬性
  • 137. Copyright © 2012 FITPI. All rights reserved. ๏ background: rgba 半透明 ๏ background-image: linear-gradient 漸層 55 CSS3 必學屬性
  • 138. Copyright © 2012 FITPI. All rights reserved. ๏ background: rgba 半透明 ๏ background-image: linear-gradient 漸層 ๏ border-radius 圓角 55 CSS3 必學屬性
  • 139. Copyright © 2012 FITPI. All rights reserved. ๏ background: rgba 半透明 ๏ background-image: linear-gradient 漸層 ๏ border-radius 圓角 ๏ box-shadow 盒子的陰影 55 CSS3 必學屬性
  • 140. Copyright © 2012 FITPI. All rights reserved. ๏ background: rgba 半透明 ๏ background-image: linear-gradient 漸層 ๏ border-radius 圓角 ๏ box-shadow 盒子的陰影 ๏ text-shadow 文字的陰影 55 CSS3 必學屬性
  • 141. Copyright © 2012 FITPI. All rights reserved. ๏ background: rgba 半透明 ๏ background-image: linear-gradient 漸層 ๏ border-radius 圓角 ๏ box-shadow 盒子的陰影 ๏ text-shadow 文字的陰影 ๏ transition 換場 55 CSS3 必學屬性
  • 142. Copyright © 2012 FITPI. All rights reserved. CSS 書寫規範 56 有⼀一致的書寫規範,程式才能⽤用得久
  • 143. Copyright © 2012 FITPI. All rights reserved. CSS 書寫規範 56 有⼀一致的書寫規範,程式才能⽤用得久 ๏ 絕對不以樣式命名 HTML 的 id 或 class 屬性。
  • 144. Copyright © 2012 FITPI. All rights reserved. CSS 書寫規範 56 有⼀一致的書寫規範,程式才能⽤用得久 ๏ 絕對不以樣式命名 HTML 的 id 或 class 屬性。 ๏ class 與 id 命名採用小寫配合破折號連接。
  • 145. Copyright © 2012 FITPI. All rights reserved. CSS 書寫規範 56 有⼀一致的書寫規範,程式才能⽤用得久 ๏ 絕對不以樣式命名 HTML 的 id 或 class 屬性。 ๏ class 與 id 命名採用小寫配合破折號連接。 ๏ 屬性按照字母順序 (a-z) 做排序。
  • 146. Copyright © 2012 FITPI. All rights reserved. CSS 書寫規範 56 有⼀一致的書寫規範,程式才能⽤用得久 ๏ 絕對不以樣式命名 HTML 的 id 或 class 屬性。 ๏ class 與 id 命名採用小寫配合破折號連接。 ๏ 屬性按照字母順序 (a-z) 做排序。 ๏ 選擇器後空一格放大括號開頭、大括號結尾占一行。
  • 147. Copyright © 2012 FITPI. All rights reserved. CSS 書寫規範 56 有⼀一致的書寫規範,程式才能⽤用得久 ๏ 絕對不以樣式命名 HTML 的 id 或 class 屬性。 ๏ class 與 id 命名採用小寫配合破折號連接。 ๏ 屬性按照字母順序 (a-z) 做排序。 ๏ 選擇器後空一格放大括號開頭、大括號結尾占一行。 ๏ 所有屬性皆單獨一行、以 4 個 Spaces 開頭。
  • 148. Copyright © 2012 FITPI. All rights reserved. CSS 書寫規範 56 有⼀一致的書寫規範,程式才能⽤用得久 ๏ 絕對不以樣式命名 HTML 的 id 或 class 屬性。 ๏ class 與 id 命名採用小寫配合破折號連接。 ๏ 屬性按照字母順序 (a-z) 做排序。 ๏ 選擇器後空一格放大括號開頭、大括號結尾占一行。 ๏ 所有屬性皆單獨一行、以 4 個 Spaces 開頭。 ๏ 顏色碼一律採用小寫。
  • 149. Copyright © 2012 FITPI. All rights reserved. CSS 書寫規範 56 有⼀一致的書寫規範,程式才能⽤用得久 ๏ 絕對不以樣式命名 HTML 的 id 或 class 屬性。 ๏ class 與 id 命名採用小寫配合破折號連接。 ๏ 屬性按照字母順序 (a-z) 做排序。 ๏ 選擇器後空一格放大括號開頭、大括號結尾占一行。 ๏ 所有屬性皆單獨一行、以 4 個 Spaces 開頭。 ๏ 顏色碼一律採用小寫。 ๏ 屬性值後一律加上分號。
  • 150. Copyright © 2012 FITPI. All rights reserved. CSS 書寫規範 56 有⼀一致的書寫規範,程式才能⽤用得久 ๏ 絕對不以樣式命名 HTML 的 id 或 class 屬性。 ๏ class 與 id 命名採用小寫配合破折號連接。 ๏ 屬性按照字母順序 (a-z) 做排序。 ๏ 選擇器後空一格放大括號開頭、大括號結尾占一行。 ๏ 所有屬性皆單獨一行、以 4 個 Spaces 開頭。 ๏ 顏色碼一律採用小寫。 ๏ 屬性值後一律加上分號。 ๏ 採用 HTML 模組化開發、對共用的部份要小心。
  • 151. Copyright © 2012 FITPI. All rights reserved. CSS 書寫規範 56 有⼀一致的書寫規範,程式才能⽤用得久 ๏ 絕對不以樣式命名 HTML 的 id 或 class 屬性。 ๏ class 與 id 命名採用小寫配合破折號連接。 ๏ 屬性按照字母順序 (a-z) 做排序。 ๏ 選擇器後空一格放大括號開頭、大括號結尾占一行。 ๏ 所有屬性皆單獨一行、以 4 個 Spaces 開頭。 ๏ 顏色碼一律採用小寫。 ๏ 屬性值後一律加上分號。 ๏ 採用 HTML 模組化開發、對共用的部份要小心。 以上書寫規範只是建議,你可以⾃自訂
  • 152. Copyright © 2012 FITPI. All rights reserved. 57 課程回顧
  • 153. Copyright © 2012 FITPI. All rights reserved. 57 課程回顧 ๏ 請花點時間看過 CSS 的所有屬性。
  • 154. Copyright © 2012 FITPI. All rights reserved. 57 課程回顧 ๏ 請花點時間看過 CSS 的所有屬性。 ๏ ID 選擇器:給予樣式設定命名空間。
  • 155. Copyright © 2012 FITPI. All rights reserved. 57 課程回顧 ๏ 請花點時間看過 CSS 的所有屬性。 ๏ ID 選擇器:給予樣式設定命名空間。 ๏ Class 選擇器:最常用來設定 CSS 樣式。
  • 156. Copyright © 2012 FITPI. All rights reserved. 57 課程回顧 ๏ 請花點時間看過 CSS 的所有屬性。 ๏ ID 選擇器:給予樣式設定命名空間。 ๏ Class 選擇器:最常用來設定 CSS 樣式。 ๏ 以上兩者的命名都應該避免參雜樣式
  • 157. Copyright © 2012 FITPI. All rights reserved. 57 課程回顧 ๏ 請花點時間看過 CSS 的所有屬性。 ๏ ID 選擇器:給予樣式設定命名空間。 ๏ Class 選擇器:最常用來設定 CSS 樣式。 ๏ 以上兩者的命名都應該避免參雜樣式 ❖ 例如:topnav, leftbar, red12px, bottom-ad, black-bar...
  • 158. Copyright © 2012 FITPI. All rights reserved. 57 課程回顧 ๏ 請花點時間看過 CSS 的所有屬性。 ๏ ID 選擇器:給予樣式設定命名空間。 ๏ Class 選擇器:最常用來設定 CSS 樣式。 ๏ 以上兩者的命名都應該避免參雜樣式 ❖ 例如:topnav, leftbar, red12px, bottom-ad, black-bar... ๏ 選擇器需用結構來命名。
  • 159. Copyright © 2012 FITPI. All rights reserved. 57 課程回顧 ๏ 請花點時間看過 CSS 的所有屬性。 ๏ ID 選擇器:給予樣式設定命名空間。 ๏ Class 選擇器:最常用來設定 CSS 樣式。 ๏ 以上兩者的命名都應該避免參雜樣式 ❖ 例如:topnav, leftbar, red12px, bottom-ad, black-bar... ๏ 選擇器需用結構來命名。 ❖ 例如:sidebar, nav, extra, ad-lrec...
  • 160. Copyright © 2012 FITPI. All rights reserved. 57 課程回顧 ๏ 請花點時間看過 CSS 的所有屬性。 ๏ ID 選擇器:給予樣式設定命名空間。 ๏ Class 選擇器:最常用來設定 CSS 樣式。 ๏ 以上兩者的命名都應該避免參雜樣式 ❖ 例如:topnav, leftbar, red12px, bottom-ad, black-bar... ๏ 選擇器需用結構來命名。 ❖ 例如:sidebar, nav, extra, ad-lrec... ๏ Compass 讓寫 CSS 更結構化、Sprite 更自動。
  • 161. Copyright © 2012 FITPI. All rights reserved. 57 課程回顧 ๏ 請花點時間看過 CSS 的所有屬性。 ๏ ID 選擇器:給予樣式設定命名空間。 ๏ Class 選擇器:最常用來設定 CSS 樣式。 ๏ 以上兩者的命名都應該避免參雜樣式 ❖ 例如:topnav, leftbar, red12px, bottom-ad, black-bar... ๏ 選擇器需用結構來命名。 ❖ 例如:sidebar, nav, extra, ad-lrec... ๏ Compass 讓寫 CSS 更結構化、Sprite 更自動。 ๏ Bootstrap 提供很棒的樣式,你的產品適合嗎?
  • 162. Copyright © 2012 FITPI. All rights reserved. 58 Q & A

Notas del editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n
  83. \n
  84. \n
  85. \n
  86. \n
  87. \n
  88. \n
  89. \n
  90. \n
  91. \n
  92. \n
  93. \n
  94. \n
  95. \n
  96. \n
  97. \n
  98. \n
  99. \n
  100. \n
  101. \n
  102. \n
  103. \n
  104. \n
  105. \n
  106. \n
  107. \n
  108. \n
  109. \n
  110. \n
  111. \n
  112. \n
  113. \n
  114. \n
  115. \n
  116. \n
  117. \n
  118. \n
  119. \n
  120. \n
  121. \n
  122. \n
  123. \n
  124. \n
  125. \n
  126. \n
  127. \n
  128. \n