CSS

CSS

一、CSS簡介

1.1 什么是CSS

  • CSS全稱:Cascading Style Sheet 層疊樣式表,定義如何顯示HTML元素
  • 多個樣式可以層層疊加,如果不同的css樣式對同一html標(biāo)簽進(jìn)行修飾,樣式有沖突的應(yīng)用優(yōu)先級高的,樣式無沖突的共同作用

1.2 CSS能干什么

  • 修飾美化html網(wǎng)頁
  • 外部樣式表可以提高代碼復(fù)用性從而提高效率
  • html內(nèi)容與樣式表現(xiàn)分離,便于后期維護(hù)

1.3 CSS書寫規(guī)范

CSS規(guī)則由兩個主要的部分構(gòu)成:選擇器,以及一條或多條聲明

  • 選擇器通常是我們需要改變的html元素
  • 每條聲明由一個屬性和一個值組成

1.4 基礎(chǔ)語法

選擇器{屬性:值; 屬性:值;......}

h1{color:red; font-size:14px;}

注意事項:

  • 使用花括號來包圍聲明
  • 如果值為若干單詞,則要給值加引號
  • 多個聲明之間使用分號來分開
  • css對大小寫不敏感,但如果涉及到與html文檔一起使用時,class與id名稱對大小寫敏感

二、CSS導(dǎo)入方式

2.1 內(nèi)嵌方式

把CSS樣式嵌入到html標(biāo)簽當(dāng)中,類似屬性的用法

<div style="color:red;font-size:14px">~示例文本~~~~~</div>

2.2 內(nèi)部方式

在head標(biāo)簽中使用style引入CSS樣式

<head>
    <!-- 告訴瀏覽器使用css解析器去解析 -->
    <style type="text/css">
        div{color:red;front-size:14px}
    </style>  
</head>
<body>
    <!-- 上面在head中定義了一個元素選擇器, 給所有的div元素加上上面定義好的CSS樣式 -->
    <div> aaaa </div>
</body>

2.3 外部方式

將CSS樣式抽成一個單獨的文件,使用者直接引用

Step1:創(chuàng)建單獨的css文件div.css

div{color:red;front-size:14px}

Step2:在html中引入div.css文件

<head>
    <link rel="stylesheet" type="text/css" href="div.css"></link>
    <!-- rel: 表示當(dāng)前頁面與href所指定文檔的關(guān)系
         type: 文件類型, 告訴瀏覽器使用css解析器去解析
         href: css文件地址 -->
</head>
<body>
    <!-- 在div.css中中定義了一個元素選擇器, 給所有的div元素加上上面定義好的CSS樣式 -->
    <div> aaaa </div>
</body>

2.4 @import方式

在頁面中引入一個獨立的單獨文件

<head>
    <!-- 引入div.css文件 -->
    <style type="text/css">
        @import url("div.css") 
    </style>
</head>
<body>
    <!-- 在div.css中中定義了一個元素選擇器, 給所有的div元素加上上面定義好的CSS樣式 -->
    <div> aaaa </div>
</body>

三、CSS選擇器

主要用于選擇需要添加樣式的html元素

3.1 基本選擇器

3.1.1 元素選擇器

給所有定義了選擇器的html元素添加樣式

html標(biāo)簽1, html標(biāo)簽2{屬性:屬性值; ......}

3.1.2 id選擇器

給需要修改樣式的html元素加上id屬性標(biāo)識,根據(jù)id的來選擇元素

<head>
    <!-- 定義了一個樣式, 該樣式只會被加到id="d1"的html元素 -->
    <style type="text/css">
        #d1{color:red;front-size:14px}
    </style>  
</head>
<body>
    <!-- 給該div定義了id -->
    <div id="d1"> aaaa </div>
</body>

3.1.3 class選擇器

給需要修改樣式的html元素加上class屬性標(biāo)識,根據(jù)class的值來選擇元素

