根据高度调整 Div 大小但保留纵横比(几乎明白了)奇怪的重新加载错误

2023-12-29

根据父 div 的宽度调整视频大小时,有很多保持宽高比的解决方案。其中大多数依赖于“padding-top”和“padding-bottom”是根据宽度而不是高度计算的事实。

我正在尝试做类似的事情,但我想根据父 div 的高度调整视频大小。

为此,我需要创建一个无论高度如何都保持纵横比的 div。 这可能是一种蹩脚的方法,但我决定使用图像来执行此操作,因为我可以将具有适当宽高比的图像高度设置为 100%,并让高度自行解决。

我已经非常接近完成这项工作了。到目前为止,我已经能够使内部 div 完全按照我想要的方式执行,除了它不会在窗口大小调整时重绘。但是,如果我调整窗口大小然后重新加载,它就会起作用。有任何想法吗?

这是演示 http://codepen.io/coulbourne/full/Gtwje(这不是一个codepen问题,我也在本地完成了)


使用图像的好想法height: 100%。这肯定会使框的宽高比与图像相同,但无论出于何种原因,都不会在窗口调整大小时回流框。

这是一个稍微简洁的 CSS 和 Javascript hack 的演示,用于修复窗口调整大小时的回流。

  • 全页演示 http://codepen.io/shshaw/full/uzlfh
  • Code http://codepen.io/shshaw/pen/uzlfh

在演示中,我使用 16px x 9px 数据 uri 图像来设置宽高比,防止不必要的 HTTP 请求。如果您需要不同比例的图像,请使用此站点将您的图像转换为数据 uri:http://dataurl.net/#dataurlmaker http://dataurl.net/#dataurlmaker

我设法用非常基本的 jQuery 解决了回流问题。在$(window).resize(),我在主体上切换一个类,使比例图像从text-align: left to text-align: justify这会诱使浏览器重排该框。


浏览器支持

适用于 Chrome、Safari、Mobile Safari、Firefox 和 IE9+。整体调整大小相当流畅,但 Safari 有点卡顿。

IE6/7不支持display: inline-block所以盒子的宽度是 100%,高度是正确的。 (不错的后备!)

IE8 正确调整了框的高度,但宽度仅与原始图像一样宽(16px)。我发现解决此问题的唯一方法是使用 HTML5Boilerplate 样式 IE 条件标记将嵌入父级设置为display: block这个演示 http://codepen.io/shshaw/pen/bfzLJ


CSS Only

If you have要拥有纯 CSS 解决方案,请在比例图像上设置动画以在 Chrome、Safari 和 Firefox 中切换少量填充。然而,这不断地迫使浏览器重新渲染页面布局,与仅在窗口调整大小时渲染页面布局相比,这是非常低效的。

.Ratio { animation: myfirst 1s infinite; }
@keyframes myfirst {
    from { padding-top: 1px; }
    to { padding-bottom: 1px; }
}

希望有帮助!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

