CSS基礎之浮動定位、顯示、游標、定位

來源:互聯網
上載者:User
1、浮動定位
  1、定位
    簡單點說,定位就是改變元素在頁面上的預設位置
  2、定位的分類
    按照定位的效果,可以分成以下幾類:
    1、普通流定位(預設)
    2、浮動定位
    3、相對定位
    4、絕對位置
    5、固定定位
  3、定位方式-普通流定位
    普通流定位,又稱為“文檔流定位”,頁面中所有元素預設定位方式
    所有元素預設都是在其父元素的左上方開始出現,


    頁面中所有的區塊層級元素,按照從上到下的方式排列,每個元素獨佔一行


    頁面中所有的行內元素,按照從左至右的方式排列,
    多個元素在一行內顯示,顯示不下自動換行


    問題:多個區塊層級元素想在一行內顯示。。。<核心>-浮動定位
  4、定位方式-浮動定位
    1、浮動定位的概述 & 特點
      如果將元素的定位方式設定為浮動定位的話,那麼元素將具備以下特徵
      1、元素會排除在文檔流之外即脫離文檔流,所有脫離文檔流即不佔據頁面空間(但是可以顯示在頁面中)。
      其他剩餘元素要上前補位。
      2、浮動元素會停靠在父元素的左邊或者右邊,或者其他已浮動元素的邊緣上
      3、浮動只在當前行浮動
      4、浮動元素依然位於父元素包含框之內
      5、浮動元素處理的問題-能夠讓多個區塊層級元素在一行顯示
    2、文法
      屬性:float
      取值:
        1、none
          預設值,即無浮動效果
        2、left
          左浮動,停靠在父元素的左邊,或挨著左側已有的浮動元素
        3、right
          右浮動,停靠在父元素的右邊,或挨著右側易用的浮動元素
    3、浮動引發的特殊效果
      1、當父元素的寬度顯示不下所有的已浮動子項目,
      那麼最後一個將換行,但,有可能被卡
      2、元素一旦浮動起來之後,寬度將變成自適應(由內容來決定寬度)
      3、元素一旦浮動起來之後,那麼將變成區塊層級元素,尤其對行內元素影響最大
        區塊層級元素:能修改尺寸
        行內元素:不能修改尺寸
      4、文本,行內元素,行內塊元素是採用環繞的方式排列的,是不會被浮動元素壓在底下的,

      而會巧妙的避開浮動元素


向右浮動效果:


向左浮動效果:


    4、清除浮動
      元素浮動起來之後,會對後續的元素帶來位置的影響。如果後續元素不想受到任何影響的話,
      可以通過清除浮動的方式來解決。清除浮動後,元素不會上前佔位。
      屬性:clear
      取值:
        1、none
          預設值,不做任何清除操作
        2、left
          清除當前元素前一個元素左浮動帶來的影響
        3、right
          清除當前元素前一個元素右浮動帶來的影響
        4、both

          清除當前元素前一個元素左或右浮動帶來的影響     5、浮動元素對父元素高度的影響
      由於浮動元素會脫離文檔流,所以會導致元素不會佔據父元素的控制項,
      會對父元素的高度帶來一定的影響。父元素高度是以沒有浮動子項目的高度
      為準。(如果全是浮動子項目,那麼父元素的高度為0)
      解決方案:
      1、直接設定父元素高度
        弊端:必須知道父元素的高度是多少
      2、設定父元素也浮動
        弊端:不是任何時候父元素都需要浮動,元素浮動後會影響後續元素的位置
      3、為父元素設定overflow屬性
        取值為:hidden 或者 auto
        弊端:如果內容中有東西要溢出顯示(如彈出框)
        那麼也會一同被隱藏
      4、父元素中,追加塊級空子項目(必須是塊級),並設定其clear屬性為both
      5、... ...
