主頁 > 軟體設計 > 保姆級教程 CSS 知識點梳理大全,超詳細!!!

保姆級教程 CSS 知識點梳理大全,超詳細!!!

2021-10-10 08:50:05 軟體設計

保姆級教程 CSS 知識點梳理大全,超詳細!!!

??大家好,我是王同學,好久不見,趁著假期王同學把CSS 知識點梳理了一遍
??如果對你有幫助就給我點個贊吧,這樣我們就互不相欠了
??星光不負趕路人,所有的幸運都來自于堅持不懈的努力,大家一起加油吧

一、前端三層

在這里插入圖片描述

二、CSS的書寫位置

(一)、內嵌式

  • 內嵌式,顧名思義,內嵌在.html檔案中
  • <head></head>標簽中,書寫 <style></style>標簽對,里面書寫CSS陳述句,

在這里插入圖片描述
在這里插入圖片描述

(二)、外鏈式

  • 可以將CSS單獨存為.css檔案,然后用link標簽引入它

  • 外鏈式的優點:多個HTML檔案,可以共用一個CSS樣式表檔案

在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

(三)、 匯入式

匯入式是最不常見的樣式表匯入方法,使用匯入式引入檔案,不會等待CSS檔案加載完畢,而是會立即渲染HTML結構

在這里插入圖片描述

(四)、行內式

行內式: 樣式可以直接通過style屬性寫在標簽上,行內式犧牲了樣式表的批量設定樣式的能力,只能給一個標簽設定樣式,所以不常用,
在這里插入圖片描述
在這里插入圖片描述

三、CSS選擇器

首先我們來介紹傳統的CSS2.1 選擇器

(一)、標簽選擇器

標簽選擇器:又稱元素選擇器,型別選擇器,它直接使用元素的標簽名當做選擇器,將選擇頁面上所有的標簽

在這里插入圖片描述

標簽選擇器將選擇頁面上所有該種標簽,無論這個標簽所處位置的深淺

請添加圖片描述
標簽選擇器的覆寫面非常大,所以通常用于標簽的初始化
在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述

(二)、id選擇器

  • 標簽可以有id屬性,它是這個標簽的唯一標識
  • id的命名只能由字母、數字、下劃線、短橫線構成,且不能以數字開頭,字母區分大小寫,但習慣上一般為小寫字母
  • 同一個頁面上不能有相同的id標簽
  • CSS選擇器可以使用#井號選擇指定的id標簽

在這里插入圖片描述

(三)、類選擇器

  • class屬性表示類名
  • 類名的命名規范和id的命名規范相同
  • 我們使用點.前綴來指定class的標簽
  • class類名十分靈活,多個標簽可以為相同的類名
  • 同一個標簽可以同時屬于多個類,類名用空格隔開

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

在開發中我們也用到過原子類,這里簡單的介紹一下

(四)、原子類

  • 在做網頁前、可以將所有的常用字號、文字顏色、行高、外邊距、內邊距等都設定為單獨的類,

  • 在HTML標簽就可以“則需選擇”它的類名,這樣可以非常快速的添加一些常見的樣式

請添加圖片描述

在這里插入圖片描述

<style>
        .fs18 {
            font-size: 18px;
        }
        
        .fs20 {
            font-size: 20px;
        }
        
        .fs22 {
            font-size: 22px;
        }
        
        .fs24 {
            font-size: 24px;
        }
        
        .fs26 {
            font-size: 26px;
        }
        
        .color-blue {
            color: blue;
        }
        
        .color-red {
            color: red;
        }
        
        .color-orange {
            color: orange;
        }
        
        .color-pink {
            color: pink;
        }
        
        .color-purple {
            color: purple;
        }
    </style>
</head>

<body>
    <p class="fs18 color-blue">好好學習 天天向上</p>
    <p class="fs20 color-red">好好學習 天天向上</p>
    <p class="fs22 color-orange">好好學習 天天向上</p>
    <p class="fs24 color-pink">好好學習 天天向上</p>
    <p class="fs26 color-purple">好好學習 天天向上</p>

</body>

在這里插入圖片描述

(五)、復合選擇器

在這里插入圖片描述

后代選擇器

在這里插入圖片描述
在這里插入圖片描述

交集選擇器

在這里插入圖片描述

并集選擇器

并集選擇器也叫做分組選擇器,逗號表示分組

在這里插入圖片描述

(六)、偽類選擇器

偽類是添加到選擇器的描述性詞語,指定要選擇的元素的特殊狀態,超級鏈接擁有4個特殊的狀態
在這里插入圖片描述

