javascript - 如何通过 parent 高度获得纵横比?

标签 javascript html css

我想通过父级高度控制纵横比。

我在 stackoverflow 和 codepen 中搜索的每个示例都是宽高比按宽度大小的示例。

在我的示例中,我有两个 div。高度由 wrap div 控制。所以在第一个 div 中有一个 div 应该以 16:9 的纵横比显示。

这意味着如果高度为 200px,则宽度应为 355px (200*(16/9))。

请记住高度可以改变,因为我使用 vh

如何使用 css 做到这一点?

Here is my example code in codepen

.wrap { display:grid;grid-template-columns:1fr;grid-template-rows:30vh 70vh; }

.item { border:1px solid red; }

.aspect-ratio { background:blue; height: 100%; }
<div class="wrap">
 <div class="item">
   
   <div class="aspect-ratio">aspect ratio should be 16:9</div>
   
  </div>
 <div class="item"></div>
</div>

最佳答案

你可以使用 css calc();

.wrap { display:grid;grid-template-columns:1fr;grid-template-rows:30vh 70vh; }

.item { border:1px solid red; }

.aspect-ratio { background:blue; height: 100%; width: calc(30vh * 16 / 9); }
<div class="wrap">
 <div class="item">
   
   <div class="aspect-ratio">aspect ratio should be 16:9</div>
   
  </div>
 <div class="item"></div>
</div>

关于javascript - 如何通过 parent 高度获得纵横比?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58475935/

相关文章:

html - 如何在 rails 中添加多个图标

html - 如何使用 vala(gtk) 从 Web 获取 html 代码?

javascript - 拦截 Famo.us 中的链接点击

javascript - 位置 : fixed not working after button click

javascript - HTML5 音频错误

html - CSS显示水平滚动条?

javascript - 使元素在溢出 div 中可见

html - CSS 不在 index.html 上呈现

css - 无法让背景图片正常显示

javascript - 使固定的 div 保持水平固定