日常工作常用到居中,方法很多,在這裡梳理幾種常見方法
大致列表,主要有三類:
1.適用塊級元素水平居中
居中元素css: margin:0 auto
2.適用行內元素水平居中
父元素: text-align:center
3.需要已知居中元素的寬
居中元素::left:50%;margin-left: -(居中元素寬/2);
父元素:
position: relative
居中元素:
margin: auto;
position: absolute;
top: 0; left: 0; bottom: 0; right: 0;
overflow: auto;
講一講這個的原理,先把居中元素從文件流脫離所以設定了絕對位置,父元素設定相對位置就可以包裹絕對位置的居中元素,四個邊的絕對路徑為0,其實是為了重繪(讓瀏覽器重新計算四個邊)使居中元素的block充滿父元素的可用空間,這時候margin:auto就有效果,使之自適應居中,overflow自然是為了讓超出父元素自適應。
適用於自適應不知長寬的居中
父元素:
display: flex;
justify-content:center;
align-items:center;
display:flex是一種常用於移動端的布局,多欄多列布局。
這裡提供了兩個屬性可居中,需要相容多個瀏覽器寫字首,不知道的可自行學習。
父元素:
text-align:center;
display:table-cell;
vertical-align: middle
display:table-cell是一種**式布局,想深入了解可看看張鑫旭的部落格(css牛人)
居中元素:
width: xx; height: xx;
position: absolute;
top: 50%; left: 50%;
margin-top: -(高/2)px;
margin-left: -(寬/2)px;
需要知道居中元素的寬高
position: absolute;
top: 50%;
left: 50%;
transform:translate(-50%,-50%);
-webkit-transform:translate(-50%,-50%);
(1)
父元素:
display: table-cell;
vertical-align:middle;
text-align:center;
width:200px;
height:200px;
子元素:
vertical-align:middle;
max-width:100%;
max-height:100%;
width:auto;
height:auto;
(2)
居中元素:
position: relative;
max-height: 100%;
max-width: 100%;
width: auto;
height: auto;
top: 50%;
left: 50%;
-webkit-transform: translatex(-50%) translatey(-50%);
transform: translatex(-50%) translatey(-50%);
CSS常用居中方式
用絕對定位,使它的top left right bottom都為0就可以實現居中,水平居中和垂直居中均可實現 box 利用負的margin來進行居中,需要知道固定寬高,限制比較大。box box chl box ie9 以下不支援 box 將父元素轉換成 單元格顯示,然後使用垂直居中實現 box c...
css常用的居中方式
常用的居中方式 這種居中方式可以水平居中塊級元素中的行內元素inline,inline block text align center display inline block width 100px 居中 但是這個方法居中塊級元素中的塊級元素時,如果div中的div設定了自己的寬度,那麼只能居中,...
css常用的幾種居中方式
css常用的幾種居中方式,可以直接拿來用 1,position absolute定位 box 複製 2,position fixed box 複製 3,position fixed,margin auto box 複製 4,position absolute,margin auto box 複製 5...