html - 在 flex parent 中保持纵横比

标签 html css flexbox aspect-ratio

我知道有很多话题都在讨论宽高比,但我找不到适合我的问题的答案。

这是我的问题:

我想在高度为 100% 的 flex 父级中有一个具有完美方形纵横比的 div。

这是我的实际 HTML:

<article class="article">
     <header class="article-header">
          <div class="article-header__user">
               <div class="article-header__user-color"></div>
               <p class="article-header__user-name">Damiano Mondaini</p>
          </div>
          <div class="article-header__more">
               <a href="#" class="article-header__more-share-link">
                    <i class="article-header__more-share-icon">S</i>
               </a>
          </div>
     </header>
</article>

这是我的实际 CSS:

.article {
    border-radius: 15px;
    border: 1px solid #134B5F;
}

.article-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
}

.article-header__user {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.article-header__user-color {
    background: red;
}

注意:

  • <div class="article-header__user">是灵活的 parent
  • <div class="article-header__user-color">是应该是正方形的div
  • 我不想使用 JS

提前致谢

最佳答案

这样试试

HTML

<article class="article">
     <header class="article-header">
          <div class="article-header__user">
               <div class="article-header__user-color">
               <p class="article-header__user-name">Damiano Mondaini</p>
          </div>
          <div class="article-header__more">
               <a href="#" class="article-header__more-share-link">
                    <i class="article-header__more-share-icon">S</i>
               </a>
          </div>
          </div>
     </header>
</article>

CSS

.article {
    border-radius: 15px;
    border: 1px solid #134B5F;
}

.article-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
}

.article-header__user {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.article-header__user-color {
    background: red;
}

关于html - 在 flex parent 中保持纵横比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58951729/

相关文章:

html - div 中的图像影响表格中的行

css - 除内容外的 div 背景拉伸(stretch)

python - 使用 Selenium 选择具有更改值的单选按钮

javascript - CSS - 如何将我的小模板帖子并排显示

html - 对齐 flex 盒几乎没有帮助

javascript - 对话聊天无法提交

javascript - 文本阻碍文本区域

javascript - 展开表格行以显示更多数据

javascript - 仅使用页面滚动条滚动 div 的左侧

css - 防止子 div 扩展 flexbox div