[1061] XOOPS佈景設計
一、 關於CSS
- Cascading Style Sheets:串接樣式表,簡稱CSS,可用來控制網頁上各元素之外觀
- 其註解符號為 /* 這裡寫CSS的註解 */
- 基本概念:挑出網頁中的元素,套上指定樣式。
- 一組CSS宣告的組成為「挑選器 {樣式屬性 : 值;}」,如:「h1 {color: blue}」
- 若有多個宣告,請用「;」隔開。
- CSS樣式屬性以及可用的值可從這裡查詢: http://css.doyoe.com
- 套用樣式的三種方法:
行內樣式
內部樣式
外部樣式
影響範圍
最小
單一頁中
許多頁
優先權
最高
用法
<HTML標籤 style=”CSS宣告;”>
<style type="text/css">
CSS宣告;
</style>
<link href="CSS檔.css" rel="stylesheet">
- 一個頁面可以同時套用好幾個css檔或設定,若裡面有挑選器重複的,則以最後讀到的為主。
- 在CSS檔中,還可以用import來引入其他的CSS檔:如:@import url("block.css");
- 常用圖庫:https://pixabay.com
- 線上配色:https://coolors.co、 http://paletton.com/
- 免費影片:https://www.videvo.net、 http://www.wedistill.io、 https://videos.pexels.com、 http://mazwai.com、 http://www.splashbase.co、 https://vimeo.com/groups/freehd/、 http://www.coverr.co/
- 背景:http://css.doyoe.com/properties/background/background.htm
- background: url('圖') || 位置 || /尺寸 || 重複 || 固定 || 圖像原點 || 裁剪區域 || 顏色; body { background: url('bg.png') bottom right/ 50% no-repeat fixed #252a44; }
- 若有第二組背景用 , 隔開即可。
- 背景淡化(加在</body>前即可) <div style=" position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(255,255,255,0.5); z-index: -100;"> </div>
- 長度:http://css.doyoe.com/values/length/index.htm
- 長度大小單位:%(百分比)、in(英吋)、cm(公分)、mm(公釐)、em(1em等同於目前預設字型大小)、pt(點,約1/72英吋)、px(像素)
- 顏色碼:http://css.doyoe.com/values/color/index.htm
- 顏色碼:red(顏色名稱),#FF0000(十六進位,00~FF),rgb(255,0,0)(十進位,0~255) ,rgba(255,0,0,0.5) (CSS3,a是透明度),transparent(透明)
- 字型:http://css.doyoe.com/properties/font/index.htm
- font:樣式 || 大小寫 || 粗細 || 大小 || /行高 || 字型 h1 { font: bold 10em /1.5 '微軟正黑體'; }
- 顏色:http://css.doyoe.com/properties/color/index.htm
- 段落文字:http://css.doyoe.com/properties/text/index.htm p { word-break: break-all; line-height: 1.8; text-align: justify; }
- 文字裝飾:http://css.doyoe.com/properties/text-decoration/index.htm a { text-decoration: none; } mark { text-decoration: underline dashed red; background-color: #8dbeb2; opacity: 0.5; }
- 標籤挑選器:即一般網頁標籤。如:body、h1、mark、p...等,只要是該標籤都會受影響。
- (1) 樣式表:p {CSS屬性: 值;}
- (2) 網頁:<p></p>
- ID挑選器:樣式表以「#名稱」宣告,網頁則需使用id屬性,如:
- (1) 樣式表:#web_title{CSS屬性: 值;}
- (2) 網頁:<div id="web_title"></div>
- 類別挑選器:樣式表以「.名稱」宣告,網頁則需使用class屬性,如:
- (1) 樣式表:.row{CSS屬性: 值;}
- (2) 網頁:< div class="keyword"></div>
- 設計版面前,會先大致規劃一下版面布局,也就是把畫面劃分成幾個<div>區域來設計。
- container層用來放置整個網頁內容 .container { width: 1170px; box-sizing: border-box; margin: 0px auto; }
- 內間距:padding: 0px 40px;(上 右 下 左)
- 外邊界:margin: 0px auto 20px auto(上 右 下左)←就是順時針
- (1) 凡是有上右下左的屬性,都可以分開寫。例如 border、margin、padding等屬性。
- (2) margin-top:10px; padding-bottom:15px;
- 利用box-sizing: border-box;定義盒模型為 border-box,如此就不用煩惱寬度問題(標準盒模型的寬度是「內容寬」+「內距寬」+「邊框寬」)。
- FireFox自47版後就拿掉3D模型顯示功能,需要的請加入Title 3D 外掛,點選 Ctrl+Shift+M即可開啟。
- 邊框:http://css.doyoe.com/properties/border/border.htm
- border: 粗細 || 框線類型 || 顏色 h3 { border: 1px solid #8dbeb2; border-left-width: 10px; padding: 2px 20px 2px 10px; background-color: rgb(255, 255, 255); display: inline-block; text-shadow: 1px 1px 1px rgba(0, 0, 0, .3); } header { padding: 1px 0px 0px; margin-top: 10px; background: rgba(255, 255, 255, .3); color: #000; text-align: center; border-radius: 10px; }
- 顯示模式:http://css.doyoe.com/properties/layout/display.htm
- (1) 每個 HTML 元素都有預設的 display 值,通常是 block「區塊」 或 inline「行內」元素
- 文字陰影:http://css.doyoe.com/properties/text-decoration/text-shadow.htm
- 圓角邊框:http://css.doyoe.com/properties/border/border-radius.htm
- #nav a(包含):<div id=”nav”>底下的所有<a>
- #nav>a(子層):僅<div id=”nav”>下一層的<a>
- 列表:http://css.doyoe.com/properties/list/list-style.htm nav>ul { list-style: none; margin: 0; padding: 0; background: rgba(93, 75, 82, 0.5); } nav>ul>li { float: left; } nav>ul>li a { display: block; color: white; text-align: center; padding: 14px 16px; }
- list-style:清單類型 || 位置 || 圖片
- float浮動,其值有left 、right、none
- 擬類別通常是動態的,也就是和使用者的操作互動有關的一個狀態:
- (1) :active 滑鼠點下該元件的瞬間
- (2) :hover 滑鼠移到該元件上
- (3) :link 尚未瀏覽過的超鏈結
- (4) :visited 已經瀏覽過其內容的超鏈 nav>ul>li a:hover { background: rgba(141, 190, 178, 0.9); }
- 用display:table、table-cell來模擬表格 .row { display: table; background: rgba(255, 255, 255, 0.8); } article { display: table-cell; width: 75%; padding: 30px; vertical-align: top; } aside { display: table-cell; width: 25%; background: rgba(141, 190, 178, 0.2); vertical-align: top; }
- 陰影:http://css.doyoe.com/properties/border/box-shadow.htm
- box-shadow: 上位置 右位置 下位置 左位置 顏色; figure { box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2); text-align: center; padding: 20px; background: rgba(255, 255, 255, 0.2); }
- 過渡:http://css.doyoe.com/properties/transition/transition.htm
- transition: 欲套用屬性 || 持續時間 || 動畫 || 延遲時間 figure:hover { transition: 0.3s; box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2); background: rgba(255, 255, 255, 0.5); }
- 表單加入class=”form”,每一列用class=”form-group”包起來,輸入框用class=”form-input”包起來。 .form { display: table; width:100%; } .form-group { display: table-row; } .form-group>label { display: table-cell; vertical-align: top; padding: 4px; } .form-input { display: table-cell; padding: 4px; }
-
美化表單,多個挑選器共用同一個CSS宣告可用逗號 , 隔開:
.form-input>input[type="text"], .form-input>input[type="password"], .form-input>select, .form-input>textarea { width: 100%; font-size: 12pt; border-radius: 5px; padding: 3px; }
- 先利用<video>標籤建立影片,詳情:http://www.runoob.com/tags/tag-video.html <video loop muted autoplay poster="Raindrops_Videvo.jpg" class="video"> <source src="Raindrops_Videvo.mp4" type="video/mp4"> </video>
- 媒體請求:http://css.doyoe.com/properties/media-queries/index.htm
- 將影片平鋪放大,固定於底層;當比例大於16:9時(越扁),高度放大,並往上提;當比例小於16:9時(越長),寬度放大,並往左拉
.video {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: -100;
}
@media (min-aspect-ratio: 16/9) {
.video { height: 400%; top: -150%; }
}
@media (max-aspect-ratio: 16/9) {
.video { width: 400%; left: -150%;}
}