如何使html内容比例固定,css如何实现一个元素高度固定宽度按比例显示?

用padding-top百分比可以实现宽度固定高度按比例展示,现在的需求是对一个video视频的盒子div高度是固定的,宽度如何按比例展示?

解决后效果如图:

65da96a674154d11ceab3a39ceefbb8f.png

红框标注的即是我在上面高度比例固定的范围内宽度自适应的效果;

css代码:

.content {

margin: 0 auto;

height: 79vh;

.video_box {

position: relative;

height: 100%;

overflow: hidden;

margin: 0 auto;

width: 79vh*1.778;

max-width: 100vw;

.ad_pic {

display: none;

position: absolute;

top: 0;

left: 0;

width: 100%;

height: 100%;

background: url(6.jpg) no-repeat center;

background-size: 100% 100%;

img {

width: 100%;

height: 100%;

}

.btn_play {

display: inline-block;

.width(50);

.height(50);

position: absolute;;

left: 50%;

top: 50%;

.margin-left(-25);

.margin-top(-25);

background: url(../../public/img/icon_play.png) no-repeat center;

background-size: 100% 100%;

}

}

iframe, object, embed, video {

position: absolute;

top: 0;

left: 0;

width: 100%;

height: 100%;

}

.video_card {

position: absolute;

top: 0;

left: 0;

width: 2px;

height: 1px;

}

}

}

html:

autobuffer

src="a.mp4"

autoplay

preload

controls=""

loop

poster="6.jpg"

webkit-playsinline="true"

playsinline="true"

x-webkit-airplay="allow"

x5-playsinline

x5-video-player-type="h5"

x5-video-player-fullscreen="true"

x5-video-orientation="portrait"

>

由于视频是有宽高比的,这里给视频的高度直接是外面盒子的高度*比例,就等于视频的宽,为了防止视频过宽超出屏幕,这里加一个max-width:100vw;限制一下,然后通过margin:0 auto;居中显示,成功解决!

CSS实现高度随着宽度按照一定比例变化,通常利用 `height` 属性以及 `width` 或者其他尺寸属性的关系。为了保持元素的比例不变,可以使用 `aspect-ratio` CSS 属性或者传统的数学计算来设定。 ### 使用 `aspect-ratio` HTMLCSS 的 `aspect-ratio` 属性提供了一个方便的方式来设置或保持元素的宽高比。这意味着你可以通过指定一个数值(例如 "4 / 3" 表示 4 部分宽对 3 部分高),然后让浏览器自动调整宽度高度以匹配这个比率。这对于图片、视频或其他需要维持固定比例内容非常有用。 **例子:** ```html <div class="image-container"> </div> ``` ```css .image-container { width: 100%; /* 自适应容器宽度 */ height: auto; /* 让高度自动调整以维持比例 */ aspect-ratio: 4 / 3; /* 宽高比为 4 : 3 */ } ``` ### 手动计算 如果你想完全控制高度宽度比例,并手动设置它们,可以使用简单的数学公式。假设你需要的是宽度高度以一定的比率增长: 假设你有如下 HTML 结构: ```html <div class="proportional-element"> </div> ``` 并且你想将元素的宽度设置为 50%,那么其高度应该是其宽度的 $\frac{height}{width}$,如果宽度是 50%,则高度应该是 33.3% 来保持 4:3 的比率。 **CSS 示例:** ```css .proportional-element { position: relative; width: 50%; } .proportional-element::before { content: ""; display: block; padding-top: calc(75%); /* 这里的值等于原宽度乘以高度比例,这里是 33.3%,所以是 50% * 66.6% */ } ``` 在这个例子中,我们通过伪元素 `::before` 创建了内边距(padding)来模拟高度,而实际上并没有真正的增加高度空间,只是改变了可视区域的大小来保持比例。 ### 相关问题: 1. 如何在 CSS 中使用 `aspect-ratio` 设置图像比例? 2. 在实际项目中如何优化和应用 CSS 高度宽度比例调整技巧? 3. 当使用动态内容改变元素宽度时,如何保证其高度也能够按照预设比例调整而不失真?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值