垂直对齐图像和文本 table

Vertical align image and text in table

我在这里找到了一些文章和一些主题,但 none 正是我要找的东西,我尝试修改它们但没有按我想要的方式工作。

我有 1 行 2 列的 table。第一列有一个 class 和图像 - url(数据)。另一列只有文本,我想将它们都垂直对齐到中间。

Html:

<div id="more-time2" class="very-small-text-size more-time " index="2" mode="Available" onclick="toggle(this.getAttribute('index'), this.getAttribute('mode'))">
    <table>
        <tr>
            <td id="arr-icon2" class="accordion_down"> </td>
            <td id="more-time-text2" class="more-time-button" index="2">more time</td>
        </tr>
    </table>
</div>

Css:

body
{
  direction:rtl;
}
.more-time {
        display: table;
        width: 100%;
        color: dodgerblue
    }

    td.accordion_down {
        background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAUCAYAAACaq43EAAAABHNCSVQICAgIfAhkiAAAAaVJREFUSIm91c9KG1EUx/HvuRGzKVl2NxRnLD6DD1BoH2AOgWz6RxroypXgqiB0W+hGQSYiLoRm3FfotlAo3RUEF9USyEoQDIJlbDxdjC1VJ5mZNMnZzb3n3s/cxY8jS+0fc/DrEVOsKySZOeNBt8bRU8EWpwU7rOlilaQCdcNOpoEabEc6v+kANjXoCJWGQX/C6Lce1VcA7s9ipP5HkLUJumdGJYzVu7gBA/Tw3xiyPxnXLW3p3OHfr3+3YpU+zDaAzjhJQ95G6u/d+I3bTS31Tg0XGiTjQfnUw1+9vX4HTnH/C8jy/6N2ckm1HqvceUQmnOLBhsHu6Ch9odLYUa+btT8QBqhSaxp2MKL9Ok1Kdkne6eft4wVH/ytwr6hoyH5LgyfDeoa+GCCNgHtWFAU618kYWrkwQKT+nsG7vD6DxHBhS73TscAAPYIVQz4P75LlNBH5VRiOVZJLZsNBw8Rgt6XBRtH7CsMAO+p1s4aJYQdVas0yd5WCIXOYnF9BuK73z8vckxunQfWi/f2DYI+BeqTz78uenxkVTiPz82WkD0ujAL8B/TCG0encSKQAAAAASUVORK5CYII=');
        width: 12%;
        background-repeat: no-repeat;
        background-size: contain;
        display: table-cell;
        vertical-align: middle;
    }

    td.more-time-button {
        display: table-cell;
        vertical-align: middle;
        padding-right: 4%;
        width: 100%;
        padding: 0.25% 0;
    }

也在 JsFiddle 中添加了代码。

如何垂直对齐 table 中的数据?

您的图片是背景图片,因此您需要使用 background-position: center;

来定位它

这是一个handy article on CSS backgrounds

对于背景,您应该使用带有两个可选参数(xpos 和 ypos)的背景位置

backgroun-position:center center;

这是 JSFiddle link 查看

https://jsfiddle.net/amarmagar17/96rfgxmg/#&togetherjs=rLv9IUPm0G