CSS入門教學
許桔
css ?

CSS
- Cascading Style Sheets
- 階層式樣式表
- 排版
- 控制佈局
- 添加樣式 ( 字型、間距和顏色 )


CSS應用
- 行間 CSS
- 嵌入式 CSS
- 外部 CSS
行間 CSS
<p style="屬性名稱:屬性值;">.....</p>
<p style="font-size:24px; color:red;">這段文字的大小會是24以及會是紅色的</p>
嵌入式 CSS
<style type="text/css" media="顯示媒介的名稱"> /* printer or screen */
選擇器 {
屬性名稱:屬性值;
}
</style><html>
<head>
<style>
....
</style>
</head>
<body>
.....
</body>
</html>外部 CSS
<link rel="stylesheet" href="檔案路徑/XXX.css" media="與前面相同">
選擇器{
屬性名稱:屬性值;
}
/*
不需前後再加style
*/該使用哪一種?
- 正常大部分的情況都應該使用 外部CSS
- 語意:樣式和結構可以切割
- 效率:寫一次可以套到多個網頁
- 效能:外部檔案能被快取
- 例外:首頁的網站
CSS Selectors
- 常見的Selectors
- Class
- Id
- Type
- 通用
CLASS Selectors
<html>
<head>
<title>Test Page</title>
<link href="css/xxx.css" rel="stylesheet" >
</head>
<body>
<p class="selector">根據Class套用CSS</p><br />
<p class="selector1">class不相同不會套用</p>
</body>
</html>.selector{
font-size:36px;
color:red;
}ID Selectors
<html>
<head>
<title>Test Page</title>
<link href="css/xxx.css" rel="stylesheet" >
</head>
<body>
<p id="selector">根據Class套用CSS</p>
<p id="selector1">Id不同,也不會套用</p>
</body>
</html>#selector{
font-size:36px;
color:red;
}type Selectors
<html>
<head>
<title>Test Page</title>
<link href="xxx.css" rel="stylesheet" >
</head>
<body>
<H1>H1會套用紅色!</H1>
<p>P的大小</p>
</body>
</html>H1{
color:red;
}
p{
font-size:36px;
}Universal Selectors
<html>
<head>
<title>Test Page</title>
<link href="xxx.css" rel="stylesheet" >
</head>
<body>
<H1>全部html元素都會套紅色</H1><br />
<p>全部html元素都會套紅色</p><br />
<b>全部html元素都會套紅色</b><br />
</body>
</html>*{
color:red;
}
常用的選擇器
<div class="bd">
<p>紅色,20點字,斜體</p>
</div>
<br />
<div id="content">
<div class="hd">
<p>紅色,36點字,粗體,斜體</p>
</div>
</div>p{
color:#F00;
font-style:italic;
}
.bd{
font-size:20px;
}
.hd p{
font-size:36px;
}
#content p{
font-weight:bold;
}sELECTOR REFERENCE
屬性介紹
練習
- Title(font:red,20px,bold)
- Content(background:yellow、font:blue、width:750px、height:80px)
- More(width:750、text-align:right)
根據上述的文字,替你的文字取id和class,並試著用前面教的來設定樣式
層疊樣式表(英語:Cascading Style Sheets,簡寫CSS)
又稱串樣式清單、級聯樣式表、串接樣式表、層疊樣式表、階層式樣式表,一種用來為結構化文件(如HTML文件或XML應用)添加樣式(字型、間距和顏色等)的電腦語言,由W3C定義和維護。目前最新版本是CSS2.1,為W3C的推薦標準。CSS3現在已被大部分現代瀏覽器支援,而下一版的CSS4仍在開發過程中。
詳細更多...
CSS Float
排版常用技巧之一
傳統的排版
<table border="1">
<tr>
<td align="left">靠左對齊</td>
<td align="right">靠右對齊</td>
</tr>
</table>float 屬性
<table border="1">
<tr>
<td>
<span style="float:left">靠左對齊</span>
<span style="float:right">靠右對齊</span>
</td>
</tr>
</table>使用FLOAT前
<table border="1">
<tr>
<td>
<img src="url.jpg">
層疊樣式表(英語:Cascading Style Sheets,簡寫CSS)又稱串樣式清單、級聯樣...
</td>
</tr>
</table>使用FLOAT後
<table border="1">
<tr>
<td>
<img src="url.jpg" style="float:left">
層疊樣式表(英語:Cascading Style Sheets,簡寫CSS)又稱串樣式清單、級聯樣...
</td>
</tr>
</table>使用Float的區塊,不會佔到空間
CSS bACKGROUND
適當的把一些東西變成背景,讓讀取更加快速
如何抉擇
何時該用背景? 何時該用IMG標籤?
- 裝飾性、可有可無之圖片
- 消失也不影響閱讀的圖片
- 消失也不影響閱讀的圖片
- 主要內容、主要閱讀用的
- 廣告、圖片標題、LOGO、內容圖片
常見的屬性
.imgg{
background-color:#FFOOOO;
/* 也可直接指定顏色,red, blue */
background-image:url(xxx.jpg);
background-repeat:no-repeat;
/* repeat-x, repeat-y, repeat */
background-position:center center;
/* 指定開始的位置,30% 30%, 300 300 */
}<div class="imgg"></div>CSS Position
用於位置調整、微調
Position
static
absolute
relative
fixed
配合top, left, right, bottom進行更便利的排版
(預設)
(絕對位置)
(相對位置)
(鎖定位置)
.wh{
width:500px;
height:150px;
border-style:solid;
}
.oh{
width:450px;
height:100px;
border-style:dashed;
position:static;
}<div class="wh"></div>
<br />
<div class="wh">
<div class="oh">看我</div>
</div>
<br />
<div class="wh"></div>
.wh{
width:500px;
height:150px;
border-style:solid;
}
.oh{
width:450px;
height:100px;
border-style:dashed;
position:absolute;
right:0px;
bottom:0px;
}
<div class="wh"></div>
<br />
<div class="wh">
<div class="oh">看我</div>
</div>
<br />
<div class="wh"></div>
absolute
.wh{
width:500px;
height:150px;
border-style:solid;
position:relative;
}
.oh{
width:450px;
height:100px;
border-style:dashed;
position:absolute;
right:0px;
bottom:0px;
}
<div class="wh"></div>
<br />
<div class="wh">
<div class="oh">看我</div>
</div>
<br />
<div class="wh"></div>relative vs absolute
.wh{
width:500px;
height:150px;
border-style:solid;
}
.oh{
width:450px;
height:100px;
border-style:dashed;
position:fixed;
bottom:0px;
}
<div class="wh"></div>
<br />
<div class="wh">
<div class="oh">看我</div>
</div>
<br />
<div class="wh"></div>fixed
練習
運用剛剛教的來玩個小排版遊戲

