84669 personnes étudient
152542 personnes étudient
20005 personnes étudient
5487 personnes étudient
7821 personnes étudient
359900 personnes étudient
3350 personnes étudient
180660 personnes étudient
48569 personnes étudient
18603 personnes étudient
40936 personnes étudient
1549 personnes étudient
1183 personnes étudient
32909 personnes étudient
闭关修行中......
目前比较有效的解决方法就是transform,放大一倍再缩小一半,但是写起来繁琐而且影响布局。我也想知道有没有什么既好又方便的方法
今天这个问题也纠结了研究了一个下午,安卓机下表现异常,PC、苹果机表现良好,如果一般情况,用margin偏移量来对齐,极端情况还是transform绝对定位居中比较靠谱。
你可以试试vertical-align,另外,没有代码别人不好回答,你可以用codepen做在线demo,方便回答者
用flex布局,几句代码就搞定垂直居中了。教程搜一下就有了
1.表格方法:
实现方法:表格内容本来就是垂直居中的,可以通过模拟表格处理。
<p class="box_center"> <p class="inner"></p> </p> .box_center { display: table-cell; width: 300px; height: 300px; text-align: center; vertical-align: middle; } .box_center .inner { display: inline-block; }
2.vertical-align: middle实现方法:利用空元素占位实现
<p class="box_center"> <p class="placeholder"></p> <p class="inner"></p> </p> .box_center { width: 300px; height: 300px; text-align: center; } .box_center .inner { display: inline-block; } .box_center .placeholder { display: inline-block; width: 0; height: 100%; vertical-align: middle; }
3.绝对定位
.box_center { width: 300px; height: 300px; background: #ccc; position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; }
4.使用 transform 实现
.box_center { position: absolute; width: 300px; height: 300px; background: #ccc; left: 50%; top: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }
兼容性:Android2.3 系统浏览器不支持容器直接使用 fixed 进行定位,外加 fixed 容器可解决。
结论:
推荐transform 实现
display:-webkit-flex; justify-content:center; align-items:center; width:100px; height:28px;
你的line-height改30px试试
line-height和vertical-align一起使用才更配哦
模拟器模拟出来的是垂直居中的没错,但是在实际手机中,苹果手机渲染出来是垂直居中的,安卓手机渲染出来就是会偏上一些,兼容的方法就是不要设置height,line-height设置为1,用padding值上下相等来保持垂直居中。
像素密度问题,比如你是20px的高,行高也是20px,如果像素密度是偶数,也没问题,如果是奇数,就有问题了,所以一般最好高度和字体大小设置匹配,比如文字14px,高度也用偶数,文字15px,高度用奇数
目前比较有效的解决方法就是transform,放大一倍再缩小一半,但是写起来繁琐而且影响布局。我也想知道有没有什么既好又方便的方法
今天这个问题也纠结了研究了一个下午,安卓机下表现异常,PC、苹果机表现良好,如果一般情况,用margin偏移量来对齐,极端情况还是transform绝对定位居中比较靠谱。
你可以试试vertical-align,另外,没有代码别人不好回答,你可以用codepen做在线demo,方便回答者
用flex布局,几句代码就搞定垂直居中了。教程搜一下就有了
1.表格方法:
实现方法:表格内容本来就是垂直居中的,可以通过模拟表格处理。
2.vertical-align: middle
实现方法:利用空元素占位实现
3.绝对定位
4.使用 transform 实现
兼容性:Android2.3 系统浏览器不支持容器直接使用 fixed 进行定位,外加 fixed 容器可解决。
结论:
推荐transform 实现
你的line-height改30px试试
line-height和vertical-align一起使用才更配哦
模拟器模拟出来的是垂直居中的没错,但是在实际手机中,苹果手机渲染出来是垂直居中的,安卓手机渲染出来就是会偏上一些,兼容的方法就是不要设置height,line-height设置为1,用padding值上下相等来保持垂直居中。
像素密度问题,比如你是20px的高,行高也是20px,如果像素密度是偶数,也没问题,如果是奇数,就有问题了,所以一般最好高度和字体大小设置匹配,比如文字14px,高度也用偶数,文字15px,高度用奇数