1. 程式人生 > >css標簽屬性及用法

css標簽屬性及用法

靜態 奇數 放大 顏色 出現 type nor 註意 visit

css標簽及屬性

HTML引入CSS的方法

1.嵌入式 <style type = “text/css”>要寫的樣式</style>

2.外聯式 <link rel = “stylesheet” type = “text/css” href = “css/public.css” />

3.行內式(主要用於JS控制元素的樣式):style="color:red;"

九大選擇器

1.通配符*{設置全局} 2.html標簽選擇器(多個標簽時用,隔開);

3.id #選擇器; 4.class 選擇器;(id,class聲明是區分大小寫的)

5.後代選擇器(子子孫孫都選擇) {選擇器1 選擇器2}

6.子選擇器 選擇器1>選擇器2

7.相連兄弟 (同級相連的元素 一個) +

8.相連兄弟們(同級所有的元素) ~

9.偽類:link (未訪問的樣式) :visited 已訪問的樣式 :hover鼠標懸停的樣式 :active 點擊時的樣式。

優先級:id> class > 標簽

100 10 1(權重) 復合使用時,權重相加大的優先級高

font字體屬性

font-size 字體大小

font-family 字體系列(宋體等)

font-weight 字體粗細 normal bold 100~900 400=normal 700=bold

font-style 字體風格 normal italic(傾斜)

font-variant 字體的變形 small-caps (小型大寫字母)

font 簡寫(要求至少給出 字體大小/字體系列) 例如:font: 15px 微軟雅黑;

font: [<字體加粗> | <字體風格> | <字體變形>] <字體大小>[/行高] <字體系列> 必須按順序!!否則不會執行

background背景屬性

