CSS入門知識彙總

1.CSS認識

在談論CSS的概念以前,咱們先說一說web標準的目的——其在於建立一個統一的用於web表現層的技術標準,以便經過不一樣瀏覽器或終端設備向最終用戶展現信息內容。一個網頁的呈現是由三部分組成:結構(Structure)表現(Presentation)行爲(Behavior)css

而三大部分又是由html、css、js來編寫組成的:html

結構web

HTML瀏覽器

樣式字體

CSS網站

行爲google

JSspa

 

 

 

 

 

1.1 CSS的概念及做用

CSS是(Cascading Style Sheets)層疊樣式表的縮寫 ,簡稱樣式表。ssr

網頁設計者使用CSS能夠定義元素的樣式,包括字體,顏色及其它的高級樣式。設計

採用CSS樣式的優勢:

1. 提升頁面瀏覽速度。 使用CSS方法,比傳統的web設計方法至少節約50%以上的大小。

2. 縮短改版時間,將表現與內容相分離。 只要簡單的修改幾個CSS文件就能夠從新設計一個有成千上萬個網頁。

3.下降網站流量的費用。帶寬要求下降(代碼更簡潔),成本更低

4.聯想容易被搜尋引擎搜索到。 提升網站在百度或google中的排名

5.內容能被更普遍的設備所訪問。包括屏幕閱讀機,手持設備等。

1.2 CSS的三種基本寫法

語法簡單說明以下:

單個樣式:

樣式屬性名樣式屬性值 好比 color:red;

多個樣式:

樣式屬性名:樣式屬性值 ; 樣式屬性名:樣式屬性值 ;

好比 color:red;font-size:120px;

 

 

 

 

 

 

注意:

1.屬性值不須要使用引號括起來,除非屬性值是由多個單詞組成,如:font-family: "sans serif"

2.有的屬性能夠指定多個屬性值,多個屬性值間以「,」隔開;

3.當定義多個值時,瀏覽器按照從前向後順序選擇屬性值。若是第1個值有效,則嘗試使用,若是第1個無效,則使用第2個,依次類推。

①寫法一:在標籤中的style屬性中直接寫樣式 

1 <!-- 寫法一 -->
2 <div style="color: red;font-weight: bold;font-style: italic;font-family:楷體;">疊層樣式表</div>

②寫法二:在style標籤內書寫樣式,標籤能夠放在頁面的任何位置;推薦寫在head、body中

 1 <head>
 2 <meta charset="UTF-8">
 3 <title>Insert title here</title>
 4 <!--div選擇器 寫法二-->
 5 <style type="text/css">
 6 div {  
 7     color: red;
 8     font-weight: bold;
 9     font-style: italic;
10     font-family:楷體;
11 }
12 </style>
13 </head>
14 <body>
15 <div>疊層樣式表</div>
16 </body>

③寫法三:外部引入樣式,實際項目中應用最多,使用link標籤進行.css文件外部引用

 1 <head>
 2 <meta charset="UTF-8">
 3 <title>Insert title here</title>
 4 <!-- link中必需要有rel和href兩個屬性 寫法三 -->
 5 <link rel="stylesheet" href="./css/02-css.css">
 6 </head>
 7 <body>
 8 <!-- 寫法三:外部引入樣式,實際項目中應用最多,使用link標籤進行.css文件外部引用-->
 9 <div>疊層樣式表</div>
10 </body>

.css文件中寫入選擇器對應的樣式列表,以下:

1 @CHARSET "UTF-8";
2 div {
3     color: red;
4     font-weight: bold;
5     font-style: italic;
6     font-family:楷體;
7 }

 2.CSS選擇器

2.1基本選擇器

