前端筆記之CSS(上)

mufengsm發表於2019-03-17

 

 

 

層疊樣式表(英文全稱:Cascading Style Sheets)是一種用來表現HTML(標準通用標記語言的一個應用)或XML(標準通用標記語言的一個子集)等檔案樣式的計算機語言CSS不僅可以靜態地修飾網頁,還可以配合各種指令碼語言動態地對網頁各元素進行格式化。

基本語法

head標籤裡面,寫入一下標籤:  

<html>
    <head>
        <style type="text/css">
             css程式碼
        </style>
    </head>
    <body></body>
</html>

 

CSS 程式碼規則由兩個主要的部分構成:選擇器,以及一條或多條宣告。

選擇器{屬性:屬性值;屬性:屬性值;···},我們稱這種形式叫做(key)(value)形式

 

 

註釋:

/*css註釋內容*/

文字屬性

文字屬性

文字屬性值

意義

color

英文,16進位制,rgb

文字顏色

text-align

left,center,right

對齊元素中的文字

text-indent

px,em

縮排元素中文字的首行

line-height

px

設定行高

font-size

px

字型大小

font-weight

100-900,bold,normal,lighter

文字的粗細

font-style

normal,italic,oblique,inherit

字型的風格。

font-family

字型

字型

文字屬性之color:

color 屬性規定文字的顏色。

①英文字母:red,green,blue,yellow,orange,pink,gray···

16進位制:

rgbr-red,g-green,b-blue

16進位制和rgb我們不需要記憶會通過ps或者識色工具取色就可以了。

 

文字屬性之text-align:

text-align 屬性規定元素中的文字的水平對齊方式。

實現text-align屬性特效元素必須具備寬度。

最後一個水平對齊屬性是 justify,它會帶來自己的一些問題。慎重使用。

 

文字屬性之font-weight:

font-weight 屬性設定文字的粗細。

文字屬性之font-style:

 

 

文字屬性之font-family:

c->windows->fonts資料夾

 

font-family 規定元素的字型系列。

font-family 可以把多個字型名稱作為一個“回退”系統來儲存。如果瀏覽器不支援第一個字型,則會嘗試下一個。也就是說,font-family 屬性的值是用於某個元素的字型族名稱或/及類族名稱的一個優先表。瀏覽器會使用它可識別的第一個值。

有兩種型別的字型系列名稱:

指定的系列名稱:具體字型的名稱,比如:"times""courier""arial"

通常字型系列名稱:比如:"serif""sans-serif""cursive""fantasy""monospace"

提示:使用逗號分割每個值,並始終提供一個類族名稱作為最後的選擇。

注意:使用某種特定的字型系列(Geneva)完全取決於使用者機器上該字型系列是否可用;這個屬性沒有指示任何字型下載。因此,強烈推薦使用一個通用字型系列名作為後路。

 


 

 

 複合屬性

可以按順序設定如下屬性:

font-style (使用斜體、傾斜或正常字型)

font-variant (設定小型大寫字母的字型顯示文字)

font-weight (設定文字的粗細)

font-size/line-height (設定字型的尺寸和行高)

font-family (規定元素的字型系列)

可以不設定其中的某個值,比如 font:100% verdana; 也是允許的。未設定的屬性會使用其預設值。

如:

body{ font: italic small-caps bold 14px/24px "microsoft yahei";}

字型:斜體 小型大寫字母 粗體 14號大小/24畫素行高 微軟雅黑

可以不需要每個都寫,但是順序還是要的


 

塊元素和行內元素

標籤 元素 標記都是一回事。

 

塊元素

行內元素

行內塊元素

標籤

div h1-h6 ul ol p

span a b i

img 

特性

①單獨佔用一整行

①不單獨佔用一整行

①不佔用一整行

預設寬度100%

②可以設定寬高

②不可以設定寬高

②可以設定寬高

 

 


相互轉換

