Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 需要帮助垂直居中两个元素吗_Css_Vertical Alignment - Fatal编程技术网

Css 需要帮助垂直居中两个元素吗

Css 需要帮助垂直居中两个元素吗,css,vertical-alignment,Css,Vertical Alignment,我需要垂直居中两个元素(一个div和一个标签)。我已经到处搜索,并尝试使用各种修复方法(相对/绝对定位、显示:表格等),但我仍然无法按照我需要的方式使用它 关键在于标签中的图像不是固定高度。最大值为200x200,但可能会小于该值。输入按钮的大小约为16x16 我可以对HTML的结构做一些细微的更改,但因为它不是我的代码,所以我不能用它做很多事情。谢谢 下面是代码的精简版本: <ul> <li> <div> <input type

我需要垂直居中两个元素(一个div和一个标签)。我已经到处搜索,并尝试使用各种修复方法(相对/绝对定位、显示:表格等),但我仍然无法按照我需要的方式使用它

关键在于标签中的图像不是固定高度。最大值为200x200,但可能会小于该值。输入按钮的大小约为16x16

我可以对HTML的结构做一些细微的更改,但因为它不是我的代码,所以我不能用它做很多事情。谢谢

下面是代码的精简版本:

<ul>
<li>
    <div>
        <input type="radio">
    </div>
    <label>
        <img>
    </label>
</li>
<li>
    <div>
        <input type="radio">
    </div>
    <label>
        <img>
    </label>
</li>
<li>
    <div>
        <input type="radio">
    </div>
    <label>
        <img>
    </label>
</li>
<li>
    <div>
        <input type="radio">
    </div>
    <label>
        <img>
    </label>
</li>
</ul>
li{宽度:100%;}
li div{width:100%;float:left;}
li标签{float:left}

这个怎么样?

这应该有帮助:

img {
    vertical-align: middle;
    margin-bottom: .25em;
}
“边距底部”是为了补偿这样一个事实,即div的基线将与图像的中间对齐