CSS基本選擇器比較簡單,主要分爲:通用選擇器、標籤選擇器、類選擇器、ID選擇器四大類。直接上代碼看一下就懂了:

 1 <head>
 2 <meta charset="UTF-8">
 3 <title>Insert title here</title>
 4 <style type="text/css">
 5 /* 1.通用選擇器
 6 *{  
 7     color: red;
 8     font-weight: bold;
 9     font-style: italic;
10     font-family:楷體;
11 } */
12 /* 2.標籤選擇器
13 span{  
14     color: red;
15     font-weight: bold;
16     font-style: italic;
17     font-family:楷體;
18 } */
19 /* 3.類選擇器
20  .spanstyle{
21     color: red;
22     font-weight: bold;
23     font-style: italic;
24     font-family:楷體;
25 } */
26 /* 4.ID選擇器
27 #id1{
28     color: red;
29     font-weight: bold;
30     font-style: italic;
31     font-family:楷體;
32 } */
33 </style>
34 </head>
35 <body>
36 <!-- 選擇器:選擇器名{樣式...}
37      1.通用選擇器:*{樣式};找到全部標籤,渲染速度不高;
38      2.標籤選擇器:標籤名{樣式};
39      3.類選擇器:.類名{樣式},選擇器名是class屬性的值,class屬性值能夠有多個相同
40      4.ID選擇器:#ID屬性值{樣式},ID取值推薦是惟一的,不惟一都會渲染效果、不報錯(但實際項目中必須惟一)-->
41 <div>div樣式</div>
42 <span class="spanstyle">span樣式</span>
43 <a id="id1">a超連接樣式</a>
44 </body>

2.2其餘選擇器

CSS其餘選擇器主要有:多元素選擇器、後代選擇器、子元素選擇器、相鄰元素選擇器、屬性選擇器這五大類,具體仍是看代碼:

 1 <head>
 2 <meta charset="UTF-8">
 3 <title>Insert title here</title>
 4 <style type="text/css">
 5 /*1.多元素選擇器 
 6 div,span,a{
 7     color: red;
 8     font-weight: bold;
 9     font-style: italic;
10     font-family:楷體;
11 } */
12 /*2.後代選擇器
13  #intro p{
14     color: red;
15     font-weight: bold;
16     font-style: italic;
17     font-family:楷體;
18 }*/
19 /*3.子元素選擇器
20  #intro > p > span {
21     color: red;
22     font-weight: bold;
23     font-style: italic;
24     font-family:楷體;
25 }*/
26 /*4.相鄰元素選擇器
27 span + p {
28     color: red;
29     font-weight: bold;
30     font-style: italic;
31     font-family:楷體;
32 }*/
33 /*5.屬性選擇器
34 a[target]{
35     color: red;
36     font-weight: bold;
37     font-style: italic;
38     font-family:楷體;
39 }
40 a[target=_blank]{
41     color: red;
42     font-weight: bold;
43     font-style: italic;
44     font-family:楷體;
45 } */
46 </style>
47 </head>
48 <body>
49 <!-- 選擇器:其餘選擇器
50      1.多元素選擇器:多個標籤共用一個樣式,寫法:標籤名1,標籤名2,標籤名n{樣式}
51      2.後代選擇器:匹配前面的大類選擇器(包含)裏面的選擇器,渲染後代樣式;選擇器爲兩種(大/小),中間用空格
52      3.子元素選擇器:選擇器名稱之間用>符號,和後代選擇器做用相似,但支持多級下的子元素渲染,比後代選擇器定位更精確
53      4.相鄰元素選擇器:適用於兩個同級別元素之間,使用+號鏈接,會渲染+號以後的那個元素樣式
54      5.屬性選擇器 :匹配全部具備attr屬性或匹配全部attr屬性,且attr屬性值爲val的元素渲染-->
55 <div>div樣式</div>
56 <span class="spanstyle">span樣式</span>
57 <p>p1標籤樣式</p>
58 <a id="id1">a超連接樣式</a>
59 <div id="intro">
60     <p>
61         我是大p<br>
62         <span>我是大p裏面的span</span>
63     </p>
64     <p>我是小p</p>
65 </div>
66 <span class="spanstyle">span樣式</span>
67 <p>p2標籤樣式</p>
68 <a href="http://www.baidu.com" target="_blank">baidu.com</a><br>
69 <a href="http://www.taobao.com" target="_top">taobao.com</a>
70 </body>

 另外獨立來講一說僞類選擇器,CSS僞類選擇器主要用於某些選擇器添加特殊的效果。主要在支持CSS的瀏覽器上對連接的不一樣狀態以不一樣的方式顯示。這些狀態包括:活動狀態(active),已被訪問狀態(visited),未被訪問狀態(link),和鼠標懸停狀態(hover)。