a 標簽的偽類書寫,要按照“愛恨準則”的順序,否則會有偽類不生效的問題

在這里插入圖片描述

    <style>
        a:link {
              color: rgb(255, 0, 242);
        }
        
        a:visited {
            color: red;
        }
        
        a:hover {
            color: pink;
        }
        
        a:active {
            font-size: 40px;
            color: green;
        }
    </style>
</head>

<body>
    <p>
        <a href="http://www.baidu.com"> 百度</a>
    </p>
    <p>
        <a href=" http://www.jd.com"> 京東</a>
    </p>
    <p>
        <a href="http://www.taobao.com"> 淘寶</a>
    </p>
    <p>
        <a href="http://www.jd.com"> 慕課</a>
    </p>
</body>

![在這里插入圖片描述](https://img-blog.csdnimg.cn/866c6e88022c4c288f3ee78a8b74c6e0.png?x-oss-process=image/watermark,type_ZHJ

(七)、元素關系選擇器

在這里插入圖片描述

(七)、子選擇器

當使用 >符號分隔兩個元素時,它只會匹配那些作為第一個元素的直接后代元素,即兩個標簽為父子關系

在這里插入圖片描述
在這里插入圖片描述

(八)、相鄰兄弟選擇器

  • 相鄰兄弟選擇器(+)介于兩個選擇器之間,當第二個元素緊跟著第一個元素之后,并且兩個元素都是屬于同一個父元素的子元素,則第二個元素將被選中,
  • 說白了,a+b就是選擇緊跟在a后面的一個b
    請添加圖片描述

(九)、通用兄弟選擇器(~)

通用兄弟選擇器(~),a~b選擇a元素之后所有同層級b元素請添加圖片描述

(十)、序號選擇器

(十一)、:first-child

first-child表示選擇第一個子元素,比如下面的例子就是表示選擇.box盒子中的第一個p
在這里插入圖片描述

(十二)、:last-child

:last-child表示選擇最后一個子元素,比如下面的例子
在這里插入圖片描述

(十二)、: nth-child()

: nth-child()可以選擇任意序號的子元素
在這里插入圖片描述
:nth-child()可以寫成 an+b的形式,表示從b開始每個a選一個

在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

 <style>
        .box p:first-child {
            color: red;
        }
        
        .box p:last-child {
            color: aqua;
        }
        
        .box p:nth-child(3) {
            color: orange;
        }
        
        .box p:nth-child(2n) {
            color: pink;
        }
        
        .box1 p:nth-child(2n+1) {
            color: red;
        }
    </style>
</head>

<body>
    <div class="box">
        <p>1</p>
        <p>2</p>
        <p>3</p>
        <p>4</p>
        <p>5</p>
        <p>6</p>
        <p>7</p>
        <p>8</p>
        <p>9</p>
    </div>
    <div class="box1">
        <p>1</p>
        <p>2</p>
        <p>3</p>
        <p>4</p>
        <p>5</p>
        <p>6</p>
        <p>7</p>
        <p>8</p>
        <p>9</p>
    </div>

在這里插入圖片描述

(十三)、序號選擇器的兼容性

在這里插入圖片描述

(十四)、屬性選擇器

在這里插入圖片描述
在這里插入圖片描述

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        /* 
        [alt]  有這個屬性
        [alt ="背景故宮"] 精準匹配
        [alt ^="abc"] 開頭位置匹配
        [alt $="abc"]  結尾位置匹配
        [alt *="abc"]  任意位置匹配
        [alt |="abc"]    abc-開頭
        [alt ~="abc"]  abc為空格分開的獨立部分
        
        */
        
        img {
            width: 300px;
        }
        
        img[alt^="北京"] {
            border: 5px solid purple;
        }
        
        img[alt$="夜景"] {
            border: 5px solid rgb(236, 184, 12);
        }
        
        img[alt*="美"] {
            border: 5px solid rgb(52, 5, 138);
        }
        
        img[alt |="參賽作品"] {
            border: 5px solid rgb(224, 228, 9);
        }
        
        img[alt~="手機拍攝"] {
            border: 5px solid pink;
        }
    </style>
</head>

<body>
    <img src="images/bj/0.jpg" alt="北京故宮">
    <img src="images/bj/1.jpg" alt="北京鳥巢">
    <img src="images/bj/2.jpg" alt="北京十七孔橋">


    <img src="images/wx/0.jpg" alt="參賽作品-無錫體育場">
    <img src="images/wx/1.jpg" alt="手機拍攝 無錫太湖">
    <img src="images/wx/2.jpg" alt="無錫美景">
    <img src="images/wx/3.jpg" alt="無錫夜景">

</body>

</html>

在這里插入圖片描述

(十五)、CSS3新增偽類

在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述

(十六)、偽元素

CSS3新增了偽元素特性,顧名思義,表示虛擬動態創建的元素
偽元素用雙冒號表示,IE8可以兼容單冒號

::before

::after

請添加圖片描述

在這里插入圖片描述
在這里插入圖片描述

(十七)、::selection

在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述

(十八)、::first-letter和::first-line

在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述

三、層疊性和選擇器權重的計算

  • CSS全名叫做“層疊樣式表”,層疊性是他很重要的性質
  • 層疊性:多個選擇器可以同時作用于同一個標簽,效果疊加
    在這里插入圖片描述
    如果多個選擇器的定義有沖突呢?CSS有嚴密的處理規則

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

復雜選擇器的計算

復雜選擇器可以通過(ID的個數,class的個數,標簽的個數)的形式,計算權重
請添加圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

四、文本與字體屬性

(一)、常用的文本字體屬性

  • color屬性可以設定文本內容的前景色

  • color屬性主要用于英語單詞、十六進制、rgba()、rgb() 等表示方法

  • 用英語單詞表示法,比如:color:red;僅僅用于學習時臨時設定一下顏色,作業時不用這樣的形式,因為追求精確,

(二)、十六進制表示法

十六進制表示法是所有設計軟體中常用的顏色表示方法,設計師給我們的設計上面標注的圖示顏色,通常為十六進制
在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述

(三)、rgb() 表示法

在這里插入圖片描述

(四)、rgba()表示法

顏色可以使用rgba() 表示法,最后一個引數表示透明度,介于0-1之間,0表示純透明,1表示純實心

(五)、font-size屬性

font-size屬性用來設定字號,單位為px 后面還會說到em和rem

網頁文字正文字號通常是16px瀏覽器最小支持10px
在這里插入圖片描述

(六)、font-weight屬性

  • font-weight屬性設定字體的粗細程度,通常就用normal和bold兩個值
    在這里插入圖片描述

(七)、font-style屬性

作用:設定文字的傾斜

在這里插入圖片描述

(八)、text-decoration屬性

text-decoration屬性用于設定文本的修飾外觀的(下劃線,洗掉線)
在這里插入圖片描述

(九)、font-family屬性

  • font-family屬性用于設定字體的屬性
  • 字體可以是串列的形式,一般英語字體放到前面,后面的字體是前面的字體的后備字體
  • 字體名稱中有空格,必須要用引號來包裹
font-family:" 微軟雅黑";
font-family: serif,"Times New Roman","微軟雅黑";

在這里插入圖片描述

中文字體也可以稱呼他們的名字

字體通常必須是用戶計算機中已經安裝好的字體,所以一般來說設定為微軟雅黑和宋體的較多,設定成其他字體的較少
在這里插入圖片描述

問題一:如何設定為用戶電腦中沒有的字體呢?那就必須自己定義新的字體,這就需要我們有字體檔案,當用戶加載網頁的時候,會同時下載這些字體

定義字體,當我們擁有以下字體檔案之后,就可以使用@font-face定義字體

在這里插入圖片描述
在這里插入圖片描述

(十)、阿里巴巴貧訓體

阿里巴巴提供了一套免費商用授權的貧訓字體,網址 https://www.iconfont.cn/webfont#!/webfont/index

使用阿里巴巴貧訓字體也省去了下載的麻煩
在這里插入圖片描述

使用步驟:

下載字體—使用font-face宣告字體—定義使用 webfont 的樣式—為文字加上對應的樣式

第一步:下載字體

在這里插入圖片描述

第二步:使用font-face宣告字體(注意:在參考的時候要注意參考的路徑哦)

在這里插入圖片描述

第三步:定義使用 webfont 的樣式

在這里插入圖片描述

第四步:為文字加上對應的樣式

在這里插入圖片描述

在這里插入圖片描述

(十一)、text-indent屬性

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

(十二)、 line-height行高

  • line-height屬性的單位可以是px為單位的數值
line-height:30px;
  • line-height屬性的單位可以是 沒有單位是數值,表示字號的倍數,這是最推薦的寫法
line-height:1.5;
  • line-height屬性也可以是百分數,表示字號的倍數
line-height:150%;

在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

(十三)、單行文本垂直居中

行高等于盒子的高度,設定單行文本垂直居中對齊
在這里插入圖片描述
設定text-align:center,即可實作文本水平居中

在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述

(十四)、font合寫屬性

在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

(十五)、繼承性

  • 文本相關的屬性普遍具有繼承性,只需要給祖先標簽設定,即可在后代所有的標簽中生效,
  • 因為文字相關的屬性都有繼承性,所以通常會設定body標簽的字號、顏色、行高等、這樣就能當做整個網頁的默認樣式了,

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

(十五)、繼承性的就近原則

在繼承的情況下,選擇器權重計算失效,就近原則
在這里插入圖片描述

在這里插入圖片描述

五、盒子模型

(一)、什么是盒子模型

所有的HTML標簽都可以看成矩形盒子,由width,height,padding、border構成,稱為盒子模型

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述

(二)、width屬性

  • width屬性表示盒子內容的寬度

  • width屬性的單位通常是px,移動端開發也會涉及到百分數、rem等單位

  • 當塊級元素(div 、h系列、li等)沒有設定width屬性時,它將自動撐滿,但這并不意味著width可以繼承
    在這里插入圖片描述
    在這里插入圖片描述

(三)、height屬性

  • height屬性表示盒子內容的高度

  • height屬性的單位通常是px,移動端開發也會涉及到百分數、rem等單位

  • 盒子的height屬性如果不設定的話,它將自動被內容撐開,如果沒有內容,默認是0

在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述

(四)、padding屬性詳解

  • padding屬性是盒子的內邊距,即盒子邊框內壁到文字的距離

  • padding屬性如果用四個數值以空格隔開進行設定,分別表示上、右、下、左的padding

  • padding屬性如果用數值以空格隔開進行設定,分別表示 上、左右、下的padding

  • padding屬性如果要用二個數值以空格隔開進行設定,分別表示上下、左右的padding

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

(五)、margin屬性詳解

margin是盒子的外邊距,即盒子與其他盒子的距離
在這里插入圖片描述

margin的塌陷問題

豎直方向的margin有塌陷的現象:小的margin會塌陷到大的margin中,從而margin不疊加,只以大值為準

請添加圖片描述

(六)、一些元素有默認的margin

一些元素(比如body、ul、p等)都有默認的margin,在開始制作網頁的時候,要將他們清除

在這里插入圖片描述
在這里插入圖片描述

(七)、盒子的水平居中

將盒子的左右兩邊的margin都設定為0,盒子將水平居中
文本居中是text-align:center; 和盒子水平居中是兩個概念
盒子的垂直居中 我們需要使用絕對定位來實作 后面我們細說
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

(八)、盒模型的計算

在這里插入圖片描述

(九)、box-sizing屬性

給盒子添加了box-sizing:border-box屬性之后,盒子的width、height數字就表示盒子實際占有的寬高(不包含margin)了,即padding、border變為內縮,不再外擴,

box-sizing屬性大量用于移動網頁的制作中,因為它結合百分比布局,彈性布局等非常好用,在PC頁面中使用較少,
在這里插入圖片描述

(十)、行內元素和塊級元素

在這里插入圖片描述

(十一)、行內塊

img和表單元素是特殊的行內塊,他們既能設定寬度和高度,也能夠并排顯示

在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

(十二)、行內元素和塊級元素的相互轉換

  • 使用display:block;可以將元素轉換為塊級元素

  • 使用display:inline;可以將元素轉換為行內元素,將元素轉換為行內元素的不多見

  • 使用display:inline-block;可以將元素轉換為行內塊元素
    在這里插入圖片描述
    在這里插入圖片描述

(十三)、元素的隱藏

  • 使用display:none;可以將元素隱藏,元素將徹底放棄位置,如同沒有寫它的標簽一樣

  • 使用visibility:hidden;也可以將元素隱藏,但是元素不放棄自己的位置
    在這里插入圖片描述
    在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

六、浮動與定位

(一)、浮動

  • 浮動的本質:用來實作并排的效果
  • 浮動使用的要點:要浮動,并排的盒子都實作浮動
  • 父盒子要有足夠的寬度,否則子盒子會掉下去

在這里插入圖片描述

(二)、浮動的順序貼靠特性

子盒子會按順序進行貼靠,如果沒有足夠的空間,則會尋找前一個兄弟元素

如下圖所示:3號盒子會掉到2號盒子的下面

在這里插入圖片描述

(三)、浮動的元素一定能設定寬高

浮動的元素不再區分塊級元素、行內元素、已經脫離了標準檔案,一律能夠設定寬度和高度,即使他是a標簽或span標簽

在這里插入圖片描述
在這里插入圖片描述

(四)、右浮動

在這里插入圖片描述

(五)、使用浮動的注意事項

  • 垂直顯示的盒子,不要設定浮動、只有并排顯示的盒子才要設定浮動

  • “大盒子帶著小盒子跑”,一個大盒子中、又是一個小天地,內部可以繼續使用浮動

  • div是免費的,不要節約盒子
    在這里插入圖片描述

(六)、BFC規范

BFC規范(Box-Formatting Context 塊級格式化背景關系)是頁面上的一個隔離的獨立容器,容器里面的子元素不會影響到外面的元素,反之亦然

觀察下面的例子

在這里插入圖片描述

在這里插入圖片描述

出現以上問題的原因

  • 一個盒子不設定height,當內容子元素都浮動時,無法撐起自身

  • 這個盒子沒有形成BFC

解決辦法

在這里插入圖片描述

在這里插入圖片描述

(七)、如何創建BFC?

在這里插入圖片描述

(七)、清除浮動

清除浮動:浮動一定要封閉到一個盒子中,否則會對頁面后續元素產生影響

舉例說明

在這里插入圖片描述

來猜一下頁面中會出現什么樣的效果?

大家應該都會說兩行兩列?然而沒有清除浮動就成行顯示了!出現以下這種情況是沒有清除浮動

在這里插入圖片描述

清除浮動的方法一:

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述

清除浮動的方法二:

在這里插入圖片描述
使用方法二的副作用:margin會失效
在這里插入圖片描述

清除浮動的方法三:

在這里插入圖片描述

在這里插入圖片描述

 <style>
        * {
            margin: 0;
            padding: 0;
        }
        
        .clearfix::after {
            content: '';
            clear: both;
            display: block;
        }
        
        p {
            float: left;
            width: 100px;
            height: 100px;
            background-color: pink;
            margin-right: 20px;
            margin-bottom: 20px;
        }
    </style>
</head>

<body>
    <div class="clearfix">
        <p></p>
        <p></p>
    </div>

    <div class="clearfix">
        <p></p>
        <p></p>
    </div>

清除浮動的方法四:

在這里插入圖片描述

(八)、相對定位

相對定位:盒子可以相對自己原來的位置進行位置調整,稱為相對定位

在這里插入圖片描述

位置詞描述:值可以是負數,即往規定方向相反移動

在這里插入圖片描述
相對定位的性質:相對定位的元素,會在老家留坑,本質上任然是在原來的位置,只不過渲染在新的地方而已,渲染的圖形可以比喻成影子,不會對頁面元素產生任何影響,

(九)、相對定位的用途

  • 相對定位用來微調元素位置

  • 相對定位的元素,可以當做絕對定位的參考盒子
    在這里插入圖片描述
    在這里插入圖片描述

(十)、絕對定位

絕對定位:盒子可以在瀏覽器中以坐標進行位置精準描述,擁有自己的絕對位置

在這里插入圖片描述

絕對定位的位置描述詞

在這里插入圖片描述

絕對定位的元素脫離標準檔案流

絕對定位的元素脫離標準檔案流,將釋放自己的位置,對其他元素不會產生任何干擾,而是對他們進行壓蓋

絕對定位的參考盒子

  • 絕對定位的盒子并不是永遠以瀏覽器作為基點

  • 絕對定位的盒子會以自己祖先元素中,離自己最近的擁有定位屬性的盒子,當做基準點,這個盒子通常是相對定位的,所以這個性質也叫做子絕父相

絕對定位的盒子垂直居中

絕對定位的盒子垂直居中是一個非常實用的技術
在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

堆疊順序 z-index屬性

z-index屬性是一個沒有單位的正整數,數值大的能夠壓住數值小的

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

(十一)、絕對定位脫離標準檔案流

絕對定位的元素脫離標準檔案流,將釋放自己的位置,對其他元素不會產生任何干擾,而是對他們進行壓蓋

脫離標準檔案流的方法:浮動、絕對定位、固定
定位

(十二)、絕對定位的用途

  • 絕對定位用來制作壓蓋、遮罩的效果
  • 絕對定位用來結合CSS精靈使用
  • 絕對定位可以結合JS實作影片

在這里插入圖片描述

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0
        }
        
        .carousel {
            position: relative;
            width: 650px;
            height: 360px;
            border: 1px solid #000;
            margin: 40px auto;
        }
        
        .carousel .btn {
            position: absolute;
            width: 40px;
            height: 40px;
            margin-top: -20px;
            top: 50%;
            border-radius: 50%;
            text-align: center;
            line-height: 40px;
            background-color: rgba(255, 255, 255, .5);
            /* 滑鼠變為小手狀態 */
            cursor: pointer;
            font-size: 26px;
            font-family: consolas;
        }
        
        .carousel .btn:hover {
            background-color: gold;
            color: #fff;
        }
        
        .carousel .leftbtn {
            left: 10px;
        }
        
        .carousel .rightbtn {
            right: 10px;
        }
        
        .carousel ol {
            position: absolute;
            width: 120px;
            height: 20px;
            right: 20px;
            bottom: 20px;
            list-style: none;
        }
        
        .carousel ol li {
            float: left;
            width: 20px;
            height: 20px;
            background-color: rgba(255, 255, 255, .5);
            border-radius: 50%;
            margin-right: 10px;
        }
        
        .carousel ol li.current {
            background-color: gold;
        }
    </style>
