前端 - css如何实现图标和文字的“绝对对齐”呢?
黄舟
黄舟 2017-04-17 14:18:50
0
22
4752

前端实现图标和文字对齐有什么解决方法?我的“绝对对齐”的意思是不管是安卓设备和ios设备看着都是对齐的,最好也能实现pc上的对齐。

demo:https://jsfiddle.net/nzfbzxw6/

虽然我通过设置

vertical-align: -3%;

实现的对齐(在chrome上看着好好的),如果我要在手机设备上安卓,就要是另一个数值。
ios可能又要设个数值(而且不同的苹果机型也不一样)。

对这种问题有什么更好的解决方法吗?

-------------------------- 一个调皮的分割线 ----------------------------------------

各位前辈的方法我都试了一下,发现在安卓手机上都不好使,图片居中是没有问题的,但是文字(尤其是小于12px下的)却无法居中,这可能是安卓手机bug吧...

(第一个box盒子,第二个display:inline-block,第三个background center)

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

Antworte allen(22)
PHPzhong

元素和元素之间不要出现空格。需要实现距离用margin。

洪涛

只是针对你这个问题的话,可以去掉 <img src="http://s1.mi.com/m/images/20151028/top-x.png">,直接用字符串×或者&times;代替。

迷茫

前边的回答已经说了,需要设置为inline-block,
具体的原理推荐张鑫旭的
CSS深入理解之vertical-align

http://www.imooc.com/learn/542

黄舟

一般都用背景和定位的方法。vertical-align不好控制,和字体也有关系。

刘奇

举个例子,四条属性,在文字中插入图标可以用这个办法

伊谢尔伦

inline-block的元素对齐都比较麻烦。所以如果条件允许,我会选择用flex居中。

迷茫

<p class="box">

<i></i>
<span>测试</span>
<span>普通门票</span>

</p>

i,span{

display:inline-block;
vertical-align: middle;

}

左手右手慢动作

使用一个p将图片与文字包裹起来,在p里对齐了就行

小葫芦
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-pack: center;
Peter_Zhu

有的时候非常恶心的偏移了1px,然后就手动margin:-1px之类的调整,还有我怎么感觉文字或者inline的元素,总会有一点点莫名其妙的padding存在

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage