html學習 二、

css屬性:

1、line-height:字體單行文本高度

2、text-indent:2em;首行縮進

      em:單位,1em表示所在元素的 1 font-size

3、html中元素的分類:

      行級元素(內聯元素)inline:內容決定元素所佔位置,不可通過CSS改變寬高

      span、strong、em、a、del等

      塊級元素 block : 獨佔一行,可以通過CSS改變寬高

       div、p、ul、li、ol、form、address等

      行級塊元素 inline-block:內容決定大小,可以通過CSS改變寬高

      inline,block,inline-block  可以通過css的display 進行修改

      凡是帶有inline的元素,都帶有文字特性(行間距)

開發過程中,可以先寫CSS,封裝成CSS庫,元素指定class,來引用css,完成CSS的複用

 

padding: top right bottom left

面試盒模型可視區大小 width + padding + border

body默認margin 8px

 

定位:position

position需要配合 top、 right、bottom、left使用

absolude:絕對定位,脫離原來位置進行定位(可以理解爲元素存在於新的一層,不與原來層影響)。left、top、bottom、right相對於最近的元素進行定位,如果沒有,相對於文檔進行定位

relative:相對定位。保留原來位置進行定位(元素可以通過 top等改變位置,與其他元素重合,但是原來的位置保留,其他元素不會自動佔用)。設置left、top、bottom、right相對於原來位置進行定位。

fixed:固定定位,相對於窗口定位,不會隨着頁面滾動而改變位置。常用來做側邊快捷鍵,廣告等

注:使用技巧。用relative作爲參照物,用absolude進行定位

 

margin塌陷問題:當兩個父子div同時設置margin-top的時候,只有數值比較大的margin-top有效,且效果作用於父元素。

例如:父div  margin-top: 100px;  子 div margin-top: 50px;此時子級元素,margin-top無效。

           子 div margin-top: 150px;此時父級元素效果爲記錄文檔頂部150px,子級元素相對父級位置不變。

解決辦法:

           觸發父級元素的bfc.

           具體方法:1、設置position;  2、設置display:inline; 3、設置overflow:hidden;  4、設置float:left | right

margin合併問題:兩個同級元素,分別設置margin-top,margin-bottom時,上下距離不是兩者之和,而是最大的那個值。

           解決辦法同樣是觸發父級的bfc。給其中一個元素,或者兩個元素,添加父級元素,觸發父級元素的bfc。但是開發中一般不這麼解決(不能爲了改BUG而改變html結構),開發中通過設置一個元素的margin值變大,達到效果。

 

元素設置float屬性以後,部分元素錯位問題。

元素設置了float以後會產生浮動流。塊級元素(block)無法看到響應。產生了bfc的元素和文本類屬性(inline)的元素可以看到響應。

清除浮動流,只需要添加在最後一個不需要浮動的元素上添加css: clear: both;也可以解決父級元素無法撐開的問題(clear只對塊級元素有效)。但是開發中不推薦這麼寫,而是推薦使用僞元素設置clear來清除浮動。

//對div後面的僞元素進行操作
.div::after{
    content:"";//只有設置了content爲元素纔會生效
    clear:both;
    display:block;//clear只對塊級元素有效
}

//對div前面的僞元素進行操作
.div::befor{
    content:"";//只有設置了content爲元素纔會生效
}

浮動最早的設計初衷是爲了在網頁上實現報紙的效果(文字環繞圖片)

知識點:元素設置了position,float之後,display會變成inline-block

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章