</head>

<body>
    <div class="carousel">
        <img src="images/bj/0.jpg" alt="">
        <a class="leftbtn btn"> &lt;</a>
        <a class="rightbtn btn">&gt;</a>
        <ol>
            <li></li>
            <li class="current"></li>
            <li></li>
            <li></li>
        </ol>

    </div>
</body>

</html>

(十一)、固定定位

固定定位:不管頁面如何滾動、他都永遠固定在那里

固定定位脫離標準檔案流
在這里插入圖片描述

固定定位的用途:“回傳頂部”、“樓層導航”

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .box {
            position: fixed;
            width: 100px;
            height: 100px;
            right: 0;
            bottom: 100px;
            background-color: red;
        }
    </style>
</head>

<body>
    <div class="box"></div>
    <p> <img src="images/bj/0.jpg" alt=""></p>
    <p> <img src="images/bj/0.jpg" alt=""></p>
    <p> <img src="images/bj/0.jpg" alt=""></p>
    <p> <img src="images/bj/0.jpg" alt=""></p>
    <p> <img src="images/bj/0.jpg" alt=""></p>
    <p> <img src="images/bj/0.jpg" alt=""></p>
    <p> <img src="images/bj/0.jpg" alt=""></p>
    <p> <img src="images/bj/0.jpg" alt=""></p>





