html - 如何创建始终为 16:9 的另一个 html 页面的预览
问题描述
我正在创建一个非常基本的网页编辑器,您可以在其中创建“幻灯片”,然后可以在其他地方显示。
所以为了做到这一点,我创建了以下页面:
左侧是预览,右侧是编辑器,您可以在其中设置段落的某些属性。基本上两者都是
float: left;
height: 100%;
width: 50%;
padding: 2%;
现在我希望预览始终保持 16:9 的比例,以便提供准确的预览
这是我当前的代码
<div class="leftItem">
<div class="leftArrow"></div>
<div class="preview">
<!-- Here is the text that gets edited -->
</div>
<div class="rightArrow"></div>
</div>
.leftItem {
height: 95%;
width: 50%;
float: left;
display: flex;
align-items: center;
justify-content: center;
}
.preview {
display: block;
width: 90%;
height: 40vh;
border-style: solid;
border-width: 1px;
-webkit-box-shadow: 2px 2px 5px 1px rgba(0,0,0,0.2);
-moz-box-shadow: 2px 2px 5px 1px rgba(0,0,0,0.2);
box-shadow: 2px 2px 5px 1px rgba(0,0,0,0.2);
}
解决方案
您可以通过将填充底部添加到要调整大小的框内的框来做到这一点。之后,您必须在单独的子项中添加内容并将其绝对定位,否则新大小的框会将所有内容推出。重要的是:
.preview:after {
display: block;
content: '';
padding-bottom: calc(100% / 16 * 9);
width: 100%;
}
它看起来像这样:
.preview:after {
display: block;
content: '';
padding-bottom: calc(100% / 16 * 9);
width: 100%;
}
.preview .content {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
}
.leftItem {
height: 95%;
width: 50%;
float: left;
display: flex;
align-items: center;
justify-content: center;
}
.preview {
position: relative;
display: block;
width: 90%;
border-style: solid;
border-width: 1px;
-webkit-box-shadow: 2px 2px 5px 1px rgba(0,0,0,0.2);
-moz-box-shadow: 2px 2px 5px 1px rgba(0,0,0,0.2);
box-shadow: 2px 2px 5px 1px rgba(0,0,0,0.2);
}
<div class="leftItem">
<div class="leftArrow"></div>
<div class="preview">
<div class="content">
<!-- Here is the text that gets edited -->
</div>
</div>
<div class="rightArrow"></div>
</div>
推荐阅读
- nginx - Nginx 正则表达式所有路径都期望
- node.js - 将查询结果传递给外部变量
- javascript - React 中的 getSnapshotBeforeUpdate() 是什么?
- machine-learning - 基于另一个数据集的基于一个数据集的排序的机器学习算法
- jquery - 为什么我的 jQuery .css() 代码没有应用样式?
- javascript - Jquery FormData可以附加数组上传到网络核心吗?
- swift - “AnyClass”(又名“AnyObject.Type”)类型的值没有成员“...”
- regexp-replace - REGEXP_REPLACE 和 REGEXP_EXTRACT
- haskell - 识字的haskell - 应用程序中的类型错误
- ios - 从 UICollectionViewController 获取 indexPath 到 UICollectionViewCell 子类