根据高度调整 Div 大小但保留纵横比(几乎明白了)奇怪的重新加载错误 的相关文章

  • 使用 CSS 覆盖透明 div 中的不透明文本

    我试图使透明 div 内的文本没有不透明度 也就是全黑 div style background 3cc p style background 000 This text should be all black p div 只用 CSS 就
  • Twitter bootstrap 3表单水平和单行多个输入列

    我需要将多列输入放在单行中 如下所示 我通过将多个输入分组为一个来做到这一点form group 但是这样我不能使用has error class div class form group div
  • 如何为 TBODY 应用垂直滚动条

    我的表中有 4 列和 5 行数据 我必须为 TBODY 应用垂直滚动条 TH 标题内容不应滚动 我对场景进行了编码 并且在我将滚动类应用于 TBODY 之前它工作正常 一旦我将滚动样式类应用于 TBODY 它就会破坏之前的对齐方式 任何人都
  • 如何设置 CSS 网格的最大高度

    我有以下 CSS 网格 grid 3x4 display grid grid template columns 1fr 1fr 1fr grid template rows 1fr 1fr 1fr 1fr grid template are
  • 根据变量值将 LESS 编译为多个 CSS 文件

    有一个指定颜色的变量variables less文件 例如 themeColor B30F55 和一个 json构成实体列表的文件 其中每个键是一个实体 ID 键的值是该实体的颜色 例如 8ab834f32 B30F55 3cc734f31
  • 调整文本区域大小

    我需要使用文本区域来显示一些文本 问题是 如果我放置 4 5 行文本 就会出现滚动条 如何使用 CSS HTML 使文本区域与其内容一样大 没有滚动条 文本区域不需要动态更改其大小 我仅使用它来显示文本 我也可以使用禁用的文本区域 我希望文
  • 为什么需要重置浏览器?

    好吧 我知道这可能不是最好的标题why我们需要重置浏览器 因为浏览器有不同的默认设置 我的问题太长 无法放入标题中 如果每个人 90 的时间都需要使用重置样式表 为什么浏览器需要设置默认样式 无论如何我们都会删除它们 对吗 因为某些规则默认
  • 如何为背景图像添加边距?

    我想向背景图像添加边距 以便将其与屏幕中间保持距离 但将其添加到该类中会为整个主体添加边距 body poppage background url Imagenes tip3 png 50 200px no repeat E2E4E9 我怎
  • 按百分比设置 bootstrap 模态身高

    我正在尝试制作一个带有主体的模态 当内容变得太大时 该主体会滚动 但是 我希望模式能够响应屏幕尺寸 当我将最大高度设置为 40 时 它没有任何效果 但是 如果我将最大高度设置为 400px 它会按预期工作 但不会响应 我确信我只是错过了一些
  • 如何更改 Bootstrap 3 div 列顺序

    正在做我的第一个响应式设计 在 Bootstrap 3 中可能会出现类似的情况 在 lg 上更改此设置 a b c sm 上的这个 a c b 您可以使用两个 div 一个用于第一类型的布置 另一个用于第二类型的布置 第一个仅在 lg 中显
  • 如何将送货地址复制到帐单地址

    我想知道是否可以将送货地址复制到帐单地址 当用户单击与送货地址相同的复选框时 送货地址值将被复制到账单输入字段 我完成了大部分部分 但我不确定如何将选择菜单 状态 值复制到帐单地址 我真的很感谢任何帮助 My code document r
  • 覆盖并重置 CSS 样式:auto 或 none 不起作用

    我想覆盖为所有表定义的以下 CSS 样式 table font size 12px width 100 min width 400px display inline table 我有一个特定的表 其类名为 other 最后的餐桌装饰应该是这
  • 三级十进制有序列表 CSS

    我有一个 html 中的三级有序列表 我想为其提供如下样式 1 Item 1 1 1 Item 2 1 1 1 Item 3 下一个 plunker 中有一个 html 示例 http plnkr co edit DqhZ5pJILTUHG
  • 绝对定位的 div 中的文本重叠

    在下面的代码片段中 div 元素 main gt div 相对定位并向左浮动 由于相对定位 div 元素 main gt div 彼此相邻放置 span 元素位于 div 元素下方 main gt div gt span span 元素绝对
  • h2 设置背景颜色和下划线

    我需要帮助解决这个 CSS 问题 我想要风格 h2 元素的背景颜色仅适用于文本 并且还有边框底部 这是预览 我可以自己做这件事 这并不难 但问题是我无法添加额外的元素 比如 span 标签 内 h2 标签 所以我正在寻找一种纯CSS方式来实
  • 滚动时我的身体背景颜色消失

    我希望有人能帮帮忙 我已将 body height 属性设置为 100 当所有内容同时显示在屏幕上时 这很好 然而 当我需要滚动 最小化窗口时 主体颜色消失 只留下我为 HTML 背景设置的颜色 有人知道解决办法吗 html backgro
  • Aptana Studio 3 上的预览选项卡在哪里?

    我在 Windows PC 上使用 Aptana Studio 2 并有一个选项卡用于在 IE 上预览页面 另一个选项卡用于在 Firefox 上预览 但我切换到了 Aptana 3 我不知道是没有预览还是我没有找到它 是的 我在 stac
  • css 计数器在 Internet Explorer 中无法工作以获取隐藏内容 - 如何修复?

    我们想要一些编号列表 并发现了这个很酷的计数器 您可以在 css 中使用它来让浏览器为您计算数字 ol instructions counter reset instructions section ol instructions gt l
  • CSS - 第一个没有特定类别的孩子

    是否可以编写一个 CSS 规则来选择没有特定类的元素的第一个子元素 example div span class common class ignore span span class common class ignore span sp
  • 位置:绝对在边框半径内且溢出:隐藏

    我遇到了问题border radius在webkit浏览器中找到了解决方案 网址如下 如何在 Chrome Opera 中使 CSS3 圆角隐藏溢出 https stackoverflow com questions 5736503 how

