1.我們可以通過給該元素的父級設定margin: 0 auto的方式來實現。
html:
class="parent">
class="child">
center
div>
div>
css:
.child
此時檢查元素即可即可實現內層的div實現了居中,這種方式是最為我們熟知的,其缺點是需要設定子元素的寬度。
2.通過position定位
html:
centerli>
ul>
div>
css:
div
ul
1.給子元素設定display: inline-black,父元素設定text-align: center。
html:
center
css:
div
p
2.當元素被設定float的時候,它的寬度就會被其內容撐開,然後通過positon定位來實現橫向居中。
html:
centerli>
ul>
div>
css:
div
ul li
3.flex布局, justify-content:center;主軸居中。align-items:center;交叉軸居中;當設定了flex-direction屬性時,主軸的方向會改變。
4.css width: fit-content屬性。
5.用css3的transform
html:
class="test">
center
p>
div>
css:
div
.test
總結一下起來也就是兩種方式,其中有比較直接的方式比如,margin: 0 auto,雖然這種方式的相容性很好,沒有***,但是這種方式最主要的缺陷是只適用於子元素寬度固定的情況。或者用css3的固有屬性flex布局或者 width: fix-content這種方式實現起來簡單直接,但在處理一些舊版本的瀏覽器時,存在很嚴重的相容性問題。還有就是間接的實現方式通過position定位,具體思想主要是子元素先移動到父元素二分之一的位置,relative,或者absoulte都可以實現,然後在將子元素向左移動自身二分之一的位置,這種方式有廣泛的適用性,但是思路可能比較複雜。
1.用css3的transform屬性,以及postion定位,與上面的水平居中類似,只是改為top:50%,translatey(-50%)即可。
2.設定父元素display: table;子元素dispaly: table-cell,vertical-align: middle;
3.絕對定位
html:
class="parent">
class="child">
nnnnnnn
div>
div>
css:
.parent
.child
4.單行文字時可以設定height與line-height相同實現文字居中。
5.外邊距margin取負數,大小為width/height的一半,再加上top: 50%; left: 50%;
css 居中總結
1.定寬塊狀元素 水平居中 divstyle 2.不定寬塊狀元素 水平居中 wrap class wrap 設定我所在的div容器水平居中 div 2.display inline textalign center 它將塊狀元素的 display 型別改為 inline,變成了行內元素,所以少了一些...
css居中總結
給父元素設定 text align center 但對浮動元素,絕對定位元素無效設定margin 0 auto 將塊級元素display設定為inline,然後使用text align center 給父元素設定float,position relative,left 50 子元素設定positio...
CSS居中總結
在父元素上設定 單個元素 這裡利用了table標籤的寬度自適應性,即寬度由文字長度決定。原元素經過轉換後變成了寬度固定的元素。2.將該元素的display屬性設定為inline,同時在其父元素上設定text align屬性為center。parent child 這也很好理解,將元素轉換為行內元素,...