博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何使用纯CSS实现固定宽高比div?
阅读量:5842 次
发布时间:2019-06-18

本文共 695 字,大约阅读时间需要 2 分钟。

在很多场景下,我们都需要一个固定长宽比的div作为容器。直接使用js动态设置固然可行,但在页面大小变化时就不得不通过触发onresize事件来动态设置,十分不便。此文旨在于探讨使用纯CSS实现固定长宽比的容器,取代js动态设置。

方法一:height: auto

若div中只有img标签,且需要div按照图片长宽比自动缩放,则只需将img和div的height均设置为auto即可。代码如下:

div中只有img
复制代码

Chrome运行截图如下:

方法二:height + padding-bottom

让我们回顾一下CSS中padding百分比值的计算方法:padding设置为百分比时,是以元素的宽度乘以百分比从而得到padding值的。这刚好可以为我们所用,在div的width为固定的情况下,设置height为0,使内容自然溢出,再通过设置padding-bottom使元素有一定高度。

废话不多说,上代码:

height + padding-bottom
复制代码

Chrome运行截图如下:

Tips&bugs:
1.祖先元素(即最早定义的宽高比固定的元素)height为0,后代元素无法再通过直接设置height百分比来动态计算高度。
2.解决办法是:后代元素也通过相同的办法来定义宽高,即也使用height + padding-bottom的方式来将高度撑起来。

转载于:https://juejin.im/post/5afe99d6f265da0b7e0c838c

你可能感兴趣的文章
codevs——2822 爱在心中
查看>>
Python基础班---第一部分(基础)---Python基础知识---认识Python
查看>>
JAVA MAC 配置
查看>>
1134 最长上升子序列 (序列型 DP)
查看>>
js冒泡排序
查看>>
第一次作业 4班卢炳武
查看>>
抽象类的调用
查看>>
使用硬盘,安装双系统,Win7+CentOS
查看>>
Javascript学习总结
查看>>
php 用正则替换中文字符一系列问题解决
查看>>
ActiveMQ应用笔记一:基本概念&安装
查看>>
大话数据结构之四(串)
查看>>
加热炉简是新来的整个系统的板
查看>>
Mockito使用注意事项
查看>>
[LeetCode] Palindrome Linked List 回文链表
查看>>
UVA - 825Walking on the Safe Side(dp)
查看>>
评论:人才流失强力折射出现实畸形人才观
查看>>
git服务器gitlab之搭建和使用--灰常好的git服务器【转】
查看>>
基于机器学习的web异常检测——基于HMM的状态序列建模,将原始数据转化为状态机表示,然后求解概率判断异常与否...
查看>>
虚拟运营商10月或大面积放号 哭穷背后仍有赢家
查看>>