您好,登錄后才能下訂單哦!
CSS中如何實現水平垂直居中,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
首先討論一下如何將一個元素進行水平居中。給定以下HTML代碼。
<div class='box'>水平居中</div>
通過css實現div的水平居中。
.box{width:300px;height: 300px;margin: 0 auto;}
首選設置box的寬度和高度,然后設置box外邊距margin就可以實現水平居中。實現的原理很簡單,利用了盒模型來解決這個問題。
box的盒模型水平布局由以下7個屬性相加組成。
margin-left
border-left
padding-left
width
padding-right
border-right
margin-right
假設瀏覽器的寬度是1080px,那么box的父元素的寬度也是1080px,box想在父元素容器里面實現水平居中,通過設置margin的左右邊距就可以實現。但瀏覽器的寬度不是固定的,要想動態實現水平居中,那么就不能固定設置margin的值。
通過margin:0 auto就可以自動設置左右邊距,其代表的意思是,上下外邊距為0,左右外邊距自動,auto就會自動折半給box設置外邊距。
<div class='box'></div>
/* 設置top,bottom,left,right都為0,margin為auto */.box{width:200px;height:200px;background-color:#bra;position:absolute;top:0;bottom:0;left:0;right:0;margin:auto;}
<div class='box'></div>
/* 設置margin向負方向移動,移動的距離是box寬高的一半 */.box{width:200px;height:200px;background-color:#bra;position:absolute;left:'50%',right:'50%',margin: -100px -100px;}
<div class='box'></div>
/* 通過translate來平移實現,相比于上面哪種方法,可以實現自適應 */.box{width:200px;height:200px;background-color:#bra;position:absolute;left:'50%';right:'50%';transform:translate('50%','50%')}
<div class='box'><div class='box1'></div></div>
/* flex布局法,設置水平和垂直居中 */.box{dispaly:flex;align-items:center;justify-content:center;height:1000px;}.box1{width:100px;height:100px;background-color:pink;}
看完上述內容,你們掌握CSS中如何實現水平垂直居中的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。