</body>

</html>

在這里插入圖片描述

(七)、邊框與圓角

(一)、border屬性的三要素

在這里插入圖片描述

(二)、線型

在這里插入圖片描述

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .box1 {
            width: 200px;
            height: 200px;
            border: 3px solid #000;
        }
        
        .box2 {
            width: 200px;
            height: 200px;
            border: 3px dotted #000;
            margin: 20px 0;
        }
        
        .box3 {
            width: 200px;
            height: 200px;
            border: 3px dashed #000;
        }
        
        </style
    </style>
    </style>
</head>

<body>
    <div class="box1"></div>
    <div class="box2"></div>
    <div class="box3"></div>
</body>

</html>

在這里插入圖片描述

(三)、邊框的三要素小屬性

在這里插入圖片描述

(四)、四個方向的邊框

在這里插入圖片描述

(五)、四個方向邊框的三要素小屬性

在這里插入圖片描述

(六)、去掉邊框

border-left:none;屬性可以去掉左邊框,以此類推

(七)、利用邊框制作三角形

在這里插入圖片描述

在這里插入圖片描述

(八)、圓角

border-radius屬性的值通常為px單位,表示圓角的半徑

 border-radius:10px

在這里插入圖片描述

單獨設定四個圓角

在這里插入圖片描述
在這里插入圖片描述

