• <abbr id="chdyf"></abbr>
    <ruby id="chdyf"><acronym id="chdyf"><meter id="chdyf"></meter></acronym></ruby>
    <bdo id="chdyf"></bdo>
    <dfn id="chdyf"><menu id="chdyf"></menu></dfn>
    1. <menuitem id="chdyf"></menuitem><strong id="chdyf"><menu id="chdyf"></menu></strong>

      <rt id="chdyf"><menu id="chdyf"></menu></rt>
      成人小说一区二区三区,伊人精品成人久久综合全集观看,久久HEZYO色综合,中文字幕精品人妻熟女,影音先锋成人网站,我要看免费一级毛片,中国女人做爰A片,中文字幕av久久爽Av

      CSS基礎(chǔ)知識(shí)第三篇

      2020-9-11    前端達(dá)人

      盒子模型

      看透網(wǎng)頁布局的本質(zhì)

      首先利用CSS設(shè)置好盒子的大小,然后擺放盒子的位置。最后把網(wǎng)頁元素比如文字圖片等等,放入盒子里面。

      概念

      盒子模型由元素的內(nèi)容邊框border內(nèi)邊距padding和外邊距margin組成
      盒子里面的文字和圖片等元素是內(nèi)容區(qū)域,盒子的厚度我們稱為盒子的邊框
      盒子內(nèi)容與邊框的距離是內(nèi)邊距,盒子與盒子之間的距離是外邊距

      盒子邊框

      語法

      border:border-width粗細(xì)|border-style樣式|border-color顏色 

      邊框綜合設(shè)置
      border: 1px solid red; 沒有順序

      表格的細(xì)線邊框
      cellspacing=“0” ,將單元格與單元格之間的距離設(shè)置為0
      border-collapse:collapse; 表示相鄰邊框合并在一起

      內(nèi)邊距

      padding屬性用于設(shè)置內(nèi)邊距,是指邊框與內(nèi)容之間的距離

      屬性
      padding-left左內(nèi)邊距padding-right右內(nèi)邊距padding-top上內(nèi)邊距padding-bottom下內(nèi)邊距

      簡寫
      2個(gè)值 padding: 上下內(nèi)邊距 左右內(nèi)邊距 ;
      4個(gè)值 padding: 上內(nèi)邊距 右內(nèi)邊距 下內(nèi)邊距 左內(nèi)邊距 ;

      內(nèi)盒尺寸計(jì)算(元素實(shí)際大小)
      盒子的實(shí)際的大小 = 內(nèi)容的寬度和高度 + 內(nèi)邊距 + 邊框

      外邊距

      margin屬性用于設(shè)置外邊距。margin控制盒子和盒子之間的距離,屬性和簡寫與padding相同

      塊級(jí)盒子水平居中

      盒子必須指定寬度(width)然后就給左右的外邊距都設(shè)置為auto

      文字居中和盒子居中區(qū)別

      盒子內(nèi)的文字水平居中是text-align:center, 而且還可以讓行內(nèi)元素和行內(nèi)塊居中對(duì)齊
      塊級(jí)盒子水平居中 左右margin 改為 auto

      清除元素的默認(rèn)內(nèi)外邊距

      代碼

      * {
      padding:0;     /* 清除內(nèi)邊距 */
      margin:0;      /* 清除外邊距 */
      } 

      注意
      行內(nèi)元素為了兼容性, 盡量只設(shè)置左右內(nèi)外邊距, 不設(shè)置上下內(nèi)外邊距

      外邊距合并

      相鄰塊元素垂直外邊距的合并

      當(dāng)上下相鄰的兩個(gè)塊元素相遇時(shí),如果上面的元素有下外邊距margin-bottom,下面的元素有上外邊距margin-top,則他們之間的垂直間距不是margin-bottom與margin-top之和,取兩個(gè)值中的較大者這種現(xiàn)象被稱為相鄰塊元素垂直外邊距的合并

      解決方案
      盡量給只給一個(gè)盒子添加margin值

      嵌套塊元素垂直外邊距的合并

      對(duì)于兩個(gè)嵌套關(guān)系的塊元素,如果父元素沒有上內(nèi)邊距及邊框,父元素的上外邊距會(huì)與子元素的上外邊距發(fā)生合并,合并后的外邊距為兩者中的較大者

      解決方案
      可以為父元素定義上邊框
      可以為父元素定義上內(nèi)邊距
      可以為父元素添加overflow:hidden

      盒子模型布局穩(wěn)定性

      按照優(yōu)先使用寬度(width)內(nèi)邊距(padding)外邊距(margin)

      原因
      margin有外邊距合并還有ie6下面margin加倍的bug所以最后使用
      padding會(huì)影響盒子大小,需要進(jìn)行加減計(jì)算,其次使用
      width沒有問題,經(jīng)常使用寬度剩余法高度剩余法來做

      浮動(dòng)

      CSS 布局的三種機(jī)制

      普通流(標(biāo)準(zhǔn)流)

      塊級(jí)元素會(huì)獨(dú)占一行,從上向下順序排列
      行內(nèi)元素會(huì)按照從左到右順序排列,碰到父元素邊緣則自動(dòng)換行

      浮動(dòng)

      讓盒子從普通流中浮起來,主要作用讓多個(gè)塊級(jí)盒子一行顯示

      定位

      將盒子定在瀏覽器的某一個(gè)位置

      為什么需要浮動(dòng)

      因?yàn)樾袃?nèi)塊元素可以實(shí)現(xiàn)多個(gè)元素一行顯示但中間會(huì)有空白縫隙
      因?yàn)樾袃?nèi)塊元素不能實(shí)現(xiàn)盒子左右對(duì)齊

      什么是浮動(dòng)

      概念

      元素的浮動(dòng)是指設(shè)置了浮動(dòng)屬性的元素
      會(huì)脫離標(biāo)準(zhǔn)普通流的控制并可以移動(dòng)到指定位置

      作用

      讓多個(gè)盒子(div)水平排列成一行,使得浮動(dòng)成為布局的重要手段
      浮動(dòng)最早是用來控制圖片,實(shí)現(xiàn)文字環(huán)繞圖片的效果
      可以實(shí)現(xiàn)盒子的左右對(duì)齊等等

      語法

      選擇器 { float: 屬性值; } 
      
      • 1

      屬性值
      none(元素不浮動(dòng)(默認(rèn)))left(元素左浮動(dòng))right(右浮動(dòng))

      特點(diǎn)


      加了浮動(dòng)的盒子是浮起來的,漂浮在其他標(biāo)準(zhǔn)流盒子的上面

      加了浮動(dòng)的盒子不占位置,它原來的位置漏給了標(biāo)準(zhǔn)流的盒子

      浮動(dòng)元素改變display屬性, 類似轉(zhuǎn)換成行內(nèi)塊元素,但是元素之間沒有空白縫隙

      浮動(dòng)的應(yīng)用

      浮動(dòng)和標(biāo)準(zhǔn)流的父盒子搭配

      實(shí)際的導(dǎo)航欄中不直接用鏈接a而是用li包含鏈接(li+a)
      li+a語義更清晰
      直接用a搜索引擎容易辨別為有堆砌關(guān)鍵字嫌疑而影響網(wǎng)站排名

      浮動(dòng)的擴(kuò)展

      浮動(dòng)元素與父盒子的關(guān)系
      子盒子的浮動(dòng)參照父盒子對(duì)齊
      不會(huì)與父盒子的邊框重疊,也不會(huì)超過父盒子的內(nèi)邊距

      浮動(dòng)元素與兄弟盒子的關(guān)系
      在一個(gè)同一個(gè)父級(jí)盒子中,如果前一個(gè)兄弟盒子是浮動(dòng)的,那么當(dāng)前盒子會(huì)與前一個(gè)盒子的頂部對(duì)齊
      在一個(gè)同一個(gè)父級(jí)盒子中,如果前一個(gè)兄弟盒子是普通流的,那么當(dāng)前盒子會(huì)顯示在前一個(gè)兄弟盒子的下方

      清除浮動(dòng)

      為什么要清除浮動(dòng)

      浮動(dòng)元素不占用原文檔流的位置,會(huì)對(duì)后面的元素排版產(chǎn)生影響

      清除浮動(dòng)本質(zhì)

      父級(jí)元素因?yàn)樽蛹?jí)浮動(dòng)導(dǎo)致內(nèi)部高度為0,清除浮動(dòng)后,父級(jí)會(huì)根據(jù)浮動(dòng)的子盒子檢測(cè)高度,父級(jí)有高度就不會(huì)影響下面的標(biāo)準(zhǔn)流

      清除浮動(dòng)的方法

      語法

      選擇器{clear:屬性值;}  clear 清除 
      
      • 1

      屬性值
      left清除左浮動(dòng)right清除右浮動(dòng)both同時(shí)清除左右浮動(dòng)

      額外標(biāo)簽法

      是W3C推薦的做法是通過在浮動(dòng)元素末尾添加一個(gè)空的標(biāo)簽例如<div style=”clear:both”></div>,或則其他標(biāo)簽br等亦可 
      
      • 1

      優(yōu)缺點(diǎn)
      通俗易懂,書寫方便,但是添加許多無意義的標(biāo)簽,結(jié)構(gòu)化較差

      父級(jí)添加overflow屬性方法

      可以給父級(jí)添加:overflow為hidden|auto|scroll都可以實(shí)現(xiàn)

      優(yōu)缺點(diǎn)
      代碼簡潔,但是內(nèi)容增多時(shí)候容易造成不會(huì)自動(dòng)換行導(dǎo)致內(nèi)容被隱藏掉,無法顯示需要溢出的元素

      使用after偽元素清除浮動(dòng)

      :after 方式為空元素額外標(biāo)簽法的升級(jí)版,.clearfix:after {  content: ""; display: block; height: 0; clear: both;visibility: hidden; } 
      .clearfix {*zoom: 1;}  /* IE6、7 專有 */ 
      
      • 1
      • 2

      優(yōu)缺點(diǎn)
      符合閉合浮動(dòng)思想結(jié)構(gòu)語義化正確,但是由于IE6-7不支持:after,使用zoom:1觸發(fā)hasLayout

      使用雙偽元素清除浮動(dòng)

      方法

      .clearfix:before,.clearfix:after {
      content:"";
      display:table;
      }
      .clearfix:after {
      clear:both;
      }
      .clearfix {
      *zoom:1;
      } 

      優(yōu)缺點(diǎn)
      代碼更簡潔,但由于IE6-7不支持:after使用zoom:1觸發(fā)hasLayout

      日歷

      鏈接

      個(gè)人資料

      存檔