1 a:link {color: #FF0000}        /* 未訪問的連接 */
2 a:visited {color: #00FF00}    /* 已訪問的連接 */
3 a:hover {color: #FF00FF}    /* 鼠標移動到連接上 */
4 a:active {color: #0000FF}    /* 選定的連接 */

提示:在 CSS 定義中,a:hover 必須被置於 a:link 和 a:visited 以後,纔是有效的。

提示:在 CSS 定義中,a:active 必須被置於 a:hover 以後,纔是有效的。

提示:僞類名稱對大小寫不敏感。

下面以一個a:hover的例子來解釋一下僞類選擇器的做用:

 1 <head>
 2 <meta charset="UTF-8">
 3 <title>Insert title here</title>
 4 <style type="text/css">
 5 /*將全部的a標籤的狀態都修改爲下面這樣*/
 6 a{
 7     color:black;        
 8     text-decoration: none;  /*不顯示下劃線*/
 9 }
10 /*當鼠標移上來的狀態咱們進行單獨的修改*/
11 a:hover{
12     color:red;
13     text-decoration: underline;
14     font-size:30px;
15 }
16 </style>
17 </head>
18 <body>
19 <!-- 僞類選擇器,主要有四個大的屬性:
20      a:link             未訪問的連接
21      a:hover   鼠標移動到連接上
22      a:active  選定的連接
23      a:visited 已訪問的連接
24       -->
25 <a href="www.baidu.com">百度網址</a>
26 </body>

顯示效果以下:

更多CSS僞類知識能夠參考:http://www.w3school.com.cn/css/css_pseudo_classes.asp

3. CSS的優先級

CSS樣式是有優先級的,具體的樣式優先級(渲染順序)以下:

!important > 行內樣式 > id選擇器 > 類選擇器 > 標籤選擇器,在選擇器優先級(先看優先級)相同的狀況下,參照就近原則,具體示例以下代碼:

 1 <head>
 2 <meta charset="UTF-8">
 3 <title>Insert title here</title>
 4 <!-- 樣式優先級:!important > 行內樣式 > id選擇器 > 類選擇器 > 標籤選擇器
 5      選擇器優先級相同,則是就近原則渲染,即渲染前後 -->
 6 <style type="text/css">
 7 /* div{
 8     color:red !important;
 9 } */
10 /* #divId{
11     color:green;
12 } */
13 .divClass{
14     color: yellow;
15 } 
16 div{
17     color: orange;
18 }
19 div{
20     color:black;
21 }
22 </style>
23 </head>
24 <body>
25 <div id="divId" class="divClass" style="color: blue;">我被渲染了</div>
26 </body>

4.CSS的繼承性

HTML文檔以樹形結構進行組織,各元素之間是一種層次關係,這種層次關係一樣反映在樣式表的應用中。具備層次關係的元素之間,內層元素將繼承外層元素的樣式,多個外層元素中定義的樣式將疊加到內層元素。

HTML中,<body>是其餘元素的容器,是其餘元素的最外層元素,因此<body>元素中定義的樣式將影響其餘全部元素的顯示格式。

具體示例以下:

 1 <head>
 2 <meta charset="UTF-8">
 3 <title>Insert title here</title>
 4 <!-- 繼承性:具備層次關係的元素之間,內層元素將繼承外層元素的樣式,多個外層元素中定義的樣式將疊加到內層元素 -->
 5 <style type="text/css">
 6 .divclass{
 7     color: blue;
 8     border-width:1px;
 9      border-style:solid;
10     border-color:red;
11 }
12 </style>
13 </head>
14 <body>
15 <!-- 
16 border屬性的兩種寫法:
17 第一種寫法: border:border-width border-style border-color
18 第二種寫法:border-width:blue;
19         border-style:solid;
20           border-color:red;-->
21 <div style="color: blue;border: 1px solid red">
22     <p>字體變紅</p>
23 </div>
24 <div class="divclass">
25     <p>字體變紅</p>
26 </div>
27 </body>

具備繼承的CSS屬性:

說明

對應屬性

文本相關的屬性是繼承的

text-align、color、text-indent、font-family、font-size、

font-style、font-weight、 letter-spacing、word-spacing、

text-transform、line-height等

 

列表相關的屬性是繼承的(ul,ol,li)

list-style、 list-style-image、list-style-position、list-style-type

 

 

 

 

 

 

 

 

 

5.更多CSS

本文只列出了本人做爲web開發時經常使用的CSS知識入門進行系統總結,不包含CSS3等特定CSS知識,更多文檔及官方知識庫請連接w3school官網:

http://www.w3school.com.cn/cssref/index.asp

相關文章
相關標籤/搜索