使用以下CSS屬性可以將任意的標籤元素(塊級、行內、行內塊)轉換為任何的顯示模式。

 display:block;        轉換為塊級元素

 display:inline;       轉換為行內元素

 display:inline-block; 轉換為行內塊元素

display的特殊值

隱藏顯示元素

 display:none;->display:block/inline/inlin-block;

 

 visibility: hidden;->visible

二者區別:

1.display:none是徹底消失,不在文件流中佔位,瀏覽器也不會解析該元素;visibility:hidden是視覺上消失了,可以理解為透明度為0的效果,在文件流中佔位,瀏覽器會解析該元素;

2.使用visibility:hiddendisplay:none效能上要好,display:none切換顯示時visibility,頁面產生迴流(當頁面中的一部分元素需要改變規模尺寸、佈局、顯示隱藏等,頁面重新構建,此時就是迴流。所有頁面第一次載入時需要產生一次迴流),而visibility切換是否顯示時則不會引起迴流。(後面我們闡述)


 

基礎選擇器

標籤選擇器

標籤選擇器是標籤名稱命名的,讓頁面中所有的指定標籤都具備一個樣式,不管有多少個,不管巢狀多深,一定會被選中。

標籤名{屬性名:屬性值;}

h2{color:red;}

 

<div>
    文字1
    <div>
        文字2
        <div>
            文字3
            <div>
                文字4
                <h2>h2標籤</h2>
            </div>
        </div>
        </div>
</div>

因為標籤選擇器會選中所有的標籤,實際工作中,不會單獨用標籤選擇器,因為會影響其他同名的標籤。


