h5在Android里文字位置偏下,【CSS】如何解决安卓上按钮文字偏上的问题

比如一个普通的按钮,要做到文字垂直居中

按钮

css设置为:

a {

height: 30px;

line-height: 30px;

font-size: 14px;

text-align: center;

width: 70px;

vertical-align: middle;

}

在chrome上和ios上没有问题,但是在安卓上文字就会明显偏上,如图

a865e75c6053ac3b11d4208c4f6241c3.png

试过用table-cell或者line-height设为1,然后用padding来控制高度等方法,都不行,都是偏上的,这个问题怎么解决啊?

回答:

这么巧前段时间我也碰到了一样的问题,

解决方法:使用 flex 布局。

把父元素设为:

display: flex;

align-items: center;

justify-content: center;

使用 autoprefixer 加上前缀以后没有任何兼容性问题。

回答:

a元素是行内元素,得设置为块级元素,设置的height line-height才起作用

回答:

字体小于12px 就会偏上

回答:

使用flex布局,然后设置 line-height:normal; 就可以居中了。

回答:

f12调一下,把安卓的一些默认样式覆盖掉

回答:

这个,反正我是设置line-height和height一样,就会上下居中。不过,看你这个a好像也可以用button代替,button里面的文字自动上下左右居中

回答:

这是在特殊的浏览器才会出现这个问题吧,是line-height导致的,就用flex布局来替代

回答:

在安卓 7.0 使用sans-serif(无衬线) 字体可以解决,

其他版本没有试过