####Part1 CSS簡介css
CSS 層疊樣式表:主要用於定義html內容在瀏覽器內的顯示樣式,如文字、大小、字體加粗等html
css註釋 /註釋語句/ html註釋<!--註釋語句-->api
css樣式由選擇符和聲明組成,而聲明又由屬性和值組成。 當有多條聲明時,中間用英文;隔開. 最後一條生命通常沒有分號瀏覽器
代碼:p{ font-size:14px; color: blue}
說明: p 選擇符 /:聲明 /color 屬性 /blue 值ide
3種css樣式優先級從高到低:內聯式>嵌入式>外部式佈局
內聯式:<p style="color":red>文本</p>字體
嵌入式css: <head>標籤內添加 <style type="text/css">css樣式</style>
url
外鏈式css:<head>/<body>標籤內添加 <link href="base.css" rel="stylesheet" type="text/css"/>
spa
!!!!注意: 1.css樣式文件以有意義的英文字母命名; 2.rel="stylesheet" type="text/css"是固定寫法不可修改 3.<link>標籤位置通常寫在<head>標籤內設計
####Part2 CSS選擇器 #####2.1 選擇器簡介 基本選擇器: 元素(標籤)選擇器、id選擇器、class選擇器、子類選擇器、父類選擇器
標籤選擇器 { css樣式; }
類選擇器 .class { css樣式代碼; }
注意前綴.
id選擇器:#id{ css樣式; }
注意前綴#
類選擇器和ID選擇器的區別: 1.ID選擇器只能在文檔中使用一次; 2.能夠用類選擇器詞列表方法爲一個元素同時設置多個樣式,而ID選擇器不能夠
子選擇器: 語法:.food>li{ css樣式 ;}
子選擇器用>符號用於選擇制定標籤元素的第一代子元素
包含(後代)選擇器 語法:.first span{ css樣式; }
包含選擇器即加入空格,用於制定標籤元素下的全部後代元素
相鄰選擇器:選擇下一個兄弟元素 語法: p1+p2{ css樣式; }
用+鏈接
羣組選擇器: div,p,span{css樣式}
用,隔開
通用選擇器:* {css樣式}
css清零 *{margin:0;padding:0}
#####2.2 選擇符 僞類選擇符: 僞類選擇符容許給html不存在的標籤(標籤的某種狀態)設置樣式: 代碼:a:hover{color:red;}這行代碼就是爲a標籤鼠標滑過的狀態設置字體顏色變紅
注意:僞類標籤並不兼容全部瀏覽器,不建議使用
分組選擇符: 當你想爲html中多個標籤元素設置同一個樣式時,可使用分組選擇符(,)
選擇符的特色: 繼承 繼承規則不只容許css樣式做用於某個html標籤,並且應用於其後代
特殊性 當咱們爲同一個元素設置了不一樣的css樣式代碼,瀏覽器會根據權值來判斷使用那種css樣式,標籤 權值=1, 類的權值=10 id權值=100 繼承的權值=0.1
層疊 一個元素有多個權值同樣的css樣式,瀏覽器會根據這些樣式的前後順序來決定,處於最後面的css樣式會被應用
重要性 咱們在作網頁代碼的時,有些特殊的狀況須要爲某些樣式設置具備最高權值,怎麼辦?這時候咱們可使用!important來解決。 代碼: p{color:red!important;} p{color:green;}
!!!注意:!important要寫在分號的前面
#####2.3 font文字樣式
font-family 字體類型(可同時設置多個值) font-size 字體大小 color 顏色 (rgb轉16進制:http://www.lvyestudy.com/tools/color_picker.aspx) font-weight 粗細 normal/lighter/bold/bolder font-style 斜體 normal italic oblique(有italic就用italic,無該屬性就用oblique) text-decoration: none/ underline/ line-through 刪除線
#####2.4 text段落樣式 text-align: center/left/right text-indent: 2em(縮進2個字符) line-height: nnpx(當與height值相等時,能夠控制文本垂直居中) text-transform: none/uppercase/lowercase/capitalize font-varient: none/small-caps(小型大寫,基本用不到) letter-spacing: 字母間距 nnpx; word-sapcing: 單詞間距 nnpx;
#####2.5 border邊框樣式
任何塊級元素和行級元素均可以設置邊框屬性 border屬性: border-width: npx; border-style: none/solid/dashed/dotted/dobule/hidden 3D邊框樣式:inset 內凹/ outset 外凸/ ridge 脊線/ groove槽線 border-color:顏色值
局部邊框設置:border-top/right/bottom/left
#####2.6 background背景樣式
背景色:background-color: 背景圖:background-image:url("img地址"); background-repeat: no-repeat repeat-x repeat-y repeat; background-position: top/bottom left/center/right 或者像素值 background-acttachment:scroll(默認)/fixed
#####2.7 a標籤 超連接樣式
a:link 未被訪問 a:visited 訪問後的樣式 a:hover 鼠標通過顯示 a:active 單擊激活時的樣式 給a標籤訂義樣式時,這4種僞類的順序不能變!!
鼠標樣式:cursor cursor屬性值:default/pointer/move/....
#####2.8 image圖片樣式 width/height/border text-align 水平對齊/vertical-align 垂直對齊 圖文環繞 float(浮動)屬性:left/right/margin
#####2.9 list 列表樣式 ol type=1 /a /A /i /I ul type=disc實心圓/circle空心圓/square 實心正方形 list-style-type:none list-style-image:url("地址")
#####2.10 table表格樣式 單元格之間的間距:border-collapse:separate(默)/collapse 表格邊框間距: npx (左右,上下) 表格標題:caption-side:top(默)/bottom
####Part3 盒子模型 #####3.1 元素分類 在css中,html標籤元素可分紅三大類:塊狀元素、內聯元素、內聯塊狀元素
塊狀元素(display:block) 特色: 一、每一個塊級元素都重新的一行開始,而且其後的元素也另起一行。(真霸道,一個塊級元素獨佔一行)
二、元素的高度、寬度、行高以及頂和底邊距均可設置。
三、元素寬度在不設置的狀況下,是它自己父容器的100%(和父元素的寬度一致),除非設定一個寬度。
經常使用的block元素有:<div>、<p>、<h1>...<h6>、<ol>、<ul>、<dl>、<table>、<address>、<blockquote> 、<form>
內聯元素(display:inline) 特色: 一、和其餘元素都在一行上; 二、元素的高度、寬度及頂部和底部邊距不可設置; 三、元素的寬度就是它包含的文字或圖片的寬度,不可改變。 經常使用的inline元素有:<a>、<span>、<br>、<i>、<em>、<strong>、<label>、<q>、<var>、<cite>、<code>
內聯塊狀元素(display:inline-block) 特色: 一、和其餘元素都在一行上; 二、元素的高度、寬度、行高以及頂和底邊距均可設置。 經常使用的內聯塊狀元素有:<img>、<input>
#####3.2 盒子模型 在CSS理論中,全部頁面中的元素均可以看出是一個盒子,而且佔據必定的頁面空間
盒子內容到border距離:padding 盒子之間距離:margin 盒子上下左右:padding-top/riht/bottom/left 盒子的邊框: border
一個元素的實際寬度(盒子的寬度)=左邊界+左邊框+左填充+內容寬度+右填充+右邊框+右邊界。
注意:元素的width和height僅僅針對內容區而言
#####3.3 CSS佈局模型
3種基本佈局模型:Flow流動模型/ Float浮動模型/ Layer層模型
Flow模型(默認網頁佈局模型) 特徵: 1.塊狀元素都會在所處的包含元素內自上而下按照順序垂直延伸分佈,由於在默認狀態下,塊狀元素的寬度都是100%
2.在流動模型下,內聯元素都會在所處的包含元素內從左到右水平分佈顯示
Float模型:能夠設置塊元素的水平對齊方式 !!設置浮動後,未設置寬度的話,容器的大小隨着內容而變化
特徵:任何元素在默認狀況下是不能浮動的,但能夠用 CSS 定義爲浮動,如 div、p、table、img等元素均可以被定義爲浮動
層模型:層模型佈局就像是ps中的圖層編輯功能,每一個圖層都可以精準定位操做。
#####3.4 定位機制:標準文檔、浮動、絕對定位
經過使用position屬性能夠選擇4種不一樣的定位
靜態定位static:默認狀況下,不指定元素的position值,元素時靜態定位
相對定位relative:相對原始位置偏移 相對定位完成的過程是首先按static(float)方式生成一個元素(而且元素像層同樣浮動了起來),而後相對於之前的位置移動,移動的方向和幅度由left、right、top、bottom屬性肯定,偏移前的位置保留不動。
絕對定位absolute和fixed:一個元素變成了絕對定位元素,這個元素就徹底脫離正常文檔流了,絕對定位元素的前面或者後面的元素會認爲這個元素並不存在,即這個元素浮於其餘元素上面,它是獨立出來的。
absolute:相對文檔絕對定位 fixed:相對於網頁窗口固定定位,它不會隨瀏覽器窗口的滾動條滾動而變化。
####Part4 CSS代碼縮寫和居中樣式小技巧 #####4.1 代碼簡寫 盒子模型縮寫:margin:10px//margin:10px 20px//
顏色值縮寫:對於rgb的16進制格式,如果每兩位的值同樣,能夠縮寫一半
字體縮寫: body{ font:italic 12px/15px bold "宋體" ,sans-serif}
注意:1.字體縮寫至少要指定font-size和font-family屬性 2.font-size 與 line-height 中間要加入「/」斜扛
90像素=1英寸
#####4.1 CSS居中樣式設計小技巧 水平居中: 若是被設置元素爲文本、圖片等行內元素時,水平居中是經過給父元素設置 text-align:center 來實現的。
div 水平平居中 margin:0 auto;
不定寬度塊狀元素:
設置不定寬塊狀居中:
法一: 加入 table 標籤,給這個table設置 margin:0 auto; 法二: 設置 上一級父元素display: inline; 法三: 設置 上一級父元素position:relative 和 left:-50%;
垂直居中:
父元素高度肯定的單行文本:height=line-height
父元素高度肯定的多行文本 :
法一: 使用插入 table (包括tbody、tr、td)標籤,同時設置table的vertical-align:middle(默認如此)
法二: 設置父元素display: table-cell,同時設置 vertical-aglin:middle
隱形改變display類型:
position:absolute 和float:left/right(只要出現任意一種狀況,元素的display會自動變爲 inline-block