<head>
    <!-- 定義了一個樣式, 該樣式只會被加到class="d1"的html元素 -->
    <style type="text/css">
        .d1{color:red;front-size:14px}
    </style>  
</head>
<body>
    <!-- 給該div定義了class -->
    <div class="d1"> aaaa </div>
</body>

與id選擇器的區(qū)別:class屬性可以重復(fù)定義,而id不行

<head>
    <style type="text/css">
        .d1{color:red;front-size:14px}
        #d2{color:red;front-size:14px}
    </style>  
</head>
<body>
    <!-- 給該div定義了class -->
    <div class="d1"> aaaa </div>
    <!-- 給該div定義了class -->
    <div class="d1"> bbbb </div>
    
    <!-- 給該div定義了id -->
    <div id="d2"> aaaa2 </div>
    <!-- 錯誤: 因為id="d2"已經(jīng)被使用了, 這里不能再用id="d2"來定義該div -->
    <div id="d2"> bbbb2 </div>
</body>

3.2 屬性選擇器

根據(jù)元素的屬性及屬性值來選擇元素

<head>
    <!-- 定義了一個樣式, 該樣式只會被加到帶有href屬性且屬性值為"www.baidu.com"的html元素
         如果不寫屬性值, 樣式就會被加到所有帶有href屬性的html元素 -->
    <style type="text/css">
        [href="www.baidu.com"]{color:red;front-size:14px}
    </style>  
</head>
<body>
    <a href="www.baidu.com"> aaaa </a>
    <a href="www.qq.com"> bbbb </a>
</body>

3.3 偽元素選擇器

也叫冒號選擇器,主要是針對< a>標(biāo)簽

語法:html元素:行為{css屬性}

  • 靜止?fàn)顟B(tài):沒有鼠標(biāo)碰到的狀態(tài)。a:link{css屬性}
  • 懸浮狀態(tài)?:鼠標(biāo)停留在鏈接時的狀態(tài)。a:hover{css屬性}
  • 觸發(fā)狀態(tài)?:鼠標(biāo)點擊鏈接時,點擊按下還沒抬起的狀態(tài)。a:active{css屬性}
  • 完成狀態(tài)?:鼠標(biāo)點擊鏈接后的狀態(tài)。a:visited{css屬性}
<head>
    <style type="text/css">
        <!-- 靜止?fàn)顟B(tài) -->
        a:link{color:blue;}
        <!-- 懸浮狀態(tài) -->
        a:hover{color:red;}
        <!-- 觸發(fā)狀態(tài) -->
        a:active{color:green;}
        <!-- 完成狀態(tài) -->
        a:visited{color:yellow;}
    </style>  
</head>
<body>
    <a href="www.baidu.com"> 點我吧 </a>
</body>

3.4 層級選擇器

語法:父級選擇器 子級選擇器{css屬性}

<head>
    <style type="text/css">
        #div1 .div11{color:blue;}
    </style>  
</head>
<body>
    <div id="div1">
        <!-- 上面定義了父級為id="div1" 子級為class="div11"的一個層級選擇器
             這樣就只會改變id="div1"下的class="div11"下的樣式, 而不會改變其他div的樣式-->
        <div class="div11"></div>
        <div class="div12"></div>
    </div>
</body>

四、CSS屬性

4.1 文字屬性

屬性名 取值 描述
font-size 像素值 設(shè)置字體大小
font-family 宋體、黑體等 設(shè)置字體樣式
font-style normal表示正常、italic表示斜體 設(shè)置斜體樣式
font-weight 100-900數(shù)值或者bold表示粗體 粗體樣式

4.2 文本屬性

