CSS介紹 CSS:層疊樣式表:Cascading Style Sheets:修改HTML樣式 CSS引用 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>引用CSS</title> <!-- 第一種:外部樣 ...
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>引用CSS</title> <!-- 第一種:外部樣式 --> <link rel="stylesheet" href="style.style"> <!-- 第二種:內部樣式 --> <style> p { color: red; } </style> </head> <body> <!-- 第三種:行內樣式 --> <p style="color: red">引用樣式</p> </body> </html>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>選擇器</title> <style> /*標簽選擇器 選擇所有p標簽*/ p {} /*id選擇器 選擇id為xiu的標簽*/ #xiu {} /*類選擇器 選擇所有class為kang的標簽*/ .kang {} /*後代選擇器 選擇div裡面所有class為kang的標簽*/ div .kang {} /*子代選擇器 選擇div裡面子類的所有p標簽*/ div > p {} /*交集選擇器 選擇p標簽且id為kang的標簽*/ p#kang {} /*並集選擇器 選擇id為id的標簽和class為kang的兩個標簽*/ #id,.kang {} /*偽類選擇器 :link未訪問的鏈接 :visited已訪問的鏈接 :hover滑鼠移上去的鏈接 :active選中的鏈接*/ p:hover {} /*結構偽類選擇器 選擇第一個p標簽*/ p:first-child {} /*結構偽類選擇器 選擇最後一個p標簽*/ p:last-child {} /*結構偽類選擇器 選擇第2個p標簽 n表示所有 2n表示偶數 2n+1表示奇數*/ p:nth-child(2) {} /*結構偽類選擇器 選擇所有偶數的p標簽 even偶數 odd奇數*/ p:nth-child(even) {} /*屬性選擇器 選擇屬性為href的a標簽*/ a[href] {} /*屬性選擇器 選擇屬性href和屬性title的a標簽*/ a[href][title] {} /*屬性選擇器 選擇屬性和值為href="url"的a標簽*/ a[href="url"] {} /*屬性選擇器 選擇屬性和值為href="url"且title="提示"的a標簽*/ a[href="url"][title="提示"] {} /*屬性選擇器 選擇屬性的值以url開頭的a標簽,該值必須是整個單詞*/ a[href|="url"] {} /*屬性選擇器 選擇屬性的值以url開頭的a標簽*/ a[href^="url"] {} /*屬性選擇器 選擇屬性的值以url結尾的a標簽*/ a[href$="url"] {} /*屬性選擇器 選擇屬性的值包含url的a標簽,該值必須是整個單詞*/ a[href~="url"] {} /*屬性選擇器 選擇屬性的值包含url的a標簽*/ a[href*="url"] {} </style> </head> <body> <p>段落</p> <a href="url" title="提示">百度</a> </body> </html>
CSS字體
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>字體</title> <style> p { /*設置字體大小*/ font-size: 20px; /*設置字體*/ font-family: "宋體","微軟雅黑"; /*字體加粗*/ font-weight: 700; /*字體傾斜*/ font-style: italic;/*normal 取消樣式*/ /*字體顏色 預定義顏色:red;十六進位顏色:#FF0000;RGB顏色:rgb(255,255,255) */ color: #aa00cc;/* #aa00cc可以簡寫為#a0c 兩兩相同才可以*/ /*設置行高*/ line-height: 20px; /*設置文字對齊方式*/ text-align: center; /*段落首行縮進*/ text-indent: 2em; /*設置字體裝飾 underline下劃線 overline上劃線 line-through刪除線 none無裝飾 */ text-decoration: underline; } h1 { /*字體連寫,順序不能交換,size/family不能省略*/ /*font: font-style font-weight font-size font-family;*/ font: 25px "宋體"; } </style> </head> <body> <p>字體</p> <h1>標題</h1> </body> </html>
元素
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8">h <title>塊級元素</title> <style> /* 塊級元素 block-level 總是從新行開始 高度,行高,外邊距都可以控制 寬度預設是容器的100% 可以容納內聯元素和其他元素 常見的塊元素:<h> <p> <div> <ul> <ol>等等*/ /* 行類元素 inline-level 和相鄰的行內元素在一行上 高寬無效,但水平方向的padding和margin可以設置,垂直方向無效 預設寬度為他本身內容的寬度 常見的行內樣式有:<a> <strong> <em> <s>等等 */ /*行內塊元素 inline-block 和相鄰行內元素在一行上,但之間有空白縫隙 預設寬度為他本身內容的寬度 寬度,高度,外邊距都可以控制 常見的行內塊元素有:<img> <input> <td> */ /*可以將行內元素和行內塊元素看作文字對待*/ div { /*將塊元素轉換為行內元素*/ display: inline; } span { /*將行內元素轉換為塊元素*/ display: block; } a { /*將行內元素轉換為行內塊元素*/ display: inline-block; } </style> </head> <body> <div></div> <span></span> <a href="#"></a> </body> </html>
CSS的特性
- 層疊性
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8">h <title>繼承性</title> <style> /*一般情況下,如果出現樣式衝突,會按照CSS的書寫順序,已最後的樣式為準 樣式衝突,遵循的原則為就近原則,那個樣式離結構進,就執行那個樣式,就近原則 樣式不會衝突,不會層疊 color樣式衝突了,就執行最近的一個color,font-size沒有衝突,正常執行 */ p { color: red; font-size: 20px; } p { color: blue; } </style> </head> <body> <p>段落</p> </body> </html>
- 繼承性
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8">h <title>繼承性</title> <style> /*子標簽會繼承父標簽的某些屬性,比如:字體顏色和字型大小*/ .xiu { color: red; } </style> </head> <body> <div class="xiu"> <p>段落</p> </div> </body> </html>
- 優先性
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8">h <title>優先順序</title> <style> /* 繼承或者*的貢獻值 0000 每個元素的貢獻值 0001 每個類,偽類的貢獻值 0010 每個ID的貢獻值 0100 行內樣式的貢獻值 1000 每個!important的貢獻值 無窮大 貢獻值越大,越先執行 貢獻值可以疊加,比如: div ul li {} -- 0003 .xiu ul li {} -- 0012 #xiu ul li {} -- 0102 */ .xiu { color: red!important;/*最先執行*/ } .xiu { color: blue; } </style> </head> <body> <div class="xiu"> <p>段落</p> </div> </body> </html>
背景圖片
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8">h <title>背景圖片</title> <style> body { /*添加背景顏色*/ background-color: red; /*添加背景圖片*/ background-image: url(1.png); /*no-repeat圖片不平鋪 repeat-x水平平鋪 repeat-y垂直平鋪*/ background-repeat: no-repeat; /*設置圖片位置 top上 bottom下 left左 right右 也可以寫數值x,y值 */ background-position: right bottom;/*如果只寫一個,剩下一個為居中center*/ /*設置圖片滾動 fixed固定 scroll預設滾動而滾動*/ background-attachment: fixed; /*設置圖片透明度*/ background: rgba(0,0,0,0.5); /*設置背景圖片的大小 cover 等比例鋪滿整個盒子,超出範圍將隱藏 contain 等比例鋪滿整個盒子,保證圖片始終顯示在盒子內 */ background-size: 300px 300px;/*一般設置一個值,另外一個值預設auto 等比例縮放*/ /*background連寫方式*/ /*background: 背景顏色 背景圖片地址 背景平鋪 背景滾動 背景位置*/ } </style> </head> <body> </body> </html>
邊框
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>邊框</title> <style> table { width: 100px; height: 100px; /*設置邊框寬度*/ /*border-width: 1px;*/ /*設置邊框樣式 none無邊框 solid實線邊框 dashed虛線 */ /*border-style: dashed;*/ /*設置邊框顏色*/ /*border-color: red;*/ /*設置上邊框*/ /*border-top: 1px solid red;*/ /*border連寫*/ border: 1px solid red; } td { border: 1px solid blue; } table,td { /*合併單元格相鄰邊框*/ border-collapse: collapse; } </style> </head> <body> <table cellpadding="0" cellspacing="0"> <tr> <td>修抗</td> <td>修抗</td> </tr> <tr> <td>牛皮</td> <td>牛皮</td> </tr> </table> </body> </html>
邊距
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>內邊距與外邊距</title> <style> /* padding 用於設置內邊距:自身的邊框與自身內部內容的距離 margin 用於設置外邊距:自身邊框與相鄰邊框的距離 margin與padding的語法一樣: padding-top 上內邊距 padding-right 右內邊距 padding-bottom 下內邊距 padding-left 左內邊距 padding: 3px; 上下左右都是3px padding: 3px 4px; 上下為3px,左右為4px padding: 2px 3px 4px;上2px,左右為3px,下為4px padding: 1px 2px 3px 4px; 上1px,左2px,下3px,右4px padding不能為負數值 padding在塊級元素下,上下左右可以隨意設置,會撐開盒子,一般要減去padding設置的高度寬度 padding在行內元素只有左右邊距有效果,上下不識別 margin: 0 auto;設置水平居中,auto自動 只對塊元素起作用 margin在塊級元素下,上下左右可以隨意設置 margin在行內元素只有左右邊距有效果,上下不識別 */ </style> </head> <body> </body> </html>
- 邊距問題:1
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> /*外邊距合併*/ .xiu { width: 100px; height: 100px; background-color: red; margin-bottom: 150px; } .kang { width: 100px; height: 100px; background-color: blue; margin-top: 100px;/*最終兩個盒子的距離已最大的那個為準*/ } </style> </head> <body> <div class="xiu"></div> <div class="kang"></div> </body> </html>
- 邊距問題2
<!DOCTYPE html> <