CSS 利用 `padding-bottom` 实现固定比例的容器


复用 padding-bottom 可实现一块区域在窗口尺寸变化使始终保持自适应。对于响应式布局中的图片或视频来说比较有用。

<div style="width: 100%; position: relative; padding-bottom: 56.25%;">
    <div style="position: absolute; left: 0; top: 0; right: 0; bottom: 0;background-color:yellow;">
        this content will have a constant aspect ratio that varies based on the width.
    </div>
</div>

16:9 容器的效果

其中 padding-bottom 的值与对应所形成容器的比例关系为容器宽除以高。

The percentage is calculated with respect to the width of the generated box‘s containing block

-- 来自 w3.org 的描述

以下是常用比例与对应的百分比值:

aspect ratio  | padding-bottom value
--------------|----------------------
    16:9      |       56.25%
    4:3       |       75%
    3:2       |       66.66%
    8:5       |       62.5%

相关资源

原文地址:https://www.cnblogs.com/Wayou/p/css_keep_ratio_by_padding_bottom.html

时间: 2024-12-18 13:41:08

CSS 利用 `padding-bottom` 实现固定比例的容器的相关文章

css利用padding百分比实现图片自适应高度

应用场景 宽高比率,实现图片自适应高度,防止图片加载过程高度为0,加载完图片高度撑起,它下面的div抖动问题 重点:CSS百分比padding都是相对宽度计算的 <div class="works-item-t"> <img src="./150x200.png"> </div> .works-item-t { padding-bottom: 133%; position: relative; } .works-item-t &g

css利用padding生成图标

先插入HTML结构: <div class="line-three"></div> <div class="circle"></div> 结构是不是很简洁!css代码如下: .line-three{ width: 150px;height: 30px; padding:15px 0; border-top: 30px solid; border-bottom: 30px solid; background-color:

CSS百分比padding实现比例固定图片自适应布局 (转载)

一.CSS百分比padding都是相对宽度计算的 在默认的水平文档流方向下,CSS margin和padding属性的垂直方向的百分比值都是相对于宽度计算的,这个和top, bottom等属性的百分比值不一样. 这么设计的原因在我的新书(应该不出几个月就要出版了)中会有说明,这里不展开. 对于padding属性而言,任意方向的百分比padding都现对于宽度计算可以让我们轻松实现固定比例的块级容器,举个例子,假设现在有个<div>元素: div { padding: 50%; } 或者: di

CSS百分比padding实现比例固定图片自适应布局

本文转自 张鑫宇(大神的很多文章都拜读过,写的很好,清晰明了,赞)的 https://www.zhangxinxu.com/wordpress/2017/08/css-percent-padding-image-layout/ 一.CSS百分比padding都是相对宽度计算的 在默认的水平文档流方向下,CSS margin和padding属性的垂直方向的百分比值都是相对于宽度计算的,这个和top, bottom等属性的百分比值不一样. 这么设计的原因在我的新书(应该不出几个月就要出版了)中会有说

css 固定宽高比容器

申明: 本文参考 结一老师的文章 css中如何做到容器按比例缩放 核心思想: 给目标元素设置一个容器,设置高度为0,用垂直padding(百分比)来撑开高度,因为padding设置百分比时是基于容器的width属性的,我们再给目标元素设置绝对定位和100%宽高即可. 实现一个16:9的视频 demo代码如下: <div class="wrap"> <div class="left"> <div class="inner&quo

CSS jquery实现Div底部固定,不随滚动条移动

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <HEAD> <TITLE>CSS jquery实现Div底部固定&l

纯 CSS 利用 label + input 实现选项卡

clip 属性 用于剪裁绝对定位元素. .class { position:absolute; clip:rect(0px,60px,200px,0px); } scroll-behavior: smooth; 作用在容器元素上,可以让容器(非鼠标手势触发)的滚动变得平滑.利用这个css属性可以一步将原来纯css标签直接切换,变成平滑过渡切换效果. 代码: <!DOCTYPE html> <html lang="en"> <head> <met

[转]图解CSS的padding,margin,border属性(详细介绍及举例说明)

图解CSS的padding,margin,border属性 W3C组织建议把所有网页上的对像都放在一个盒(box)中,设计师可以通过创建定义来控制这个盒的属性,这些对像包括段落.列表.标题.图片以及层.盒模型主要定义四个区域:内容(content).边框距(padding).边界(border)和边距(margin). 对于初学者,经常会搞不清楚margin,background-color,background-image,padding,content,border之间的层次.关系和相互影响

利用javascript设置图片等比例缩小

网站的内容页面,经常要放图片,如果图片太大会撑出,影响页面美观.如果只是用css限 制图片的最大宽度,会引起图片的变形,本文建议还是用js来实现,实现方式如下: <script language="javascript" type="text/javascript"> window.onload = function () { //判断图片大小,超过一定宽度,要通过js定义图片大小 $.each($(".sec-content img"