圓角也可以用百分比為單位

border-radius屬性的值也可以用百分比為單位,表示圓角起始于每條邊的哪里

在這里插入圖片描述

(九)、盒子陰影—box-shadow屬性

在這里插入圖片描述
在這里插入圖片描述

陰影延展

在這里插入圖片描述
在這里插入圖片描述

內陰影

在這里插入圖片描述
在這里插入圖片描述

多陰影

在這里插入圖片描述

 box-shadow: inset 2px 2px 10px red, 4px 4px 10px blue, 6px 6px 10px yellow;

在這里插入圖片描述

(十)、 過渡

transition過渡屬性是CSS3濃妝重彩的特性,過渡可以為一個元素在不同樣式之間變化添加自動補間影片

在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

哪些屬性可以參與過渡

  • 背景顏色和文字顏色都可以被過渡

  • 所有變形(包括2D和3D)都能被過渡

  • 所有數值型別的屬性,都可以參與過渡,比如width,height,left,top,border-radius

過渡的四個小屬性

在這里插入圖片描述

緩動引數

transition的第三個屬性就是緩動引數,也就是變化速度曲線

在這里插入圖片描述

(十一)、貝塞爾曲線

官網: https://cubic-bezier.com/

在這里插入圖片描述
在這里插入圖片描述

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        
        .box {
            width: 1200px;
            overflow: hidden;
            margin: 40px auto;
        }
        
        .box ul {
            list-style: none;
        }
        
        .box ul li {
            position: relative;
            width: 380px;
            height: 210px;
            margin-right: 20px;
            float: left;
        }
        
        img {
            width: 380px;
            height: 210px;
        }
        
        .box ul li .info {
            position: absolute;
            width: 370px;
            height: 30px;
            color: #fff;
            line-height: 30px;
            padding-left: 10px;
            background-color: rgba(0, 0, 0, .5);
            left: 0;
            bottom: 0;
            opacity: 0;
            transition: opacity 0.5s linear;
        }
        
        .box ul li .info:hover {
            opacity: 1;
        }
    </style>
