关于响应式的改变HTML元素高度(元素宽高绑定、保持宽高比)

您所在的位置:网站首页 高比和高比克是一样的吗图片 关于响应式的改变HTML元素高度(元素宽高绑定、保持宽高比)

关于响应式的改变HTML元素高度(元素宽高绑定、保持宽高比)

2024-06-28 08:47| 来源: 网络整理| 查看: 265

使用百分比高度时的问题

在响应式布局中,往往会设置元素的百分比宽度,以适应视口大小的变化。在很多时候我们希望元素的宽高比不变,如果还是简单的将height写成百分比形式,往往渲染出来的结果是无论我们怎么改变窗口大小,height始终是min-height的值(看不见元素也是这个原因)。

原因

我们知道百分比高度和宽度的计算都是基于父元素高度的。我们溯源到最顶的父元素——html,它的宽度是基于视口宽度的,但是它的高度却是基于内容的,这也就是为什么想通过百分比高度来使高度也响应式改变往往不可行的原因。

方法一:使用padding

主要原理是padding的计算是基于父元素宽度的,我们以保持空div的height=width为例,可以像这样写:

div { width: 60%; height: 0%; padding-top: 60%; }

当然如果用这种方式,你还得必须考虑内容所占的高度,所以一般不推荐这样写。

方法二:使用js

只要原理是在onresize事件中,通过clientWidth属性获取元素的可视宽度,并将其赋值给元素的height。有以下几种写法:

在body中:


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3