純CSS3有什麼實現垂直居中的新方法嗎?
01-05
Flexbox.
CSS3垂直居中很簡單,如下:
.item{
top: 50%;
position: absolute;
transform: translateY(-50%); /* 這裡我們使用css3的transform來達到類似效果 */
}
具體說明和講解,請參看這個CSS居中完整手冊:網頁元素CSS居中實現完整攻略 極客標籤
對於 css3 的布局已經進化了很多了,在垂直布局方面,flex 已經很牛逼了。display:flex,具體的用法請看w3c文檔:CSS Flexible Box Layout Module
Demo:跨瀏覽器的 CSS flex by 一絲parentElement{
display:flex;/*Flex布局*/
display: -webkit-flex; /* For Safari */
align-items:center;/*指定其下的Flex Item垂直居中*/
}
#divWrap{
position:relative/absolute;}#divInner{
position:absolute; top:50%; height:200px; margin-top:-100px;}
如上方法也可以,並適用於垂直方向上的任意位置。(注: margin 設置成百分比,只有 Chrome 不是反人類,雖然不太符合標準)
至於文字,設置 line-height 即可。# 垂直居中
1. 定位布局
**利用`relative`和`absolute`進行布局** ###style2.css3屬性transform和定位進行布局
## 3.table table-cell布局
4.flex布局前端垂直居中
有,用flexbox局部組件,不得不無恥的推薦下自己的粗糙翻譯。Tab的前端路當然還有Centering in CSS: A Complete Guide
推薦閱讀:
※在 CSS 中,用 float 和 position 的區別是什麼?
※html移動端頁面、圖片多少寬度最合適?
※目前有哪些製作 Material Design 風格網頁的庫?
※如何看待web開發前端框架QUICK UI?