width:80px;
height:80px;
border-style:solid;
border-radius:99em;
left:300px;
top:300px;
補充:框線框度(border-width:10px;)
補充
Marign
Border
Padding
常常搞混的三角關係

<div>
讓我們把這段文字當作測試的內容,
來了解一下Padding、Border和Margin之間的關係吧。
</div>div {
width: 300px;
padding: 25px;
border: 25px solid;
margin: 250px;
}半透明
漸層
圓角
盒子陰影
文字陰影
換場
實作練習
下載素材1



下載素材2



架構
1.將照片引入HTML內
<img src="images/xxx.png">2.統一瀏覽器計算方法
*{
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}3.設定圖片的寬度
img {
width: 100%;
}4.將圖片各別放入div中套用樣式
<div class="dynamic">
<img src="images/xxx.png">
</div>5.針對dynamic進行相關設定
.dynamic{
padding: 5px; /*元素與邊框之間的間距*/
float: left; /*元素排列靠左*/
width: 33.333333%; /*元素的寬度*/
}6.將全部元素包到另一個div內套樣式
<div class="container">
<div class="dynamic">
<img src="images/xxx.png">
</div>
</div>7.針對不同瀏覽寬度套用不同設定
@media (min-width:xxx px) {
.container {
width: xxx px;
}
}
/* 768 , 992 , 1200 */8.設定磚塊排列模式
@media (min-width:768px) {
.dynamic {
width: 16.66666667%;
}
}9.讓動態磚置中對齊
*{
-webkit-box-sizing:border-box;
-moz-box-sizing:border-box;
box-sizing:border-box;
margin-right: auto;
margin-left: auto;
}作業提示
- 可由調整@media 內的container(width:100%)
- 長方形磚塊
- 可由調整width的%數字來更改
- 可藉由命名不同的class來進行套用
- 長方形磚塊的class在html那邊加一段 style="height:0px;"
- 即時更新要加一點js才會作用,因此先用這個方法
- <div class="dynamic2" style="height:0px;">
作業
- 將磚塊排滿整個螢幕
- 可用多磚塊排滿
- 使用長方形的磚塊圖
參考資料
CSS入門教學
By nicky30102
CSS入門教學
- 1,673