</head>

<body>
    <div class="box">
        <ul>
            <li><img src="images/bj/0.jpg" alt="">
                <div class="info">北京的故宮</div>
            </li>

            <li><img src="images/bj/1.jpg" alt="">
                <div class="info">十七孔橋</div>
            </li>

            <li><img src="images/bj/2.jpg" alt="">
                <div class="info">國家大劇院</div>
            </li>

        </ul>
    </div>
</body>

</html>

在這里插入圖片描述

(十二)、背景固定— background-attachment

background-attachment屬性決定著背景影像的位置是在視口內固定,還是隨著包含它的區塊滾動
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

(十二)— background-position屬性

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

background-position屬性可以設定背景圖片出現在盒子的什么位置

可以用top、bottom、center、left、right描述圖片出現的位置
在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述

(十三)、CSS精靈

CSS精靈:將多個小圖示合并到一張圖片上,使用background-position屬性單獨顯示其中的一個,這樣的技術叫做CSS精靈技術,也叫做CSS雪碧圖

CSS精靈可以減少HTTP的請求數量,加快網頁的顯示速度,缺點也很明顯:不方便測量,后期改動麻煩

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

(十四)、background綜合屬性

在這里插入圖片描述

(十五)、背景裁切

background-clip屬性用來設定元素的背景裁切到哪個盒子