屬性名 取值 描述
color 十六進(jìn)制或代表顏色的英文單詞 設(shè)置文本顏色
text-indent 像素或百分比。5px縮進(jìn)5像素或20%縮進(jìn)父容器寬度的百分之20 設(shè)置元素中文本的首行縮進(jìn)
text-decoration none、underline、overline、blink 文本的裝飾線
word-spacing normal或像素值 單詞間的水平間隔(只對英文有效)
letter-spacing normal或像素值 中文文字間的水平間隔
text-align left、right、center 文本水平對齊方式
line-height normal或像素值 設(shè)置文本的行間距
text-shadow 四個取值依次是:陰影水平偏移 陰影垂直偏移 陰影模糊程度 陰影顏色 設(shè)置陰影級模糊效果

4.3 背景屬性

屬性名 取值 描述
background-color 十六進(jìn)制或代表顏色的英文單詞 設(shè)置元素的背景色
background-image url('圖片路徑') 設(shè)置元素的背景圖片
backgroud-repeat repeat-y、repeat-x、repeat、no-repeat 設(shè)置背景圖片的平鋪方向
backgroud-size 寬度和高度屬性或者只設(shè)置寬度 改變圖像在背景中的大小

4.4 列表屬性

屬性名 取值 描述
list-style-type disc等 改變列表的標(biāo)識類型
list-style-image url('圖片路徑') 用圖像表示標(biāo)識
list-style-position inside;outside 標(biāo)識出現(xiàn)在列表項內(nèi)容之外還是內(nèi)部

4.5 尺寸屬性

屬性名 取值 描述
width 像素值 設(shè)置元素的寬度
height 像素值 設(shè)置元素的高度

4.6 顯示屬性

屬性名 取值 描述
display none:不顯示、block:塊級顯示(獨立一行)、inline:行級顯示(在同一行) 設(shè)置元素是否顯示以及顯示方式

4.7 輪廓屬性

屬性名 取值 描述
outline-style solid、dotted、dashed等 設(shè)置輪廓的樣式
outline-color 十六進(jìn)制或代表顏色的英文單詞 設(shè)置輪廓的顏色
outline-width 像素值 設(shè)置輪廓的寬度

4.8 浮動屬性

浮動的框可以向左或向右移動,直到它的外邊緣碰到包含框或另一個浮動框的邊框位置。由于浮動框不在文檔的普通流中,所以文檔的普通流中的塊框表現(xiàn)得就像浮動框不存在一樣(即碰到普通的框不會停下來)

float屬性:規(guī)定元素向什么方向移動

框1向右浮動,直到碰到包含框才停下來,框2和框3順勢上移

框1向左浮動,碰到框2時不會停下來,直到碰到包含框才停下來,此時看到的現(xiàn)象是框1覆蓋掉了框2

如果框1、框2都是浮動框,框1碰到包含框停下來,而框2碰到框1就會停下來,不會覆蓋掉框1

如果包含框太窄,無法容納水平排列的三個浮動元素,name其他浮動框向下移動,直到有足夠的空間。如果浮動元素的高度不同,那么當(dāng)它們向下移動時可能被其他浮動元素“卡住”

clear屬性:規(guī)定元素的哪一側(cè)不允許其他浮動元素

取值 描述
left 在左側(cè)不允許浮動元素
right 在右側(cè)不允許浮動元素
both 在左右兩側(cè)都不允許浮動元素
none 默認(rèn)值。允許浮動元素出現(xiàn)在兩側(cè)
inherit 規(guī)定應(yīng)該從父元素繼承clear屬性的值

4.9 定位屬性

相對定位(relative):元素框偏移某個距離,元素仍保持其未定位前的狀態(tài),它原本所占的空間保留

<head>
    <style type="text/css">
        h2.pos_left {
            position: relative;
            left: -20px;
        }
        h2.pos_right {
            position: relative;
            left:20px;
        }
    </style>
</head>

<body>
    <h2>這是位于正常位置的標(biāo)題</h2>
    <h2 class="pos_left">這個標(biāo)題相對其正常位置向左移動</h2>
    <h2 class="pos_right">這個標(biāo)題相對其正常位置向右移動</h2>
    <p>相對定位會按照元素的原始位置對該元素進(jìn)行移動</p>
    <p>樣式 “l(fā)eft:-20px” 從元素的原始左側(cè)位置減去20像素</p>
    <p>樣式 “l(fā)eft:20px” 從元素的原始左側(cè)位置增加20像素</p>
