前端实现图标和文字对齐有什么解决方法?我的“绝对对齐”的意思是不管是安卓设备和ios设备看着都是对齐的,最好也能实现pc上的对齐。
demo:https://jsfiddle.net/nzfbzxw6/
虽然我通过设置
vertical-align: -3%;
实现的对齐(在chrome上看着好好的),如果我要在手机设备上安卓,就要是另一个数值。
ios可能又要设个数值(而且不同的苹果机型也不一样)。
对这种问题有什么更好的解决方法吗?
-------------------------- 一个调皮的分割线 ----------------------------------------
各位前辈的方法我都试了一下,发现在安卓手机上都不好使,图片居中是没有问题的,但是文字(尤其是小于12px下的)却无法居中,这可能是安卓手机bug吧...
(第一个box盒子,第二个display:inline-block,第三个background center)
元素和元素之间不要出现空格。需要实现距离用margin。
只是针对你这个问题的话,可以去掉
<img src="http://s1.mi.com/m/images/20151028/top-x.png">
,直接用字符串×
或者×
代替。前边的回答已经说了,需要设置为inline-block,
具体的原理推荐张鑫旭的
CSS深入理解之vertical-align
http://www.imooc.com/learn/542
一般都用背景和定位的方法。vertical-align不好控制,和字体也有关系。
举个例子,四条属性,在文字中插入图标可以用这个办法
inline-block的元素对齐都比较麻烦。所以如果条件允许,我会选择用flex居中。
<p class="box">
</p>
i,span{
}
使用一个p将图片与文字包裹起来,在p里对齐了就行
有的时候非常恶心的偏移了
1px
,然后就手动margin:-1px
之类的调整,还有我怎么感觉文字或者inline
的元素,总会有一点点莫名其妙的padding
存在