重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
CSS選擇器的類型分為3類:標記選擇器、類別選擇器和ID選擇器。(可能名稱有不同的說法,但意思都是一樣的) 標記選擇器是利用HTML的標記直接定義標記內(nèi)容的樣式,如:h1{ color:red; font-size:25pt;} 類別選擇器是通常說的class選擇器,定義的時候要在名稱前加.如:.one{ color:red; font-size:25pt;} ID選擇器定義的時候要在前面加#,如:#box { color:red; font-size:25pt;} 利用DW寫CSS的時候,高級就是上面說的ID選擇器,ID選擇器的名字可以任意命名,可以自己定義,可是標簽就只能是HTML語言里制定的那些標記,不能自己定義。
成都創(chuàng)新互聯(lián)公司主要從事成都做網(wǎng)站、成都網(wǎng)站制作、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)偏關(guān),10余年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18982081108
css3中,追加了三個屬性選擇器分別為:
結(jié)構(gòu)性偽類選擇器由兩部分構(gòu)成,一是偽類選擇器,一是偽元素選擇器。
偽類選擇器 ,要注意命名不要與系統(tǒng)定義好的選擇器重名,例如link、hover
偽元素選擇器 中包含 first-line、first-letter、before、after。
當(dāng)root和body起沖突時,body就對內(nèi)容區(qū)域生效,在內(nèi)容區(qū)外則是root生效。
格式 :not(selector)
1. first-child 對一個父元素中的 第一個 子元素進行樣式的指定
2. last-child 對一個父元素中的 最后一個 子元素進行樣式的指定
3. nth-child(positon) 對一個父元素中的 指定序號 的子元素進行樣式的指定
4. nth-last-child 對一個父元素中的 指定倒數(shù)序號 的子元素進行樣式的指定
2)使用nth-of-type(odd)和nth-of-type(even)
1)使用nth-child
2)使用nth-child(an+b),a表示每次循環(huán)中,包括幾種樣式,b表示指定的樣式在循環(huán)中所處的位置。
only-child選擇器,在元素只有一個子元素時,可以代替使用 nth-child(1)/nth-last-child(1) 。
在css3選擇器中,除了結(jié)構(gòu)性偽類選擇器外,還有一種UI元素狀態(tài)選擇器——只有當(dāng)元素處于某種狀態(tài)下才起作用,在默認狀態(tài)下不起作用。
通過js改變輸入框的可輸入和不可輸入狀態(tài),通過css樣式改變輸入框可輸入和不可輸入狀態(tài)時的背景顏色。
用來位于同一個父元素之下的,給與一個子元素平級的另一個子元素設(shè)定樣式
一、新增的選擇器
CSS3新增的屬性選擇器 {除ie6外的大部分瀏覽器支持)
1 ? ?E[att^="val"] ? ?屬性att的值以"val"開頭的元素 ? ?div[id^="nav"] { background:#ff0; }?
2 ? ?E[att$="val"] ? ?屬性att的值以"val"結(jié)尾的元素 ? ?? ?
3 ? ?E[att*="val"] ? ?屬性att的值包含"val"字符串的元素 ? ?? ?
結(jié)構(gòu)偽類選擇器(過濾選擇器)
(注:FireFox 1.5/2.0/3.0支持E:root,F(xiàn)ireFox 3.0支持E:last-child、E:only-child、E:empty。
由于IE6/7/8不支持,沒辦法,選擇合適的場合用吧。)
4 ? ?E:root ? ?匹配文檔的根元素,對于HTML文檔,就是HTML元素 ? ?? ?
5 ? ?E:nth-child(n) ? ?匹配其父元素的第n個子元素,第一個編號為1 ? ?p:nth-child(3) { color:#f00; } ?
6 ? ?E:nth-last-child(n) ? ?匹配其父元素的倒數(shù)第n個子元素,第一個編號為1 ? ?p:last-child { background:#ff0; } ?
7 ? ?E:nth-of-type(n) ? ?與:nth-child()作用類似,但是僅匹配使用同種標簽的元素 ? ?p:nth-of-type(2){color:red;}選擇父元素的第n個子元素p ?
8 ? ?E:nth-last-of-type(n) ? ?與:nth-last-child() 作用類似,但是僅匹配使用同種標簽的元素 ? ?? ?
9 ? ?E:last-child ? ?匹配父元素的最后一個子元素,等同于:nth-last-child(1) ? ?? ?
10 ? ?E:first-of-type ? ?匹配父元素下使用同種標簽的第一個子元素,等同于:nth-of-type(1) ? ?? ?
11 ? ?E:last-of-type ? ?匹配父元素下使用同種標簽的最后一個子元素,等同于:nth-last-of-type(1) ? ?? ?
12 ? ?E:only-child ? ?匹配父元素下僅有的一個子元素,等同于:first-child:last-child或 :nth-child(1):nth-last-child(1) ? ?p:only-child { background:#ff0; } ?
13 ? ?E:only-of-type ? ?匹配父元素下使用同種標簽的唯一一個子元素,等同于:first-of-type:last-of-type或 :nth-of-type(1):nth-last-of-type(1) ? ?? ?
14 ? ?E:empty ? ?匹配一個不包含任何子元素的元素,注意,文本節(jié)點也被看作子元素 ? ?p:empty { background:#ff0; } ?
與用戶界面(UI)有關(guān)的偽類(ie6 7 8不支持)? ??
15 ? ?E:enabled ? ?匹配表單中激活的元素 ? ?? ?
16 ? ?E:disabled ? ?匹配表單中禁用的元素 ? ?input[type="text"]:disabled { background:#ddd; } ?
17 ? ?E:checked ? ?匹配表單中被選中的radio(單選框)或checkbox(復(fù)選框)元素 ? ?? ?
18 ? ?E::selection ? ?匹配用戶當(dāng)前選中的元素 ? ?? ?
級元素通用選擇器
ie6不支持?
19 ? ?E ~ F ? ?匹配任何在E元素之后的同級F元素 ? ?p ~ ul { background:#ff0; } ?
反選偽類
(ie6 7 8 firefox3.0以下 Opera9.0不支持) ?
20 ? ?E:not(s) ? ?匹配不符合當(dāng)前選擇器的任何元素 ? ?:not(p) { border:1px solid #ccc; } ?
:target 偽類
(ie6 7 8不支持) ?
21 ? ?E:target ? ?匹配文檔中特定"id"點擊后的效果 ? ?? ?
二、css3新增屬性
一. box-shadow(陰影效果)
使用:
box-shadow: 20px 10px 0 #000;
-moz-box-shadow: 20px 10px 0 #000;
-webkit-box-shadow: 20px 10px 0 #000;
支持:
FF3.5, Safari 4, Chrome 3
二. border-colors(為邊框設(shè)置多種顏色)
使用:
border: 10px solid #000;
-moz-border-bottom-colors: #555 #666 #777 #888 #999 #aaa #bbb #ccc;
-moz-border-top-colors: #555 #666 #777 #888 #999 #aaa #bbb #ccc;
-moz-border-left-colors: #555 #666 #777 #888 #999 #aaa #bbb #ccc;
-moz-border-right-colors: #555 #666 #777 #888 #999 #aaa #bbb #ccc;
說明:
顏色值數(shù)量不固定, 且FF的私有寫法不支持縮寫: -moz-border-colors: #333 #444 #555;
支持:
FF3+
三. boder-image(圖片邊框)
使用:
-moz-border-image: url(exam.png) 20 20 20 20 repeat;
-webkit-border-image: url(exam.png) 20 20 20 20 repeat;
說明:
(1). 20 20 20 20 --- 邊框的寬度, 分別對應(yīng)top, right, bottom, left邊框, 改變寬度可以實現(xiàn)不同的效果;
(2). 邊框圖片效果(目前僅實現(xiàn)了兩種):
repeat --- 邊框圖片會平鋪, 類似于背景重復(fù);
stretch --- 邊框圖片會以拉伸的方式來鋪滿整個邊框;
(3). 必須將元素的邊框厚度設(shè)置為非0非auto值.
支持:
FF 3.5,?Safari 4, Chrome 3
四. text-shadow(文本陰影)
使用:
text-shadow:?[顏色水平偏移縱向偏移模糊半徑] ||?[水平偏移縱向偏移模糊半徑顏色];
說明:
(1)?顏色和模糊半徑是可選的, 當(dāng)顏色未指定時, 將使用文本顏色; 當(dāng)模糊半徑未指定時, 半徑值為0;
(2)?shadow可以是逗號分隔的列表, 如:
text-shadow: 2px 2px 2px #ccc, 3px 3px 3px #ddd;
(3)?陰影效果會按照shadow list中指定的順序應(yīng)用到元素上;
(4)?這些陰影效果有可能相互重疊, 但不會疊加文本本身;
(5)?陰影可能會跑到容器的邊界之外, 但不會影響容器的大小.
支持:
FF 3.5, Opera 10, Safari 4, Chrome 3
五.??text-overflow(文本截斷)
使用:
text-overflow: inherit | ellipsis | clip ;
-o-text-overflow: inherit | ellipsis | clip;
說明:
(1) 還有一個屬性ellipsis-word, 但各瀏覽器均不支持.
支持:
IE6+, Safari4, Chrome3, Opera10
六. word-wrap(自動換行)
使用:
word-wrap: normal | break-word;
支持:
IE6+, FF 3.5, Safari 4, Chrome 3
七. border-radius(圓角邊框)
使用:
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
支持:
FF 3+, Safari 4 , Chrome 3
八. ? opacity(不透明度)
使用:
opacity: 0.5;
filter: alpha(opacity=50); /* for IE6, 7 */
-ms-filter(opacity=50); /* for IE8 */
支持:
all
九. box-sizing(控制盒模型的組成模式)
使用:
box-sizing: content-box | border-box; // for opera
-moz-box-sizing:?content-box | border-box;
-webkit-box-sizing:?content-box | border-box;
說明:
1. content-box:
使用此值時,?盒模型的組成模式是, 元素寬度 = content + padding + border;
2. border-box:
使用此值時,?盒模型的組成模式是, 元素寬度 = content(即使設(shè)置了padding和border, 元素的寬度
也不會變).
支持:
FF3+, Opera 10, Safari 4, Chrome 3
十. resize(元素縮放)
使用:
resize:? none | both | horizontal | vertical;
說明:
1. 必須將元素的overflow屬性設(shè)置為auto或hidden, 該屬性才能起作用(overflow設(shè)置為visible時, 無效);
2. 屬性值說明:
(1). none -- 禁用縮放;
(2). both -- 可同時縮放寬度和高度;
(3). horizontal -- 僅能縮放寬度;
(4). vertical -- 僅能縮放高度;
支持:
safari 4, chrome 3
十一. outline(外邊框)
使用:
outline: 邊框厚度 邊框樣式 邊框顏色;
outline-offset: 偏移值;
說明:
outline-offset需要獨立寫, 簡寫是無效的.
支持:
FF3+, safari 4, chrome 3, opera 10
十二. background-size(指定背景圖片的尺寸)
使用:
-o-background-size: [length | percentage] {1, 2};
-webkit-background-size:?[length | percentage] {1, 2};
例如:
-o-background-size: 50px 60px;
-webkit-background-size:?50px 60px;
這會將背景圖片的寬設(shè)置了50px, 高60px.
支持:
safari 4, chrome 3, opera 10
十三. background-origin(指定背景圖片從哪里開始顯示)
使用:
-webkit-background-origin: border | padding | content;
-moz-background-origin: border | padding | content;
說明:
(1) border --?從border區(qū)域開始顯示背景;
(2) padding --?從padding區(qū)域開始顯示背景;
(3) content --?從content區(qū)域開始顯示背景;
注意:
1. 必須先指定background屬性, 然后才能指定該屬性, 如果該屬性出現(xiàn)在background屬性之前,
會無效.
支持:
safari 4, chrome 3, FF 3+ ?? ?? ?
十四. background-clip(指定背景圖片從什么位置開始裁切)
使用:
-webkit-background-origin: border-box | padding-box | content-box | no-clip;
說明:
(1)?border-box?--?從border區(qū)域向外裁剪背景;
(2)?padding-box?--?從padding區(qū)域向外裁剪背景;
(3)?content-box?--?從content區(qū)域向外裁剪背景;
(4) no-clip -- 不裁切背景.
注意:
1. 必須先指定background屬性, 然后才能指定該屬性, 如果該屬性出現(xiàn)在background屬性之前,
會無效.
支持:
safari 4, chrome 3
十五. ?background(為一個元素指定多個背景)
使用:
background:? [background-image] | [background-origin] | [background-clip] | [background-repeat] | [background-size] | [background-position]
例子:
background: url(bg1.png) no-repeat left top, url(bg2.png) no-repeat right bottom;
支持:
safari 4, chrome 3
十六. hsl(通過色調(diào), 飽和度, 亮度來指定顏色值)
使用:
hsl: (?length?||?percentage?||?percentage);
說明:
(1) length: h(色調(diào)), ?0(或360)表示紅色, 120表示綠色, 240表示藍色;
(2) percentage: s(飽和度), ?取值為0%到100%之間的值;
(3) percentage: l(亮度), ?取值為0%到100%之間的值;
例子:
background: hsl(240, 50%, 100%);
color: hsl(100, 80, 100%);
支持:
safari 4, chrome 3, FF3, opera 10
十七. hsla(在hsl的基礎(chǔ)上上增加了一個透明度設(shè)置)
使用:
hsla: (?length??||??percentage??||??percentage || opacity);
說明:
(1) opacity: a(透明度), 取值在0到1之間;
例子:
background: hsl(240, 50%, 100%, 0.5);
color: hsl(240, 50%, 100%, 0.5);
支持:
safari 4, chrome 3, FF3, opera 10
十八. rgba(基于r,g,b三個顏色通道來設(shè)置顏色值, 通過a來設(shè)置透明度)
使用:
rgba: (r, g, b, opacity);
說明:
(1) r: 紅色,?正整數(shù) | 百分數(shù);
(2) g: 綠色,?正整數(shù) | 百分數(shù);
(3) b: 藍色,?正整數(shù) | 百分數(shù);
(4) a: 透明度, 取值在0到1之間;
(5) 正整數(shù)在0到255之間, 百分數(shù)在0%到100%之間.
例子:
rgba: (100%, 244, 0, 0.5);
支持:
safari 4, chrome 3, FF3, opera 10
十九、?transition(a標簽hover漸隱效果)
a:hover{transition: color 0.15s linear 0s, background-color 0.3s linear 0s;}
-webkit-transition:color 0.15s linear 0s, background-color 0.3s linear 0s;
-moz-transition:color 0.15s linear 0s, background-color 0.3s linear 0s;
-o-transition:color 0.15s linear 0s, background-color 0.3s linear 0s;
-ms-transition:color 0.15s linear 0s, background-color 0.3s linear 0s;
transition:color 0.15s linear 0s, background-color 0.3s linear 0s;