html - CSS垂直对齐仅在给定跨度时才起作用

标签 html css

a {
    display: block;
    padding: 0 10px;
    /* background: rgba(0,0,0,0.5); */
    height: 100%;
    border-left: 1px solid rgba(0,0,0,0.1);
    text-decoration: none;
    color: white;
    background-color:rgba(0,0,0,0.5);
    height:100px;
}

img {
    max-height: 72px;
    max-width: 598;
    margin: 0;
    padding: 0;
        vertical-align: middle;
            width: 40px;
    height: 40px;
        border-radius: 50%;

}

.img_frame {
    display: inline-block;
    vertical-align: middle;
    height: 100%;
        background-color: black;

}
<a href="">
  <span class="img_frame"></span>
  <img class="size-40X40 img-round" src="https://yt3.ggpht.com/-zvxnrUIYjg8/AAAAAAAAAAI/AAAAAAAAAAA/vnVVaPAvxOE/s900-c-k-no-mo-rj-c0xffffff/photo.jpg">  
</a>

如果我删除 span 标签,图像不会居中,如果我用 p 标签等任何其他标签替换 span,也会出现同样的问题。 .

请解释一下这些属性...提前致谢

最佳答案

vertical-align on inline/inline-block 元素、图像、文本...将元素对齐在一起,而不是与父元素对齐。,
您可以使用flexbox 为此,请检查下面更新的代码片段..

a{
    display: block;
    padding: 0 10px;
    /* background: rgba(0,0,0,0.5); */
    height: 100%;
    border-left: 1px solid rgba(0,0,0,0.1);
    text-decoration: none;
    color: white;
    background-color:rgba(0,0,0,0.5);
    height:100px;
    display: flex;
    align-items: center;
}
img{
    max-height: 72px;
    max-width: 598;
    margin: 0;
    padding: 0;
        vertical-align: middle;
            width: 40px;
    height: 40px;
        border-radius: 50%;

}

.img_frame {
    display: inline-block;
    vertical-align: middle;
    height: 100%;
        background-color: black;

}
<a href="">
  
  <img class="size-40X40 img-round" src="https://yt3.ggpht.com/-zvxnrUIYjg8/AAAAAAAAAAI/AAAAAAAAAAA/vnVVaPAvxOE/s900-c-k-no-mo-rj-c0xffffff/photo.jpg">  
</a>

关于html - CSS垂直对齐仅在给定跨度时才起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44174519/

相关文章:

html - 为什么图像被压低

html - 如何使用位置 :relative 在 html 中绘制垂直线

html - 输入偏移光标上的 IE8 阴影过滤器

javascript - 获取 PHP 变量中的 Javascript 变量值

javascript - Sage Pay 立即购买按钮 - 基于表单的集成 - 使用 HTML 和 Javascript

javascript - 如何更新特定输入字段的值而不是 td 第一个子字段的值?

css - 下拉检查列表将 Div 向下推而不是重叠

html - 基本问卷输入如何设置左侧问题和右侧 radio 的样式

javascript - 选择选项后删除选择占位符

javascript - window.parent.postMessage 不适用于 scr ="' 数据 :text/html;charset=utf-8"in iframe