</body>

絕對定位(absolute):元素框從文檔流完全刪除,并相對于其包含框進(jìn)行定位。包含框可能是文檔中的另一個元素,或者是初始包含框。元素原先在正常文檔流中所占的空間會關(guān)閉,就好像元素原來不存在一樣,元素定位后生成一個新的框

<head>
    <style type="text/css">
        h2.pos_abs {
            position: absolute;
            left: 100px;
            top: 150px
        }
    </style>
</head>

<body>
    <h2 class="pos_abs">這是帶有絕對定位的標(biāo)題</h2>
    <p>通過絕對定位,元素可以放置到頁面上的任何位置。下面的標(biāo)題距離頁面左側(cè) 100px,距離頁面頂部150px</p>
</body>

固定定位(fixed):元素狂的表現(xiàn)類似于將position設(shè)置為absolute,不過其包含框是視窗本身

<head>
    <style type="text/css">
        #left {
            width: 200px;
            height:200px;
            backgroud-color: red;
            position: fixed;
            left: 100px;
            top: 100px;
        }
    </style>
</head>

<body>
    <div id="left"></div>
    <!-- 增加很多的換行, 目的是為了創(chuàng)造網(wǎng)頁的滾動條 -->
    <br><br><br><br><br><br><br><br><br><br>
    <br><br><br><br><br><br><br><br><br><br>
    <br><br><br><br><br><br><br><br><br><br>
    <p>通過固定定位,無論頁面如何滾動,上面定義的div框永遠(yuǎn)保持在視窗的上邊距100px左邊距100px的位置</p>
</body>

五、CSS盒子模型

5.1 邊框相關(guān)屬性

屬性名 取值 描述
border-style solid、double、dashed、dotted等 設(shè)置邊框樣式
boder-color 十六進(jìn)制或用于表示顏色的英文 設(shè)置邊框顏色
boder-width 像素值 設(shè)置邊框粗細(xì)

5.2 外邊距相關(guān)屬性

margin:外邊距。邊框和邊框外層元素的距離

屬性名 取值 描述
margin top、right、bottom、left 四個方向的距離
margin-top 像素值 上邊距
margin-bottom 像素值 下邊距
margin-left 像素值 左邊距
margin-right 像素值 右邊距

5.3 內(nèi)邊距相關(guān)屬性

padding:內(nèi)邊距。元素內(nèi)容和邊框之間的距離

屬性名 取值 描述
padding top、right、bottom、left 四個方向的距離
padding-top 像素值 上邊距
padding-bottom 像素值 下邊距
padding-left 像素值 左邊距
padding-right 像素值 右邊距
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、CSS簡介 1、簡單介紹 CSS 指層疊樣式表 (Cascading Style Sheets),樣式定義如何...
    千年幸福論閱讀 1,224評論 0 0
  • 學(xué)習(xí)CSS的最佳網(wǎng)站沒有之一 http://www.w3school.com.cn/tags/index.asp ...
    Amyyy_閱讀 1,189評論 0 1
  • 一、HTML基礎(chǔ)標(biāo)簽 1.HTML簡介 超文本標(biāo)記語言(英語:HyperText Markup Language,...
    是陽仔啊閱讀 328評論 0 0
  • 學(xué)會使用CSS選擇器熟記CSS樣式和外觀屬性熟練掌握CSS各種選擇器熟練掌握CSS各種選擇器熟練掌握CSS三種顯示...
    七彩小鹿閱讀 6,445評論 2 66
  • CSS 指層疊樣式表(Cascading Style Sheets),是一種用來為結(jié)構(gòu)化文檔(如 HTML 文檔或...
    神齊閱讀 2,232評論 0 14

友情鏈接更多精彩內(nèi)容