類選擇器(class

使用方法:

1、用“.”來定義類選擇器

2、在需要呼叫的標籤上新增class屬性即可(class="類選擇器名稱"

 

示例:

定義:.box{color:red;}

呼叫:<div class="box">div3</div>

一個標籤可以新增多個類選擇器,用空格隔開。

正確寫法:

 

用原子類最方便的,所謂的原子類,就是一些簡單的屬性做成一個類,然後執行選擇所需的樣式即可。

<style type="text/css">
    .box{color:red;}
    .font{font-size:30px;}
    .b{font-weight:bold;}
    .bgp{background: pink;}
    .hong{color:red;}
    .f12{font-size:12px;}
    .f13{font-size:13px;}
    .f14{font-size:14px;}
    .f16{font-size:16px;}
    .f20{font-size:20px;}
    .fb{font-weight:bold;}
    .fn{font-weight:normal;}
    .t2{text-indent:2em;}
    .lh150{line-height:150%;}
    .lh180{line-height:180%;}
    .lh200{line-height:200%;}
    .unl{text-decoration:underline;}
    .no_unl{text-decoration:none;}
</style>

各取所需:

 <div class="bgp hong da lh150">div1</div>

 

類選擇器是工作中最常用的,原因:

 1、頁面上可以有無數個標籤,用一樣的類樣式

 2、一個標籤可以同時使用多個類樣式

 


 id選擇器:

要求以#”開頭,後面緊跟id選擇器的名字,名稱自定義,要遵循命名規範

 #id名稱{color:red;}

 

例項:

 定義:#box{}

 呼叫:<div id="box">div1</div>

id選擇器好比人的身份證,同一個id名,只能使用一次,不能重複。

實際工作中寫CSSid選擇器是個不太常用的選擇器,因為:

 1id太珍貴,一次只能給一個元素新增樣式

 2、寫樣式的時候,大部分可以用類選擇器,極少用id,而且id選擇器權重太高

 3JavaScript通過id來獲取元素

總結:id選擇器其實是留給JS用的。

萬用字元選擇器(*

*”指的是所有。

作用:選中網頁所有的標籤。

經驗:由於萬用字元選擇器可以選中所有標籤,權重最低,工作中不使用,一般用來做測試,寫demo

 *{color:red;}  代表當前網頁中所有標籤都變紅

 

優先順序關係

權重: id選擇器>class選擇器>標籤選擇器>萬用字元選擇器   

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        *{
            color:red;
        }
        h1{
            color: green;
        }
        #h1{
            color: orange;
        }
        .h1{
            color: blue;
        }
        /* 
        
        id選擇器>class選擇器>標籤選擇器>萬用字元選擇器
        
         */
    </style>
</head>
<body>
    <h1 id="h1" class="h1">基本選擇器的優先順序關係</h1>
</body>
</html>

高階(複合)選擇器

描述:前面學習的都是基礎選擇器,複合選擇器就是將基礎選擇器綜合在一起使用。

並集選擇器:

作用:將頁面中相同樣式放到一起寫CSS屬性,集體宣告樣式,簡化程式碼。

逗號“,”表示合併關係

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>Document</title>
    <style type="text/css">
        h1,h2,h3,.box,p,span,li{
            color:red;
            font-size:30px;
        }
    </style>
</head>
<body>
    <h1>文字1</h1>
    <h2>文字2</h2>
    <h3>文字3</h3>
    <div class="box">div標籤</div>
    <p>p標籤</p>
    <span>span標籤</span>
    <ul>
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
    </ul>
</body>
</html>

交集選擇器:

有些教材稱為“指定選擇器”

即滿足條件1,也要滿足條件2

兩種或以上選擇器同時存在一個標籤上。

寫法:選擇器之間直接連線,沒有任何符號

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>Document</title>
    <style type="text/css">
        p.red{color:red;}
        #box.box{
            color:blue;
        }
    </style>
</head>
<body>
    <p class="red">p1</p>
    <p class="red">p2</p>
    <p>p3</p>
    <div class="red">div1</div>
    <div class="box" id="box">div2</div>
    <div class="box">div3</div>
    <div class="box" id="box">div4</div>
</body>
</html>

交集選擇器使用的是基礎選擇器,可以是都是類選擇器,也可以是標籤和類混寫,也可以是id

 

後代選擇器:

有些教材稱為“包含選擇器”,“派生選擇器”

描述:後代選擇器用來選擇元素的後代,用“空格”隔開。當標籤發生巢狀時,就存在後代關係。

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>Document</title>
    <style type="text/css">
       div p{color:red;}
       .box1 p{color:blue;font-weight:bold;}
       .bigBox ul li a{color:red;}
      .father .son{color:red;}
    </style>
</head>
<body>
    <p>外面的p標籤</p>
    <div class="box1">
        <p>p1</p>
        <p>p2</p>
        <p>p3</p>
    </div>

    <div class="box2">
        <p>p1</p>
        <p>p2</p>
        <p>p3</p>
    </div>

    <div class="bigBox">
        <ul>
            <li><a href="##">li01</a></li>
            <li><a href="##">li02</a></li>
            <li><a href="##">li03</a></li>
            <li><a href="##">li04</a></li>
        </ul>
    </div>

    <div class="father">
        <a href="##" class="son">文字1</a>
    </div>
    <div class="father">
        <a href="##">文字2</a>
    </div>
</body>
</html>

注意:後代選擇器,選擇的是後代的元素,不一定是兒子,還是孫子、曾孫子、重孫子...都行。但是記住,最終選擇上的是最後的那個後代元素。


 

CSS引入方式

內嵌式:

內嵌式優點:載入速度快,因為不用再多一個HTTP請求,結構和樣式半分離。

CSS嵌入到HTML頁面head標籤對中:

  <style type="text/css">

        

  </style>

 

行內式:

寫法:在標籤身上新增style屬性

 <div style="color:red;font-size:30px;">div1</div>

注意:行內式沒有實現結構和樣式分離,不推薦使用,一般後臺程式設計師比較習慣使用這種方式。

 

外鏈式:

1、新建一個.css副檔名的檔案,直接在檔案內部寫CSS(注意:不要寫上<style>標籤)

2、head標籤對中,寫link標籤,將外部CSS檔案引入

 <link rel="stylesheet" type="text/css" href="css/a.css" />

 

屬性解釋:

 rel="stylesheet"  宣告樣式表

總結:外鏈式實現了結構與樣式分離(符合W3C標準)工作中最常用。因為同一個CSS檔案,可以給多個HTML頁面使用。

 

匯入式:

將一個獨立的CSS檔案引入HTML檔案中,匯入式使用CSS規則引入外部CSS<style>標籤頁是在<head>標籤中,使用語法:

 

 <style type="text/css">

     @import "css/a.css"; /*注意css檔案的路徑*/

 </style>

 

匯入式會在整個網頁裝載完後再裝載CSS檔案,因此這就導致了一個問題,如果網頁比較大則會兒出現先顯示無樣式的頁面,閃爍一下之後,再出現網頁的樣式。這是匯入式固有的一個缺陷。

 

引入方式總結

 


 

CSS屬性

字型

font-style:

font-style 屬性可定義字型的風格。該屬性設定使用斜體、傾斜或正常字型。斜體字型通常定義為字型系列中的一個單獨的字型。

 

p{
    font-style: normal;
    font-style: italic;
    font-style: oblique;
}

font-weight:

font-weight 屬性設定文字的粗細。該屬性用於設定顯示元素的文字中所用的字型加粗。數字值 400 相當於 關鍵字 normal700 等價於 bold

 

p{ 
    font-weight: 100;/*lighter*/
    font-weight: 400;/*normal*/
    font-weight: 700;/*bold*/
 }

font-size:

font-size 屬性可設定字型的尺寸。該屬性設定元素的字型大小。注意,實際上它設定的是字型中字元框的高度;實際的字元字形可能比這些框高或矮(通常會矮)。

 

我們通常使用如下程式碼:

 p{

     font-size: 15px;

 }

 

注意:在PC端預設字型大小是16px,最小字型大小是12px.

 

 font-family:

font-family 屬性是用於某個元素的字型族名稱或/及類族名稱的一個優先表。瀏覽器會使用它可識別的第一個值。

註釋:使用逗號分割每個值,並始終提供一個類族名稱作為最後的選擇。

 

font-family: 我想要的1,我想要的2,我想要的3,···保底字型。

那麼我們電腦中的字型在哪裡?

C:\Windows\Fonts

 

 

注意:①我們多寫幾個字型 作為備用字型②注意版權問題(微軟雅黑收費了)③我們建議把中文字型改寫為unicode編碼

 

 

複合屬性font:

上述單一屬性我們可以通過font這個複合屬性一起寫出來:

語法:

  font-style,font-variant , font-weight,font-size/line-height,font-family

上述屬性值不一定都要寫,但是如何你要寫必須按照上述的順序。

 

p{
    font:12px arial;
}
p{
    font:italic small-caps bold 12px arial;
}
p{
    font:oblique small-caps 900 12px/14px arial;
}
p{
    font:menu;
}

文字

color:

color 屬性可設定文字的顏色。這個屬性設定了一個元素的顏色。要設定一個元素的顏色,最容易的方法是使用 color 屬性。

 

·顏色名稱

紅色:red、橙色:orange、黃色:yellow、綠色;green、青色:cyan、藍色:blue、紫色:purple、白色:white、黑色:black、粉色:pink、金色:gold、淺藍色:lightblue、黃綠色:yellowgreen、天藍色:skyblue

 

16進位制

 

 #000000   黑色

 #ffffff   白色

 #ff0000   紅色

 #00ff00   綠色

 #0000ff   藍色

 ------------------------------------------------------------------------------------

 //只有三個顏色都可以簡寫才能簡寫

 #000000→#000

 #ff2245→不存在的

 #f1f1f1→不存在的

 #dd22cc→#d2c

 

 

rgb->red-green-blue

 

每個的取值是0-255之間

 rgb(0-255,0-255,0-255)

·透明顏色

 p{

     color: transparent;

 }

 

透明色的意思就是無論背景色是什麼顏色,我都會對映背景色。

·rgba->red-green-blue-alpha

 rgba(0-255,0-255,0-255,透明度0-1)

 

透明度0:代表全透明

透明度1:代表不透明

 

行高:

line-height 屬性設定行間的距離(不允許使用負值)

說明:

該屬性會影響行框的佈局。在應用到一個塊級元素時,它定義了該元素中基線之間的最小距離而不是最大距離。

p{ 
    line-height:1.4;
}
p{ 
    line-height:140%;
}

小技巧:當文字只有一行時,行高等價於高度時那麼文字垂直居中。

 

text-align:

text-align 屬性對齊元素中文字(行內和行內塊)。該屬性通過指定行框與哪個點對其,從而設定塊級元素內文字的水平對齊方式。通過允許使用者代理調整行內容中字母和字之間的間隔,可以支援值 justify;不同使用者代理可能會得到不同的結果。

 

text-indent:

text-indent 屬性縮排元素中的首行文字。

註釋:允許使用負值。如果使用負值,那麼首行會被縮排到左邊。

 

 

屬性

描述

px

 

em

em參照標準 字型大小

 

 


 

列表

list-style-image:

list-style-image 屬性使用一幅影象來替換列表項的標記。請始終規定一個 "list-style-type" 屬性以防影象不可用。

這個屬性指定作為一個有序或無序列表項標誌的影象。影象相對於列表項內容的放置位置通常使用 list-style-position 屬性控制。

 

 

li{
    border: 1px solid #000;
    /*替換點點點*/
    list-style-image: url("img/sun.png");
}

 

 list-style-position:

list-style-position 放置列表中的列表項標記。該屬性用於宣告列表標誌相對於列表項內容的位置。外部 (outside) 標誌會放在離列表項邊框邊界一定距離處,不過這距離在 CSS 中未定義。內部 (inside) 標誌處理為好像它們是插入在列表項內容最前面的行內元素一樣。

li{
    width: 100px;
    border: 1px solid #000;
    /*替換點點點*/
    list-style-image: url("img/sun.png");
    /*規定點點點的位置(內/外)*/
    list-style-position: inside;
}

list-style-type:

list-style-type 屬性設定列表項標記的型別。該屬性用於宣告列表標誌相對於列表項內容的位置。外部 (outside) 標誌會放在離列表項邊框邊界一定距離處,不過這距離在 CSS 中未定義。內部 (inside) 標誌處理為好像它們是插入在列表項內容最前面的行內元素一樣。

 

 

 

複合屬性list-style:

list-style 屬性是用於在一個宣告中設定一個列表的所有屬性的簡寫屬性。該屬性是一個簡寫屬性,涵蓋了所有其他列表樣式屬性。

語法:list-style-image | list-style-position | list-style-type

 


 

表格

border-collapse:

border-collapse 屬性設定表格的邊框是否被合併為一個單一的邊框,還是象在標準的 HTML 中那樣分開顯示。

 

 table{

     border-collapse: collapse;

 }

 

下圖:左側為預設表格樣式,右側為修改後的表格樣式


背景

 background-color:

background-color 屬性設定元素的背景顏色。background-color 屬性為元素設定一種純色。這種顏色會填充元素的內容、內邊距和邊框區域,擴充套件到元素邊框的外邊界。如果邊框有透明部分(如虛線邊框),會透過這些透明部分顯示出背景色。(後半句話結合一會我們們學的盒子模型來看)

background-color的取值和我們們的color取值一模一樣。

 

background-image:

background-image 屬性把影象設定為背景。

提示:請設定一種可用的背景顏色,這樣的話,假如背景影象不可用,頁面也可獲得良好的視覺效果。

初始背景影象(原影象)根據 background-position 屬性的值放置。

 

 background-repeat:

background-repeat 屬性設定是否及如何重複背景影象。background-repeat 屬性定義了影象的平鋪模式。影象可以無限平鋪、沿著某個軸(x 軸或 y 軸)平鋪,或者根本不平鋪。 預設影象是沿著x,y平鋪的。

 

div{
    width: 800px;
    height: 400px;
    border: 1px solid red;

    background-image: url('img/亞運會.jpg');/*背景圖500*312*/
    /* background-repeat: no-repeat; */  /*不平埔*/
    /* background-repeat: repeat-x; */  /*x方向*/
    /* background-repeat: repeat-y; */  /*y方向*/
    background-repeat: repeat;  /*預設值:x,y同時平鋪*/
}

 background-position:

background-position 屬性設定背景影象的起始位置。

 

我們的座標原點在哪裡:左上角。在數學中我們們這是第四象限,但是我們這裡都是正數。


 

 

我們的寫法有3三種:①方位名詞②px%(%參考的是當前盒子的寬和高)

 

背景定位的應用:

比如我們通常處理banner(可以作為網站頁面的橫幅廣告,也可以作為遊行活動時用的旗幟,還可以是報紙雜誌上的大標題。Banner 主要體現中心意旨,形象鮮明表達最主要的情感思想或宣傳中心。)區域。那麼這個設計圖設計多大呢?如果設計圖過大那麼在小解析度的螢幕上就會顯示不完整,如果設計過小,那麼在大分比率的螢幕上兩側留白過多,那麼非常不好看。

 

我們的解決方案是:設計一張可以使用於主流螢幕的banner圖,利用背景定位將他放在區域中間,兩邊可能會留白,將兩側區域填充主題背景色,這樣就不會顯得特別突兀了。

 

div{
            width: 900px;
            height: 400px;
            border: 1px solid red;
            /* 背景圖 */
            background-image: url('img/wechat.jpg');
            /* 平鋪狀態 */
            background-repeat: no-repeat;
            /* 背景定位-背景圖片 */
            background-position: 50% 50%;
            background-color: #36a63a;
}

 

如上圖紅色區域才是真正的背景圖。

 


雪碧圖技術

CSS雪碧 即CSS Sprite,也有人叫它CSS精靈,是一種CSS影象合併技術,該方法是將小圖示和背景影象合併到一張圖片上,然後利用css背景定位來顯示需要顯示的圖片部分。

 

前提:

 

 ①小

 ②風格統一

 ③比經常變動,因為你經常變動不易於維護

 

 

優點:

 1、利用CSS Sprites能很好地減少網頁的http請求,從而大大的提高頁面的效能,這也是CSS Sprites最大的優點,也是其被廣泛傳播和應用的主要原因;

 2CSS Sprites能減少圖片的位元組,曾經比較過多次3張圖片合併成1張圖片的位元組總是小於這3張圖片的位元組總和。

 3、解決了網頁設計師在圖片命名上的困擾,只需對一張集合的圖片上命名就可以了,不需要對每一個小元素進行命名,從而提高了網頁的製作效率。

 4、更換風格方便,只需要在一張或少張圖片上修改圖片的顏色或樣式,整個網頁的風格就可以改變。維護起來更加方便。

 

background-attachment:

background-attachment 屬性設定背景影象是否固定或者隨著頁面的其餘部分滾動。

 

 Background-attachment:fixed; 頁面滾動的時候圖片不動

 

 

複合屬性background:

background 是用於在一個宣告中設定所有背景屬性的一個簡寫屬性。

 

通常建議使用這個屬性,而不是分別使用單個屬性,因為這個屬性在較老的瀏覽器中能夠得到更好的支援,而且需要鍵入的字母也更少。

 background-color || background-image || background-repeat || background-attachment || background-position

 

 


 

偽類

偽類是一個狀態,a標籤超連結有4個偽類狀態:

 

偽類

作用

a:link

未訪問時的狀態(預設狀態)

a:visited

訪問後的狀態(點選後)

a:hover

滑鼠懸停時的狀態

a:active

點選中的狀態

 

注意:同時設定超連結的4個狀態,一定要按照順序寫l-v-h-a


盒子模型

 

 

網頁設計中常聽的屬性名:內容(content)、內邊距(padding)、邊框(border)、外邊距(margin)CSS盒子模式都具備這些屬性。

 

任何元素(塊元素 行內元素 行內塊元素)你都可以看作是一個盒子

 

由圖可知一個盒子再頁面中真實佔據的位置=widht+height+padding+border+margin

 

外邊距margin:

它值得是該盒子與兄弟盒子之間的距離

基本用法

順時針:鐘錶轉動的方向就是順時針

 

語法

描述

意義

margin:50px;  

margin: 上右下左;

四個方向都是50px;

margin: 10px 50px;

margin: 上下  左右;

上下10px  左右50px

margin: 10px 30px 50px;

margin: 上  左右  下;

上10px  左右30px  下50px

margin: 10px 30px 50px 70px;

margin: 上  右  下  左;

上10px  右30px  下50px  左70px

 

 

.box1{
    background-color: red;
    /*margin: 10px;*/
    /*margin: 10px 50px;*/
    /*margin: 10px 30px 50px;*/
    margin: 10px 30px 50px 70px;
                
}

基本語法

意義

marign-top

上邊距

margin-right

右邊距

margin-bottom

下邊距

margin-left

左邊距

 

 

margin特殊技巧1:

特殊技巧就是margin可以寫負數。當margin的值為負數時,意味著該盒子往反方向走。

 

margin特殊技巧2:

水平居中一個塊級元素?

思路:假設電腦螢幕為1366px,你的盒子大小為200px,那麼你可以寫成margin-left:583px;(或者margin: 0 583px),但是每一個瀏覽器視窗尺寸大小不一樣,所以我們不能寫成絕對的一個數值,所以使用auto代替。

 

div{
    width: 200px;
    height: 100px;
    background-color: red;
    /*(body-div)/2*/
    /*左外邊距是583px*/
    /*margin-left: 583px;*/
    /*下面這種寫法等價於上面的寫法*/
    /*margin: 0 583px;*/
                
    /*auto就是說左右兩邊可以自適應*/
    margin: 0 auto;
}

 


 

邊框border

基本語法

語法:div{border: 邊框粗細border-width  邊框樣式border-style  邊框顏色border-color}

 

屬性值

可能的值

描述

border-width

num(px)

邊框粗細

border-style

none solid dashed

邊框樣式

border-color

red  rgb(255,255,0)  #0ff0ff

邊框顏色

 

border-style取值如下:

 

還可以寫成以下方式:

border-width: 40px;

border-style: solid none dashed double

border-color: red green orange blue;

 

border-top: 50px solid blue;

border-bottom: 10px dashed green;

 

border-top-width: 20px;

div{
    /*裡面有3個屬性值*/
    border: 10px solid yellow;
}

三角形的製作:

原理:把盒子的寬和高縮小至0 你會發現一個神奇的現象 然後把你不需要的那3個三角顏色設定為透明色transparent

----------------->

div{
    width: 0px;
    height: 0px;
    margin: 50px auto;
                
    /*border: 50px solid orange;*/
    border-top: 100px solid orange;
    border-right: 100px solid transparent;
    border-bottom: 100px solid transparent;
    border-left: 100px solid transparent;
}

 

內邊距padding

別稱:內填充、內填白 

語法

描述

意義

padding:50px;  

padding: 上右下左;

四個方向都是50px;

padding: 10px 50px;

padding: 上下  左右;

上下10px  左右50px

padding: 10px 30px 50px;

padding: 上  左右  下;

上10px  左右30px  下50px

padding:10px30px 50px 70px;

padding: 上 右  下  左;

上10px  右30px  下50px  左70px

 


 

盒子大小

因為padding和border會改變盒子真實大小,所以我們計算時會將程式碼中的寬和高-border-padding(當前前提是取決於你對設計圖的測量方法)

 

盒子大小=width./height+padding+border

 


 

ps:以後會持續更新,沒有提到的可以在評論區留言我會補充,已經規劃好知識點的順序了,等正片走完之後,有想學習新技術或者有技術上的一些問題也可以留言我的郵箱scarf666@163.com。

 

 

相關文章