您好,登錄后才能下訂單哦!
css里上下居中如何實現?這個問題可能是我們日常學習或工作經常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家帶來的參考內容,讓我們一起來看看吧!
css里上下居中也就是垂直居中,css中按元素可以分為三種垂直居中方式,分別是單行的行內元素,多行的行內元素以及塊元素的垂直居中。。
單行的行內元素
只需要設置單行行內元素的"行高等于盒子的高"即可;
<style> #father { width: 500px; height: 300px; background-color: skyblue; } #son { background-color: green; height: 300px; } </style> <div id="father"> <span id="son">我是單行的行內元素</span> </div>
效果:
多行的行內元素
使用給父元素設置display:table-cell;和vertical-align: middle;即可;
<style> #father { width: 500px; height: 300px; background-color: skyblue; display: table-cell; vertical-align:middle; } #son { background-color: green; } </style> <div id="father">
<span id="son">我是多行的行內元素我是多行的行內元素我是多行的行內元素我是多行的行內元素我是多行的行內元素我是多行的行內元素我是多行的行內元素我是多行的行內元素</span>
</div>
效果:
塊級元素
方案一:使用定位
首先設置父元素為相對定位,再設置子元素為絕對定位,設置子元素的top: 50%,即讓子元素的左上角垂直居中;
定高度:設置絕對子元素的 margin-top: -元素高度的一半px; 或者設置transform: translateY(-50%);
<style> #father { width: 500px; height: 300px; background-color: skyblue; position: relative; } #son { height: 100px; background-color: green; position: absolute; top: 50%; margin-top: -50px; } </style> <div id="father"> <div id="son">我是塊級元素</div> </div>
不定高度:利用css3新增屬性transform: translateY(-50%);
<style> #father { width: 500px; height: 300px; background-color: skyblue; position: relative; } #son { width: 100px; background-color: green; position: absolute; left: 50%; transform: translateY(-50%); } </style> <div id="father"> <div id="son">我是塊級元素</div> </div>
效果:
方案二:使用flexbox布局實現(高度定不定都可以)
使用flexbox布局,只需要給待處理的塊狀元素的父元素添加屬性 display: flex; align-items: center;
<style> #father { width: 500px; height: 300px; background-color: skyblue; display: flex; align-items: center; } #son { width: 100px; height: 100px; background-color: green; } </style> <div id="father"> <div id="son">我是塊級元素</div> </div>
效果:
感謝各位的閱讀!看完上述內容,你們對css里上下居中如何實現大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。