2、顯示
  1、顯示方式
    顯示方式決定了元素在頁面中預設的定位方式
    屬性:display
    取值:
      1、none
        讓產生的元素不顯示,並且脫離文檔流
      2、block
        讓元素表現的和區塊層級元素一樣
      3、inline
        讓元素表現的和行內元素一樣
      4、inline-block
        讓元素表現的和行內塊一樣
        多個行內塊在一行內顯示,並且允許修改尺寸
        (radio,checkbox除外)
  2、顯示效果
      1、visibility
      作用:可見度
      屬性:visibility
      取值:
        1、visible
          預設值,可見的
        2、hidden
          隱藏的,依然佔據頁面空間
        3、collapse
          用在表格中,刪除一行或一列時,不影響表格整體布局


      visibility:hidden 與 display:none的區別
      display:none;脫離文檔流,所以不佔頁面空間
      visibility:hidden;沒有脫離文檔流,所以占頁面空間,不顯示內容而已
      2、opacity
        作用:指定元素的透明度
        屬性:opacity
        取值:0(完全透明)-1(完全不透明)之間的數字
      3、vertical-align
        作用:垂直置中對齊,不是所有的元素能使用,控制的是當前元素兩邊的文本或行內元素
        相對於當前元素的垂直對齊
        注意:用在 td 或 行內塊元素 或 img中
        取值:
          1、top:頂部對齊
          2、middle:中間對齊
          3、bottom:底部對齊
          4、baseline:基準對齊
        基準對齊:
          1、行內塊元素的基準
            基準是在最後一行文本的底端
          2、映像

            基準是在映像底部再向下3px處

頂部對齊、中間對齊、底部對齊、基準對齊示意圖:   3、游標
        作用:改變滑鼠的顯示狀態
        屬性:cursor
        取值:
          1、default
            預設
          2、pointer
            小手狀態,與a標記移入時一樣
          3、crosshair
            +
          4、text
            I
          5、wait
            等待
          6、help
            協助
3、列表
  1、清單項目標識
    屬性:list-style-type
    取值:
      1、none
        無標記
      2、disc
      3、square
      4、circle
      ... ...
  2、清單項目映像
    屬性:list-style-image
    取值:url();
  3、清單項目位置
    預設位置:標識預設清單項目內容地區之外
    屬性:list-style-position
    取值:
      1、outside
        預設值
      2、inside
        將標識放置於清單項目地區之內
  4、列表屬性
    屬性:list-style
    取值:type url() position;


    常用方式:list-style:none;
4、定位
  1、定位屬性
    1、定位方式
      屬性:position
      取值:
        1、static:靜態定位,預設定位
        2、relative:相對定位
        3、absolute:絕對位置
        4、fixed:固定定位
      注意:將position設定為
      relative/absolute/fixed 任意一種定位方式的話,那麼該元素就被稱為“已定位元素”
    2、位移屬性
      屬性:
        1、top:以元素頂端作為基準點,上下移動元素
        2、bottom:以元素底端作為基準點,上下移動元素
        3、left:以元素左邊作為基準點,左右移動元素
        4、right:以元素右邊作為基準點,左右移動元素
    3、堆疊順序
      作用:堆疊效果中,顯示調整堆疊順序
      屬性:z-index
      取值:沒有單位的數字
  2、相對定位
    1、什麼是相對定位
      元素會相對於它原來的位置位移某個距離
      實現元素位置的微調
    2、文法
      屬性&值:
        position:relative
      配合位移屬性實現位置的微調

        top/bottom/left/right

位移屬性示意圖:


  3、絕對位置
    1、什麼是絕對位置
      1、絕對位置的元素會脫離文檔流,不佔據頁面空間
      2、會相對於它 最近的 已定位的 祖先元素去實現位置的初始化
      3、如果當前元素沒有 已定位的祖先元素,
      那麼就會相對於最初的包含框實現位置初始化,比如body或html
      4、絕對位置的元素會變成區塊層級元素
    2、文法
      屬性 & 值:
        position:absolute;
      配合著 位移屬性 實現元素的定位(位置移動)
    3、使用場合
      1、快顯功能表一律採用絕對位置的方式
  4、堆疊順序
    1、什麼是堆疊順序
      產生堆疊效果之間的元素的排列順序
    2、文法
      屬性:z-index
      取值:沒有單位的數值
    3、注意問題
      1、必須是已定位元素才能使用z-index
      2、預設順序是 後來者居上
      3、父子關係之間無法用z-index調整堆疊順序,永遠都是 子壓在父上

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.