日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > CSS >内容正文

CSS

CSS flex样式垂直居中

發(fā)布時間:2024/3/24 CSS 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CSS flex样式垂直居中 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章目錄

    • 文章參考
    • 問題描述
    • flex 個人理解
      • 對子元素影響
      • 作用自身的樣式
      • 作用于子控件
    • 案例(水平垂直居中)
      • 方法一(改變方向)
      • 方法二(讓flex的子元素水平垂直居中)

文章參考

  • Flex 布局教程:語法篇
  • 問題描述

    由于div默認是沒有高度的,如果設(shè)置了高度,默認是從左到右,從上到下的順序來排布;

    如果要做垂直居中,就需要計算div控件的高度,如果內(nèi)容變多或者變少,又會導致定位不準確,因此,最穩(wěn)妥的辦法就是讓瀏覽器自己去根據(jù)div的高度居中顯示

    flex 個人理解

    對子元素影響

    設(shè)為 Flex 布局以后,子元素的float、clear和vertical-align屬性將失效。

    作用自身的樣式

  • flex-direction屬性決定主軸的方向(即項目的排列方向)
  • flex-wrap屬性定義,如果一條軸線排不下,如何換行。
  • flex-flow屬性是flex-direction屬性和flex-wrap屬性的簡寫形式,默認值為row nowrap。
  • justify-content屬性定義了項目在主軸上的對齊方式。
  • align-items屬性定義項目在交叉軸上如何對齊。
  • align-content屬性定義了多根軸線的對齊方式。如果項目只有一根軸線,該屬性不起作用。
  • 作用于子控件

  • order屬性定義項目的排列順序。數(shù)值越小,排列越靠前,默認為0。
  • flex-grow屬性定義項目的放大比例,默認為0,即如果存在剩余空間,也不放大。
  • flex-shrink屬性定義了項目的縮小比例,默認為1,即如果空間不足,該項目將縮小。
  • flex-basis屬性定義了在分配多余空間之前,項目占據(jù)的主軸空間(main size)。瀏覽器根據(jù)這個屬性,計算主軸是否有多余空間。它的默認值為auto,即項目的本來大小。
  • flex屬性是flex-grow, flex-shrink 和 flex-basis的簡寫,默認值為0 1 auto。后兩個屬性可選。
  • align-self屬性允許單個項目有與其他項目不一樣的對齊方式,可覆蓋align-items屬性。默認值為auto,表示繼承父元素的align-items屬性,如果沒有父元素,則等同于stretch。
  • 案例(水平垂直居中)

    方法一(改變方向)

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title> </head> <style>.mycontainer{height: 200px;width: 200px;border: 1px solid red;/* flex樣式呈現(xiàn)*/display: flex;/*垂直排列*/flex-direction: column;align-items:center;/*由于flex-direction: column,因此align-items代表的是水平方向*/justify-content: center;/*由于flex-direction: column,因此justify-content代表的是垂直方向*/} </style> <body> <div class="mycontainer"><div class="">我是標題</div><div class="">我是內(nèi)容</div> </div> </body> </html>

    如果設(shè)置了 flex-direction: column,則 justify-content的水平居中 就變?yōu)榱舜怪狈较蛏系?#xff0c;align-items就變?yōu)榱怂椒较蛏狭?#xff0c;這點必須要注意

    方法二(讓flex的子元素水平垂直居中)

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title> </head> <style>.mycontainer{height: 200px;width: 200px;border: 1px solid red;display: flex;align-items: center; // 垂直居中,針對的是mycontainer類下面的子元素,不包含“孫子”元素justify-content: center; // 水平居中,針對的是mycontainer類下面的子元素,不包含“孫子”元素} </style> <body> <div class="mycontainer"><div><div class="">我是標題</div><div class="">我是內(nèi)容</div></div> </div> </body> </html>

    align-items是針對子元素的垂直方向?qū)R方式,justify-content是針對子元素的水平方向?qū)R方式

    總結(jié)

    以上是生活随笔為你收集整理的CSS flex样式垂直居中的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。