background-color 背景顏色(三種方式,1.單詞2.#fff000 3.rgb(255,255,255)4.rgba,a透明度(0-1)

background-image 背景圖片 :url(‘./imgs...‘); css引入文件,都是相對於css自己本身

background-repeat: 重復方式 no-repeat(不重復) | repeat-x | repeat-y | repeat
background-position  背景位置  (left center right  水平方向/// top  center bottom  垂直方向)
                                              例子: background-position:7px(X) -45px<Y>  瀏覽器為第四項限
background-attachment  背景固定  (fixed  固定  scroll默認滾動)
background-size    背景圖片的尺寸 (像素 / % / cover 擴大至覆蓋全部)
               長度單位:px,em(倍數);%     顏色單位:單詞;進制;rgb;rgba(a是透明度,0是透明,1不透明)
background  簡寫  (無順序,隨便寫)

文本屬性

letter-spacing    字間距  px         color:顏色                            

word-spacing 詞間距 px (只對有空格的起作用)

text-indent 首行縮進 px

text-align 文字對齊 left right center

line-height 行高 px em % (每行的間距)以字的中間為基線,是基線與間的距離

text-decoration 文字修飾(underline 下劃線 / overline 上劃線 / line-through 刪除線 / none 隱藏下劃線)

text-shadow 文字陰影(:5px 5px 5px #f00; 水平陰影位置 垂直陰影位置 模糊距離 陰影的顏色)

white-space:nowrap 強制不換行
word-wrap:break-word;word-break:normal 自動換行
(用邊框屬性繪制三角形,邊框本質是梯形)

邊框屬性

border-width 邊框四邊的寬度 px

border-style 邊框的樣式 solid (單線)double(雙線) dashed(虛線)

border-color 邊框顏色

單獨設置某條邊的邊框 需要加入-top 等關鍵字

border 簡寫形式 border:width style color; 例子:border: 1px solid #666

box-shadow 邊框陰影 水平位置x / 垂直位置y / 模糊距離10px/陰影大小10px / 陰影顏色

border-radius 邊框圓角 px / %

border-collapse: collapse; 合並表格內外邊距

列表屬性

list-style-type 設置列表的格式為none.也就是沒有格式.

list-style 列表樣式類型 none(無樣式) 去列表的點

                     disc(默認值 實心點)             circle 圓圈           decimal 數字
                     lower-roman 小寫羅馬..等

list-style-position 列表樣式位置 inside(在內) outside(在外) 比如說圓點或者方點

list-style-image 列表樣式圖片 :url(‘./....‘);

盒子模型

1.盒子模型的組成:  width  寬   /  height高 / padding內邊距 /  border邊框/ margin  外邊距 {(left  top right  bottom可以控制單獨的邊} 例;margin-top:10px;
margin:上下左右                margin:上 左右 下               margin:上 右 下 左
2.浮動布局: float  浮動(left  right )   clear 清除浮動(left  right  both   清除兩側浮動) {清除浮動才會把盒子撐起來}
2.1第二種清除浮動:  .父元素標簽::before, .父元素標簽::after{content: ‘‘;display: table;}
                                     .父元素標簽::after{clear: both;}
               
3.position  定位:absolute  絕對定位  (以父元素為基點,脫離文檔流不保留位置)
                                relative   相對定位(不脫離文檔流,保留位置)   / fixed      固定定位(網頁廣告)                        (這些都是非靜態定位)                  
                                z-index   決定元素層的顯示順序(值越大,越在頂層顯示.)
4.布局相關的屬性:
               4.1 display (規定如何顯示,可以進行塊與行的轉化)
                   none(隱藏)、block(以塊元素顯示)、inline(以行內元素顯示) 
                   inline-block   以行級塊元素的特點顯示
               4.2 visibility  (規定元素是否可見)
                  :visible  可見,默認值  / hidden   隱藏 占位 /  inherit  繼承 子元素默認
 
               4.3 overflow  (溢出的內容該如何顯示)
                  visible(可見)、hidden(隱藏)、scroll(出現滾動條)、auto(超出自動顯示滾動條)
                  overflow:hidden(可用於清除浮動,在父元素中使用)
               4.4 cursor:(網頁中光標的類型)  pointer(手形),text(文本),help(幫助),wait(等待),
 
5.特殊元素(內聯塊狀元素/行內元素/內聯元素...)    1.和其他元素都在一行之上   2.高/寬/行高/上下邊距  都可以設置
 
布局技巧:
多盒浮動:1.父元素用相對定位,子元素用絕對定位
                  2.算好子元素的位置,讓超出父元素的部分隱藏
                  3.當鼠標放上去時,所有距離移動過來
鼠標方上:出現(小辣椒)
               父:width:220px;height:460px;position:absolute;left:234px;top:0px;display:none; 
               :hover{display:block;}
圖片定位:
                 background:url(‘1.png‘) -381px -108px;} 
         .box1:hover{background-position:-247px -108px;}
               以左上角為基準(0,0),向右向下為XY正
圖標字體:
               @font-face{font-family:‘tbzt‘; src:url(‘./zt/iconfont.ttf‘);}
               .font{font-family:‘tbzt‘;}       

高級樣式

transition(平滑過渡) : property (改變某個屬性)

duration (轉換過程的持續時間) (單位:s/ms)

timing-function(變換的速率)(ease逐漸變慢/ linear勻速/ease-in 加速/ease-out 減速/ ease-in-out加速然後減速)

例:.box2:hover{background: orange; transition:background 3s ease-out;}

transition: all .2s linear(平滑過渡)

transform(變形) :(單位:deg 角度) none (不變)

  1. rotate (旋轉) rotateX rotateY

例:rotate(30deg) rotateX(30deg) rotateY(30deg)

.rotate{width:400px;margin:50px auto;transition:transform 0.5s linear; (把 transform當做屬性值用)}

.rotate:hover{transform: rotate(60deg);}

  1. skew (扭曲)

例:skew(30deg); skewX(30deg); skewY(30deg);

  1. scale(num) 中心縮放 -1,-2,1,2,... 放大(縮小)倍數 /scale(X,Y)

例:scale(1.5); scale(2,1.5);

4.translate(移動)translateX / translateY / translate(X,Y)

例:translate(100px,20px)

5.matrix 矩陣變形

opacity: 0-1(透明-不透明);

兩種漸變

1. background: -webkit-gradient(linear, 0 0, 0 100%, from(red), to(blue));

2. background-image:-webkit-gradient(

linear, /* 漸變類型:線性漸變 */

10% 10%, /* 分別對應X,Y 方向漸變起始位置 */

100% 100%, /* 分別對應X,Y 方向漸變終止位置 */

color-stop(0.14, rgb(255,0,0)), /* 漸變顏色位置,及顏色 */

color-stop(0.5, rgb(255,255,0)), /* 漸變顏色位置,及顏色 */

color-stop(1, rgb(0,0,255)) /* 漸變顏色位置,及顏色 */);

動畫屬性

需要@keyframes 配合 animation一起來使用

Animation:

Animation-name:動畫的名稱

Animation-duration:執行動畫的時間

Animation-timing-function:動畫的類型,類型與過渡的類型。

Animation-delay:延遲時間

animation-iteration-count:執行動畫的次數,infinite,無限次

animation-direction:執行方向,奇數次向右執行,偶數次向前執行

@keyframs 動畫的名稱{

0%{

屬性

}

100%{

屬性

}

}

.div1:hover{ 名字 時間 方式 延遲時間 次數 執行方向

animation: changcolor 3s ease 1s 2 alternate;

}

@keyframes changcolor{

0%{

background:green;

}

50%{

background:blue;

}

100%{

background:pink;

}

}

浮動

浮動了就不是塊級元素了,不占一行。只是改變了文檔流的顯示,沒有脫離文檔流(塊浮起來了,文字卻依然在外面)。

網頁的層次是:定位 >浮動 > 塊級元素,定位在最高層。

1.不要給父元素設height(寬一般設置,因為具體布局時需要考慮尺寸),只要設置了,子元素是無法改變父元素設置好的寬高的。

2.父、子元素都浮動或者都不浮動,在第一條的前提下,都可以撐開父元素。

3.父元素浮動,子元素不浮動,可以撐開(但是子依然是塊)。

4.父元素不浮動,子元素浮動,不可以撐開(雖然子元素還在父裏,但一種是塊,一種是浮動了,不屬於同類)。要想撐開,必須清除浮動。

定位:絕對定位,脫離文檔流,不保留位置,普通文檔流其不存在;

絕對定位需要一個參照物,不然就是根據body的位置定位了;

相對定位,不脫離文檔流,保留位置,它的參照物是自己,自己設置了position:relative這個屬性,top,left才會生效(left: 10px;現在這塊左邊10px是原來的位置)

定位:只有父元素也定位,子元素定位才會相對父元素定位置,否則是相對頁面定位,父 子元素可以一個相對一個絕對。

兼容性處理

l 全局CSS設置

l 常用兼容性技巧

l CSS HACK

1、清除所有的標記的內外邊距

body,ul,li,a,img,p,input{ margin:0; padding:0; }

2、去除項目符號或編號前面的符號

ul,ol,li{ list-style:none; }

3、全局鏈接效果

a:link , a:visited{color:#444;text-decoration:none;}

a:hover{color:red;}

4、網頁中所有的文字大小顏色

body{ font-size:12px; font-family:宋體; color:#ccc; }

5、去除圖片的鏈接邊框線

img{border:0;}

6全局的類樣式

@font-face{font-family:‘dqz‘;src: url(‘iconfont.ttf‘);}(這是圖形字體,需要加載)

.fone{font-family:‘dqz‘; }(在html裏加class=“fone”就可以使用)

.fl{float:left;}

.fr{float:right;}

.cl{clear:both;}

.mt_10{margin-left:50px}

.bgr{}

.ccc{background-color:#ccc;}

常用的兼容性調試技巧

1、實現所有瀏覽器主頁居中

Firefox下主頁居中代碼:.box{margin:0px auto}

IE5.5下主頁居中代碼:body{text-align:center;}

將以上兩種代碼,合在一齊書寫:

2、單行文本上下居中

h1{

height:30px;

line-height:30px;

}

3、在IE6下,左右margin會加倍,應該是IE6下的一個bug

提示:排版時,能使用padding解決的,堅決不用margin。如果實在想用的話,就使用其中一邊。

解決的方案:使用 display:inline;

CSS HACK

針對不同瀏覽器,書寫不同的CSS代碼的過程,稱為“CSS HACK”。

也就是說:寫一個CSS代碼,讓IE6識別,其它瀏覽器不識別。

下面,針對不同瀏覽器,有幾個符號:

這些符號是在CSS屬性的前面加的,用於分辨不同的瀏覽器版本。

l “*”IE6和IE7都識別。如:.box{ * }

l “_”只有IE6識別。如:.box{ _background-color:green;}

使用CSSHACK來處理IE6下,左右margin加倍的問題

註意:CSSHACK不是W3C的標準,因此,我們盡量少用。如果你調試兼容性,調試不好時,可以偶爾用一下。

其他註意:

1.html代碼前必須寫<!DOCTYPE HTML>//否則ie margin:0 auto不會居中
2.解決ie文本框不垂直居中line-height後面加\9
               line-height:25px\9
3.CSS禁止Chrome谷歌瀏覽器激活輸入框後自動添加橘黃色邊框
               .className:focus{outline:none } || {outline:Blue Solid 4px;}
4.要使得子盒子位於父盒子處於絕對居中方案一(推薦):
               設置父盒子{position:realtive;}
               設置子盒子{margin:auto;postion:absolute;left:0;right:0;top:0;bottom:0;}

附錄:

1.CSS Cascading Style Sheets 層疊樣式表。CSS是給HTML標記加的樣式;JS是給HTML標記加的行為。HTML標記是最先出現的

2.註意:id屬性一般是給JS使用的,不是讓你來加樣式的。class屬性只能給CSS用,不能給JS用的。

id選擇器的名稱,必須以“#”開頭,後跟HTML標記的id屬性的值。

3.浮動出現的意義其實只是用來讓文字環繞圖片而已,僅此而已.

4.list-style:none (去掉各種項目符號) 行高等於盒子高度(上下居中)

5.我們所說的width和height屬性,它們指內容的寬度和高度,不含內、外邊距、邊框線。

6.浮動就是將塊級元素霸占一行的特性取消,脫離原來的文本流。

7.CSS屬性繼承:外層元素的樣式,會被內層元素進行繼承。多個外層元素的樣式,最終都會“疊加”到內層元素上。

8.cursor:網頁中光標的類型,取值:text(文本)help(幫助)、wait(等待)、pointer(手形)等

10.上下兩個塊元素,如果每一個元素都指定了四個外邊距,那麽上下相鄰的那個外邊距會發生合並的現象,合並後取其中較大的外邊距。

11.浮動的元素,不再占空間了,並且,浮動元素的層級要高於普通元素

12.CSS屬性繼承:外層元素的樣式,會被內層元素進行繼承。多個外層元素的樣式,最終都會“疊加”到內層元素上。

13.單個選擇器的優先級:行內樣式 > id選擇器 > class選擇器 > 標簽選擇器

14.同一個class屬性,可以指定多個類名樣式,多個類樣式之間用空格隔開。

15.兼容性調試,主要調試IE8IE7IE6Firefox

補充

偽元素選擇器

s1:firsh-child 第一個子元素

s1:last-child 最後一個子元素

s1:nth-child(num) 匹配父元素的第n個子元素s1.

num從1開始 也可以是公式 例: 2n 2n-1 奇偶數 even(偶數) odd(奇數)

s1:nth-last-child(num) 匹配父元素的倒數第n個子元素s1.

s1:nth-of-type(num) 匹配同類型中的第n個同級兄弟元素s1

s1:nth-last-of-type(num) 匹配同類型中的倒數第n個同級兄弟元素s1

s1:only-child 當子元素只有一個時 起作用

s1:not() 除了()裏的元素,其他都選中

s1:empty 選中內容為空的標簽, 空格也算有內容

s1::before 內容之前 content內容屬性

s1::after 內容之後

css標簽屬性及用法