1. 程式人生 > >文字屬性 以及背景圖設定 相對 絕對定位 042

文字屬性 以及背景圖設定 相對 絕對定位 042

文字屬性 : 

  文字對齊 text-align    有 none | center | left | right | justify

  文字顏色  color   首行縮排   建議使用 em 即相對內容的大小 2em 即首行縮排2個文字內容字元

  文字修飾 text- decoration none(預設) | underline(下劃線) | overline(定義文字上的一條線)  | line-through (定義穿過文字下的一條線) | inherit(繼承父元素的text-decoration屬性的值。)

  行高 line-height 

    針對單行文字垂直居中

    公式:行高的高度等於盒子的高度,可以使當行文字垂直居中,注意只適用單行文字。

    針對多行文字垂直居中

    行高的高度不能小於字型的大小,不然上下字之間會緊挨一起。

第一步,一個寬度300*300的盒子,看盒子中一共顯示了幾行文字,假如是5行,再看一下行高,如果行高是line-height:30px; 那麼就知道行高*5=150px

第二步,讓(盒子的高度-150px)/2=75;那麼設定盒子的padding-top:75px;同時保證盒子的高度為300px,那麼高度改為225px;

  字型大小 font-size  粗細 font-weight  字體系列 font-family

background 背景  有 背景色 背景圖片  是否平鋪

repeat 預設。背景影象將在垂直方向和水平方向重複。
repeat-x 背景影象將在水平方向重複。
repeat-y 背景影象將在垂直方向重複。
no-repeat 背景影象將僅顯示一次。
inherit 規定應該從父元素繼承 background-repeat 屬性的設定。

  雪碧圖技術(精靈圖技術):

    

    CSS雪碧 即

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

    CSS 雪碧圖應用原理:
    只有一張大的合併圖, 每個小圖示節點如何顯示單獨的小圖示呢?

    其實就是 擷取 大圖一部分顯示,而這部分就是一個小圖示。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .bojie{
            width: 28px;
            height: 30px;
            background-color: black;
            border: 1px solid red;
            /*預設是橫向平鋪 縱向平鋪*/
            background-image: url("https://img.alicdn.com/tfs/TB1eiXTXlTH8KJjy0FiXXcRsXXa-24-595.png");
            background-repeat: no-repeat;
            /*如果想調整圖片在盒子中的距離*/
            /*background-position: 50px 100px;*/
            background-position: 0 -50px;
        }
    </style>
</head>
<body>

    <div class="bojie"></div>

</body>
</html>
View Code

  使用雪碧圖的好處:

    1、利用CSS Sprites能很好地減少網頁的http請求,從而大大的提高頁面的效能,這也是CSS Sprites最大的優點,也是其被廣泛傳播和應用的主要原因; 
    2、CSS Sprites能減少圖片的位元組,曾經比較過多次3張圖片合併成1張圖片的位元組總是小於這3張圖片的位元組總和。 
    3、解決了網頁設計師在圖片命名上的困擾,只需對一張集合的圖片上命名就可以了,不需要對每一個小元素進行命名,從而提高了網頁的製作效率。 
    4、更換風格方便,只需要在一張或少張圖片上修改圖片的顏色或樣式,整個網頁的風格就可以改變。維護起來更加方便

    不足:

      1)CSS雪碧的最大問題是記憶體使用
      2)拼圖維護比較麻煩
      3)使CSS的編寫變得困難
      4)CSS 雪碧呼叫的圖片不能被列印

 

    我們可以使用background綜合屬性製作通天banner,什麼是通天banner呢,就是一般我們電腦的螢幕都是1439.但是設計師給我們的banner圖都會比這個大,

  那麼我們可以此屬性來製作通天banner。

background:  red  url('./images/banner.jpg')  no-repeat   center top;

    background-attach

    設定fixed之後,該屬性固定背景圖片不隨瀏覽器的滾動而滾動

定位 有相對定位 絕對定位 和 固定定位 

  相對定位:相對於自己原來的位置定位

  現象和使用:

    1.如果對當前元素僅僅設定了相對定位,那麼與標準流的盒子什麼區別。

    2.設定相對定位之後,我們才可以使用四個方向的屬性: top、bottom、left、right

  特性:

    1.不脫標

    2.形影分離

    3.老家留坑(佔著茅房不拉屎,噁心人)

  所以說相對定位 在頁面中沒有什麼太大的作用。影響我們頁面的佈局。我們不要使用相對定位來做壓蓋效果

  用途:

    1.微調元素位置

    2.做絕對定位的參考(父相子絕)絕對定位會說到此內容。

  參考點:

    自己原來的位置做參考點。

  絕對定位:

    特性:

      1.脫標 2.做遮蓋效果,提成了層級。設定絕對定位之後,不區分行內元素和塊級元素,都能設定寬高。

    參考點(重點):

      一、單獨一個絕對定位的盒子

        1.當我使用top屬性描述的時候 是以頁面的左上角(跟瀏覽器的左上角區分)為參考點來調整位置
        2.當我使用bottom屬性描述的時候。是以首屏頁面左下角為參考點來調整位置。

      二、以父輩盒子作為參考點

        1.父輩元素設定相對定位,子元素設定絕對定位,那麼會以父輩元素左上角為參考點,這個父輩元素不一定是爸爸,它也可以是爺爺,曾爺爺。

        2.如果父親設定了定位,那麼以父親為參考點。那麼如果父親沒有設定定位,那麼以父輩元素設定定位的為參考點

        3.不僅僅是父相子絕,父絕子絕 ,父固子絕,都是以父輩元素為參考點

   注意了:父絕子絕,沒有實戰意義,做站的時候不會出現父絕子絕。因為絕對定位脫離標準流,影響頁面的佈局。相反‘父相子絕’在我們頁面佈局中,是常用的佈局方案。因為父親設定相對定位,不脫離標準流,子元素設定絕對定位,僅僅的是在當前父輩元素內調整該元素的位置。

   還要注意,絕對定位的盒子無視父輩的padding

    作用:頁面佈局常見的“父相子絕”,一定要會!!!!

絕對定位 盒子居中 

*{
            padding: 0;
            margin: 0;
        }
        .box{
            width: 100%;
            height: 69px;
            background: #000;
        }
        .box .c{
            width: 960px;
            height: 69px;
            background-color: pink;
            /*margin: 0 auto;*/
            position: relative;
            left: 50%;
            margin-left: -480px;

            /*設定絕對定位之後,margin:0 auto;不起任何作用,如果想讓絕對定位的盒子居中。當做公式記下來 設定子元素絕對定位,然後left:50%; margin-left等於元素寬度的一半,實現絕對定位盒子居中*/
        }
View Code

  父相子絕參考點

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        *{
            padding: 0;
            margin: 0;
        }
        .yeye{
            width: 800px;
            height: 800px;
            background-color: yellow;
            position: relative;
        }
        .father{
            width: 500px;
            height: 500px;
            margin: 0 auto;
            background-color:red;
            /*position: relative;*/
            /*定位 與padding沒有任何關係*/
            /*padding: 50px;*/
        }
        .child1{
            width: 100px;
            height: 100px;
            background-color: green;
            position: absolute;
            top: 200px;
            left: 10px;
        }
        .child2{
            width: 200px;
            height: 200px;
            background: darkmagenta;
            position: absolute;
            right: 0;
            top: 50%;
        }

    </style>
</head>
<body>
    <div class="yeye">
        <div class="father">
            <div class="child1"></div>
            <div class="child2"></div>
        </div>
    </div>

</body>
</html>