1. 程式人生 > >前端學習-CSS-02

前端學習-CSS-02

1、框模型

   1、框

      框就是個容器,目的為了承裝其他的東西

      html中所有的元素都可以稱之為 框

   2、框模型

      Box Model : 也稱為盒子模型

      定義了元素框 處理元素內容尺寸、內邊距、邊框 外邊距的方式

      元素內容尺寸 width , height

        div{

width:100px;

height:100px;

}

       邊框:border

       div{

   border:1px solid #ddd;

       }

       注意:當框模型(內邊距,外邊距,邊框)介入到元素後,元素的 內容區域 尺寸是不變的,但是會增加元素框的總尺寸

       元素總寬度 = 左右外邊距 + 左右邊框 + 左右內邊距 + width;

       元素總高度 = 上下外邊距 + 上下邊框 + 上下內邊距 + height;

       eg :

         div{

width : 200px ;

border: 2px solid #ddd;

左右外邊距 : 15px;

左內邊距: 8px;

右內邊距: 4px;

  }

 總寬度:200 + 2*2 + 15*2 + 8 + 4 =

         200 + 4 + 30 + 12 = 246px

   3、外邊距

      1、什麼是外邊距

         在元素邊框周圍的一些空白區域,這些區域是透明的,預設情況下,是不允許被其他元素所佔據的。也可以表示為

當前元素 其他元素之間的距離

      2、語法: margin:value; (四個方向的外邊距)

  單邊設定:

  margin-top : 上外邊距

  margin-bottom:下外邊距

  margin-left:左外邊距

  margin-right:右外邊距

 取值:    單位: px   %

     auto : 自動,只對 左右外邊距有效,設定水平居中

     負值 : 目的 是為了移動元素

        margin-left:取負值,為了向左移動元素

    margin-top :取負值,為了向上移動元素    

   取值為 auto :由瀏覽器自己計算外邊距。左右方向取值為

auto 時,會呈現出 元素水平居中對齊顯示方式(僅僅侷限於塊級元素,而且必須要設定寬度屬性)    

   取值數量:

     margin:value; 四個方向外邊距

     margin:v1 v2; 上下   左右

     margin:v1 v2 v3; 上   左右   下

     margin:v1 v2 v3 v4; 上 右 下 左

      3、預設 外邊距

         html元素裡, 有些元素預設具備 外邊距的

  h1~h6  p  ul  body  dl,dd

 如果程式中,不想使用預設的外邊距,可以設定為 0

      4、外邊距問題

         1(垂直)外邊距合併

    當兩個垂直外邊距相遇時,它們將形成一個外邊距,稱為 外邊距合併

    合併後的外邊距的高度值為兩個元素中 外邊距較大者的值

   2、外邊距溢位

    父子元素中,如果設定 子元素 的上下外邊距時,預設情況 被作用到父元素的外邊距上

    解決方式:

    1、可以為 父元素 增加邊框

    2、增加 父元素 的 padding-top

       最好將 父元素的 高度 相應的 減少一部分數值

   4、內邊距

      1、什麼是內邊距         內容區域 與 邊框之間的距離控制元件

 注意:內邊距 會將元素邊框 撐大

      2、屬性

          padding : value;

    padding-top/bottom/right/left:

 取值:     單位:px   %

    數量:

      padding:value ; 上下左右

      padding:v1 v2 ; 上下 左右

      padding:v1 v2 v3;上  左右  下

      padding:v1 v2 v3 v4;上 右 下 左

2、背景

   1、背景顏色

      屬性:background-color

      取值:可設定為合法的值  transparent

      注意:預設情況下,背景(顏色、影象)是從邊框位置處就開始填充

   2、背景圖片

      屬性:background-image

      取值:url("影象URL")

      background-image:url("xxxx/xxx.jpg");

      background-image:url('xxxx/xxx.jpg');

      background-image:url(xxxx/xxx.jpg);

   3、背景平鋪

      屬性:background-repeat

      取值:

    repeat : 即水平方向又垂直方向平鋪(預設值)

    no-repeat : 沒有平鋪

    repeat-x : 僅水平方向平鋪

    repeat-y : 僅垂直方向平鋪

   4、背景圖片尺寸

      屬性:background-size

      取值:

            value1  value2 : 寬度 高度

     value1%  value2% : 父容器的寬和高的佔比

    cover : 覆蓋,將背景影象擴充套件至足夠大,直到背景圖已經覆蓋了元素的所有區域.有可能導致背景圖不能完整的顯示在元素中

    contain: 包含,將背景圖擴大,直到背景圖已經碰都某一個邊緣位置(右、下),背景圖能夠完完整整的顯示在元素中,不一定能覆蓋到所有的區域

   5、背景圖片固定

      屬性:background-attachment

      取值:

            scroll :背景 會隨文件發生滾動

     fixed : 固定 , 背景不會隨著內容而發生滾動

   6、背景定位

      改變背景圖片在元素中的位置

      屬性:background-position

      取值:

            x  y : x水平偏移位置,值為正 向右移動,值為負,向左移動

           y垂直偏移位置,值為正 向下移動,值為負,向上移動

            x% y% :

            左上角 : 0% 0%

     右下角 : 100% 100%

     居中顯示 : 50% 50%

    關鍵字:

          x : left,center,right

    y : top,center,bottom

      CSS Sprite : 將多個背景圖合併到一張裡面去,根據需求情況,通過 背景定位 對背景圖片進行偏移,從而找到要顯示的影象

   7、背景屬性

        以上 幾個屬性全部綜合到一起,通過一個屬性描述所有的值

      屬性:background

      取值:color url() repeat attachment position;

      常用值:

         background:url() reapeat position;

background-image:url(Images/user.png);

background-repeat:no-repeat;

background-position:right center;

background:url(Images/user.png) no-repeat right center;

3、漸變

   1、漸變語法:

      屬性:background-image

      取值:

            linear-gradient()  -- 線性漸變

     radial-gradient()  -- 徑向漸變

     repeating-linear-gradient() -- 重複線性漸變

     repeating-radial-gradient() -- 重複徑向漸變

     background-image:url();  -- 顯示背景影象

     background-image:linear-gradient(); -- 顯示線性漸變顏色

   2、線性漸變

      屬性:background-image

      取值:linear-gradient(angle,color-point1,color-point2,...)

      angle:方向(角度)

          to top : 向上  --> 0deg

    to right : 向右 --> 90deg

    to bottom : 向下 --> 180deg

    to left : 向左 --> 270deg

         color-point :  表示顏色的數值 和 位置    red 10px   red 0%

      background-image:linear-gradient(to top,red 0%,green 50%,blue 100%);

   3、徑向漸變

      屬性:background-image

      取值: radial-gradient();

        radial-gradient([size at position],color-point1,color-point2,....);

size at postion :

   可以省略不寫

   size : 標識的圓的半徑 以 px 為單位

   position : 圓心的位置

      top,left,right,bottom,center       具體數值       百分比

   4、重複漸變

      repeating-linear-gradient(angle,color-point);

      color-point:

        位置 取具體的數值或者 不到 100% 的 數字

      repeating-radial-gradient();

*******************************************************************************