Heim  >  Fragen und Antworten  >  Hauptteil

前端 - css如何实现图标和文字的“绝对对齐”呢?

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

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

虽然我通过设置

vertical-align: -3%;

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

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

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

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

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

黄舟黄舟2741 Tage vor4654

Antworte allen(22)Ich werde antworten

  • PHPz

    PHPz2017-04-17 14:20:50

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

    Antwort
    0
  • PHP中文网

    PHP中文网2017-04-17 14:20:50

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

    Antwort
    0
  • 迷茫

    迷茫2017-04-17 14:20:50

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

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

    Antwort
    0
  • 黄舟

    黄舟2017-04-17 14:20:50

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

    Antwort
    0
  • 怪我咯

    怪我咯2017-04-17 14:20:50

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

    Antwort
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 14:20:50

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

    Antwort
    0
  • 迷茫

    迷茫2017-04-17 14:20:50

    <p class="box">

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

    </p>

    i,span{

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

    }

    Antwort
    0
  • ringa_lee

    ringa_lee2017-04-17 14:20:50

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

    Antwort
    0
  • 高洛峰

    高洛峰2017-04-17 14:20:50

    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-box-pack: center;

    Antwort
    0
  • 天蓬老师

    天蓬老师2017-04-17 14:20:50

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

    Antwort
    0
  • StornierenAntwort