在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述

(十六)、線性漸變

![在這里

漸變的方向可以寫成度數的形式

在這里插入圖片描述

線性漸變可以有多個顏色值,并且可以使用百分數定義他們出現的位置

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

(十七)、瀏覽器私有前綴

不同的瀏覽器有不同的私有前綴,用來對試驗性質的CSS屬性加以標識

在這里插入圖片描述

(十八)、徑向漸變

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

(十九)、2D變形

旋轉變形

在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

(二十)、transform-origin屬性

在這里插入圖片描述

在這里插入圖片描述

(二十一)、縮放變形

在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述

(二十二)、斜切變形

在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述

(二十三)、位移變形

在這里插入圖片描述

(二十四)、3D旋轉

在這里插入圖片描述

perspective屬性

perspective屬性用來定義透視的強度,可以理解為人眼到舞臺的距離,單位是px
在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

(二十五)、空間移動

在這里插入圖片描述
在這里插入圖片描述

(二十六)、影片的定義

可以使用 @keyframes來定義影片, keyframes表示關鍵幀,在專案上線之前,要補上@-webkit-這樣的私有前綴

在這里插入圖片描述

影片的呼叫

定義影片之后,就可以使用animation屬性呼叫影片

在這里插入圖片描述

第五個引數就是影片的執行次數,如果想永遠執行可以寫infinite

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述

(二十七)、多關鍵幀影片

在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/307361.html

標籤:其他

上一篇:Facebook又雙懶耍⊥眩涸瞬褚恢苤揮蒙先彀啵?

下一篇:H5+echarts模擬全國程式員可視化大資料【附完整原始碼】

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 面試突擊第一季,第二季,第三季

    第一季必考 https://www.bilibili.com/video/BV1FE411y79Y?from=search&seid=15921726601957489746 第二季分布式 https://www.bilibili.com/video/BV13f4y127ee/?spm_id_fro ......

    uj5u.com 2020-09-10 05:35:24 more
  • 第三單元作業總結

    1.前言 這應該是本學期最后一次寫作業總結了吧。總體來說,對作業的節奏也差不多掌握了,作業做起來的效率也更高了。雖然和之前的作業一樣,作業中都要用到新的知識,但是相比之前,更加懂得了如何利用工具以及資料。雖然之間卡過殼,但總體而言,這幾次作業還算完成的比較好。 2.作業程序總結 相比前兩個單元,此單 ......

    uj5u.com 2020-09-10 05:35:41 more
  • 北航OO(2020)第四單元博客作業暨課程總結博客

    北航OO(2020)第四單元博客作業暨課程總結博客 本單元作業的架構設計 在本單元中,由于UML圖具有比較清晰的樹形結構,因此我對其中需要進行查詢操作的元素進行了包裝,在樹的父節點中存盤所有孩子的參考。考慮到性能問題,我采用了快取機制,一次查詢后盡可能快取已經遍歷過的資訊,以減少遍歷次數。 本單元我 ......

    uj5u.com 2020-09-10 05:35:48 more
  • BUAA_OO_第四單元

    一、UML決議器設計 ? 先看下題目:第四單元實作一個基于JDK 8帶有效性檢查的UML(Unified Modeling Language)類圖,順序圖,狀態圖分析器 MyUmlInteraction,實際上我們要建立一個有向圖模型,UML中的物件(元素)可能與同級元素連接,也可與低級元素相連形成 ......

    uj5u.com 2020-09-10 05:35:54 more
  • 6.1邏輯運算子

    邏輯運算子 1. && 短路與 運算式1 && 運算式2 01.運算式1為true并且運算式2也為true 整體回傳為true 02.運算式1為false,將不會執行運算式2 整體回傳為false 03.只要有一個運算式為false 整體回傳為false 2. || 短路或 運算式1 || 運算式2 ......

    uj5u.com 2020-09-10 05:35:56 more
  • BUAAOO 第四單元 & 課程總結

    1. 第四單元:StarUml檔案決議 本單元采用了圖模型決議UML。 UML檔案可以抽象為圖、子圖、邊的邏輯結構。 在實作中,圖的節點包括類、介面、屬性,子圖包括狀態圖、順序圖等。 采用了三次遍歷UML元素的方法建圖,第一遍遍歷建點,第二、三次遍歷設定屬性、連邊,實作圖物件的初始化。這里借鑒了一些 ......

    uj5u.com 2020-09-10 05:36:06 more
  • 談談我對C# 多型的理解

    面向物件三要素:封裝、繼承、多型。 封裝和繼承,這兩個比較好理解,但要理解多型的話,可就稍微有點難度了。今天,我們就來講講多型的理解。 我們應該經常會看到面試題目:請談談對多型的理解。 其實呢,多型非常簡單,就一句話:呼叫同一種方法產生了不同的結果。 具體實作方式有三種。 一、多載 多載很簡單。 p ......

    uj5u.com 2020-09-10 05:36:09 more
  • Python 資料驅動工具:DDT

    背景 python 的unittest 沒有自帶資料驅動功能。 所以如果使用unittest,同時又想使用資料驅動,那么就可以使用DDT來完成。 DDT是 “Data-Driven Tests”的縮寫。 資料:http://ddt.readthedocs.io/en/latest/ 使用方法 dd. ......

    uj5u.com 2020-09-10 05:36:13 more
  • Python里面的xlrd模塊詳解

    那我就一下面積個問題對xlrd模塊進行學習一下: 1.什么是xlrd模塊? 2.為什么使用xlrd模塊? 3.怎樣使用xlrd模塊? 1.什么是xlrd模塊? ?python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。 今天就先來說一下xl ......

    uj5u.com 2020-09-10 05:36:28 more
  • 當我們創建HashMap時,底層到底做了什么?

    jdk1.7中的底層實作程序(底層基于陣列+鏈表) 在我們new HashMap()時,底層創建了默認長度為16的一維陣列Entry[ ] table。當我們呼叫map.put(key1,value1)方法向HashMap里添加資料的時候: 首先,呼叫key1所在類的hashCode()計算key1 ......

    uj5u.com 2020-09-10 05:36:38 more
最新发布
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:20:47 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:20:25 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:20:17 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:20:10 more
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:19:44 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:19:07 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:18:57 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:18:49 more
  • 05單件模式

    #經典的單件模式 public class Singleton { private static Singleton uniqueInstance; //一個靜態變數持有Singleton類的唯一實體。 // 其他有用的實體變數寫在這里 //構造器宣告為私有,只有Singleton可以實體化這個類! ......

    uj5u.com 2023-04-19 08:42:51 more
  • 【架構與設計】常見微服務分層架構的區別和落地實踐

    軟體工程的方方面面都遵循一個最基本的道理:沒有銀彈,架構分層模型更是如此,每一種都有各自優缺點,所以請根據不同的業務場景,并遵循簡單、可演進這兩個重要的架構原則選擇合適的架構分層模型即可。 ......

    uj5u.com 2023-04-19 08:42:41 more