首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有固定和动态宽度和垂直中心图像的Divs

具有固定和动态宽度和垂直中心图像的Divs
EN

Stack Overflow用户
提问于 2015-10-12 16:38:12
回答 2查看 35关注 0票数 0

我有以下HTML

代码语言:javascript
复制
<div class="parent">
    <div class="left-colum">Some paragraphs of text</div>
    <div class="right-column"><img src="image.jpg"></div>
</div>

右列有图像的宽度,但是由于它持有不同大小的图像,所以它的宽度是未知的。我想要左列采取任何需要,但最大宽度为150 max。我也希望图片在右边的列垂直居中。

最后,它应该看起来像下面的例子,但我有一个困难的时间把这一点。我该怎么做?

编辑:我有下面的CSS,但是右边的列不是100%的高度,所以我还不能开始对图像进行垂直居中:

代码语言:javascript
复制
.parent{
    position: relative;
    height: 100%;
}
.left-colum{
    float: left;
    max-width: 150px;
}
.right-column{
    float: right;
    height: 100%;
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-12 17:20:02

您可以使用嵌套的flexbox --参见注释--内联。

代码语言:javascript
复制
body {
    margin: 0;
}
.parent {
    display: flex;
    height: 100vh; /*viewport height*/
}
.left-column {
    background: pink;
    max-width: 150px;
}
.right-column {
    background: gold;
    flex: 1; /*expand*/
    display: flex;
    justify-content: center; /*center x*/
    align-items: center; /*center y*/
}
代码语言:javascript
复制
<div class="parent">
    <div class="left-column">Some paragraphs of text</div>
    <div class="right-column">
        <img src="//dummyimage.com/100">
    </div>
</div>

票数 2
EN

Stack Overflow用户

发布于 2015-10-12 16:44:55

在列上使用flex,并将display:flex; align-items:center; justify-content: center设置为右侧div,将max-width: 150px;设置为左侧div。也要注意浏览器的供应商前缀,以便正确使用flex属性。

代码语言:javascript
复制
.parent {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.left-column {
     max-width: 150px;
    display: flex;
}
.right-column {
    display: flex;
    justify-content: center;
    align-items: center;
    display:center;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33086095

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档