随机推荐

  • 瀑布对话中的 Microsoft Bot Framework LUIS

    我有一个现有的瀑布对话 我想对其进行调整 以便它可以从更复杂的用户对机器人问题的响应中提取数据 在我的 LUIS 应用程序中 我创建了一个名为GetLocation它被训练来寻找一个名为的实体Location 一个例子是用户输入 我正在布里
  • Rails + 延迟作业 => 电子邮件视图模板未更新

    我正在为我的应用程序使用 Rails Delayed Job 每次我更新电子邮件视图时 服务器 延迟的作业都不会接收它 谁在进行缓存 铁路还是延迟工作 知道如何修复它吗 其他信息 我尝试重新启动延迟的作业 但仍然没有帮助 Thanks 旧版
  • .NET (C#) 窗口最小化事件

    嘿 我真的被我的项目困住了 我需要知道任何打开的窗口何时被最小化 恢复并在我自己的应用程序中处理事件 有任何想法吗 编辑 Musigenesis 是对的 我确实想知道其他应用程序何时最小化 恢复 我认为您需要使用 SetWindowsHoo
  • 如何将图片保存在我的应用程序的特定文件夹中(正确)?

    问题是我的应用程序保存图片两次 一个在相机文件夹中 另一个在我指定的文件夹中 但当我在另一台设备上测试该应用程序时 这并没有发生 lunch the camera and make a file to save the image in a
  • Excel表格查找两列的匹配值

    我想创建一个匹配两列的表查找公式 例如 假设我想找到的值Letter所在行的列Type列是Biennial和Result列是Warning A B C 1 Letter Type Result 2 A Annual Exceeds 3 B
  • zsh vi 模式状态行

    zsh 或 bash 有没有办法获得状态行 例如在 VI 中 它会让您知道您处于插入模式 插入 是否有等效的命令行 这已经在以下位置得到了回答超级用户 https superuser com questions 151803 how do
  • 流畅的 NHibernate API 和 .NET 2.0

    我可以将 Fluent NHibernate API 用于 NET 2 0 应用程序吗 否 FluentNhibernate 需要 NET 3 5
  • 确定文件身份的算法

    对于一个开源项目 我正在文件系统之上编写一个抽象层 该层允许我将元数据和关系附加到每个文件 我希望该层能够优雅地处理文件重命名 并在文件被重命名 移动或复制时维护元数据 为此 我需要一种计算文件身份的机制 显而易见的解决方案是计算每个文件的
  • WKWebView 的 WKSelectionGranularityCharacter 选项在 iOS 9 中损坏

    我有一个 iPad 应用程序 使用WKSelectionGranularityCharacter的选项WKWebView 它在 iOS 8 设备上运行良好 在 8 4 模拟器上运行 但在 9 1 上损坏 长按文本会显示放大镜 但松开后不会突
  • Visual Studio 2017 构建工具仍然可供下载吗? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找 Visual Studio 2017 构建工具 它们在某处还可用吗 我可以找到2015 ht
  • 在 ASP.NET Core 中将 html 导出为 pdf

    我想将一段 html 导出到 pdf 文件 但我没有任何兼容的 nuget 包 当我尝试安装任何人时 X 与 netcoreapp1 0 NETCoreApp 版本 v1 0 不兼容 有谁知道使用 ASP NET Core 导出为 pdf
  • 将 PHP 变量传递给 Google Maps API

    当用户注册我的应用程序 大学项目 时 系统会要求他们提供地址 我将此地址转换为纬度和经度 然后将其存储在我的数据库中 我像这样访问纬度和经度
  • CoAP 观察者过多

    我想 观察 CoAP 服务器中的资源 但我注意到 在我注册观察服务器中的一些资源后 我尝试 观察 的其他资源会抛出一条消息 提示 观察者太多 我正在使用 Copper Firefox 连接到服务器 CoAP 服务器可以观察到的资源是否有限制
  • Rails:在连接上使用 .references,即使这不是必需的

    我知道当你使用includes并且您指定一个where连接表上的子句 您应该使用 references example will error out or throw deprecation warning in logs customer
  • 为什么局部变量的常量性会抑制返回值的移动语义?

    struct STest public boost noncopyable STest STest test m n std move test m n explicit STest int n m n n int m n STest Fu
  • 如何在单个查询中获取最大值和最小值?

    我正在使用 MySQL 并且正在寻找一种从两列 例如 posx and posy 仅使用一个查询 Simple SELECT MIN posx MIN posy MAX posx MAX posy FROM table
  • 构建 Clang 时未知的软件包 libcxx 和 libcxxabi?

    我正在尝试使用 libc 从源代码构建 Clang 我试图将 libc 放入树内 同时使用其他组件在树外构建它 我使用的食谱如下 如果我简单地放置libcxx and libcxxabiin tree 然后配置does not拿起它们 它们
  • Homebrew:无法链接Python

    我在 Homebrew 中链接 python 时遇到问题 这是输出 brew link python 链接 usr local Cellar python 2 7 13 错误 权限被拒绝 usr local Frameworks When
  • 使用三个 js 更改合并网格上的材质颜色

    是否可以与合并多个网格时使用的缓冲区进行交互以更改所选单个网格上的颜色 使用网格集合很容易做到这一点 但是具有多种不同材质的合并网格又如何呢 hgates 你最后的评论对我非常有帮助 我几天来一直在寻找同样的东西 好的 我在每个面上设置了一
  • 根据高度调整 Div 大小但保留纵横比(几乎明白了)奇怪的重新加载错误

    根据父 div 的宽度调整视频大小时 有很多保持宽高比的解决方案 其中大多数依赖于 padding top 和 padding bottom 是根据宽度而不是高度计算的事实 我正在尝试做类似的事情 但我想根据父 div 的高度调整视频大小