将可变宽度/高度图像置于固定高度/可变宽度容器内居中

2024-03-27

Goal:

一个包装纸div那是固定的height和变量width。该包装包含一张图片,该图片的高度和宽度可变(可以是纵向或横向)。

图片应自动调整为90%包装纸的width or 90%包装纸的高度,以最小者为准。它还应该在水平和垂直方向上始终居中。

通过文本描述有点困难,因此请参阅下面的操作屏幕截图,了解当包装器具有三种不同的可能宽度时三个可能图像的示例:

我现在拥有的:

我正在使用以下结构:div->span->div->img.

我已经完全确定了尺寸。我已经完成了水平定位工作。当我的垂直定位工作时图像受高度限制。

当图像开始缩小时(受宽度限制),垂直定位不起作用。这是因为内在div没有调整大小。

Code

工作小提琴 http://jsfiddle.net/Ts4W9/

HTML:

<div class="selected-thumb">
    <span>
        <div>
           <img src="http://www.andymercer.net/wp-content/uploads/2014/01/tree26-300x225.jpg"></img> 
        </div>
    </span>
</div>

<div class="selected-thumb">
    <span>
        <div>
           <img src="http://www.andymercer.net/wp-content/uploads/2014/03/ada_complete-300x171.png"></img> 
        </div>
    </span>
</div>

<div class="selected-thumb">
    <span>
        <div>
           <img src="http://www.andymercer.net/wp-content/uploads/2013/12/employee_randy_fake-209x300.jpg"></img> 
        </div>
    </span>
</div>

CSS:

.selected-thumb {
    text-align: center;
    background: #c0c0c0;
    border: #a0a0a0 solid 1px;
    margin: 20px;
    height:200px;
}

.selected-thumb span {
    display:block;
    height:200px;
 }

.selected-thumb span div {
    position:relative;
    max-height:90%;
    max-width:90%;
    height:200px;
    top:50%;
    margin:0 auto;
}
.selected-thumb span div img {
    width:auto;
    height:auto;
    max-height:100%;
    max-width:100%;
    position:relative;
    top:-50%;
}

我需要的:

我需要修复垂直位置,但我遇到了麻烦。我尝试过使用display:table,我尝试创建一个伪元素并使用display:inline-block。我找不到完成我需要的方法。无论我选择哪一个是正确的,所有有用的信息都会被投票。


检查一下:

html,body {height:100%;}

.selected-thumb {
    text-align: center;
    background: #c0c0c0;
    border: #a0a0a0 solid 1px;
    margin: 20px;
    height:200px;
    line-height: 200px;
}

.selected-thumb img {
    display: inline-block;
    vertical-align: middle;
    width:auto;
    height:auto;
    max-height:90%;
    max-width:90%;
}

fiddle: http://jsfiddle.net/Ts4W9/2/ http://jsfiddle.net/Ts4W9/2/

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

将可变宽度/高度图像置于固定高度/可变宽度容器内居中 的相关文章

  • css动画移动元素位置

    我的 CSS 动画有这个问题 我有一个元素位置绝对居中于页面中间 当我放置动画时 它会向右移动 当动画完成时 它会移回到页面中间 这是代码 keyframes motto from opacity 0 transform translate
  • 用于移动 Web 应用程序的带有图表的框架

    我正在开发一个移动网络应用程序 我需要在饼图中表示一些数据 但是我没有找到任何好的框架来提供良好的选择并在移动设备上正常工作 我想知道一些框架 免费 这可以帮助我 如果您能给出一些基础示例 我会感到惊讶 我正在考虑使用 ajax 技术来显示
  • 2013 年 HTML 电子邮件:如何控制段落和图像等元素之间的间距?

    我目前正在重新设计一些 HTML 电子邮件模板 这是我几年来没有做过如此深入的事情 我已经在 HTML 文件中制作了模板 我正在浏览器中本地测试该模板 一切看起来都很好 我使用表格进行布局 我使用的唯一其他标签是 p a and img C
  • 拒绝在框架中显示“https://www.youtube.com/watch?v=oKZRsBjQJOs”,因为它将“X-Frame-Options”设置为“sameorigin”

    我需要将来自 youtube 的视频放置在我的网站中 但 URL 是一个变量 我创建了一个可以放置的管道 但不起作用 这是我在 HTML 文件中的代码 我的管道的代码是这样的 export class VideoPipe implement
  • CSS -webkit-外观:无;导致复选框未被选中

    All 我有一个复选框 我应用了以下 CSS 样式 webkit appearance none 我拥有的一些文本字段上有相同的代码 并且它们仍然可以正常工作 为什么此功能会导致不允许选中复选框 我喜欢这种复选框的样式 但仍然需要该功能才能
  • Javascript 可折叠面板默认打开

    我正在关注这个代码示例在这里找到 https www w3schools com howto howto js collapsible asp使用 css html javascript 创建可折叠面板 function toggleCol
  • 图片加载性能

    我已经尝试了几个小时从文件加载图像的各种方法 请看一下这两种方法 public Image SlowLoad string path return Image FromFile path public Image FastLoad stri
  • 上传时自动缩小 CSS 和 Javascript

    有谁知道通过上传处理 脚本自动运行某些文件类型的好方法 当我将 CSS 和 Javascript 上传到服务器时 我试图自动缩小它们 在本地保留一个漂亮的 人类可读的版本 同时在服务器上保留一个缩小的版本 我目前在 Windows 上使用
  • 在响应式设计中将顶部元素移动到底部的最佳方法是什么

    我有以下 HTML 格式 将给定元素放置在桌面上的顶部和移动设备上的底部 宽度 p I am on the top of desktop page and bottom of mobile page p 以响应式方式重新排序未知高度的元素最
  • 如何在 Jekyll 博客中包含视频标签/mp4 视频

    I am not寻找一种方法链接到 YouTube https stackoverflow com questions 10529859 how to include video in jekyll markdown blog 122738
  • 如何制作复选按钮? (带有标签的隐藏复选框作为按钮:仅限 CSS)

    Using 方法1 创建可点击标签 https stackoverflow com a 6293626 1326147 用 CSS 隐藏复选框 https stackoverflow com a 18078908 1326147 and 使
  • CSS 列数导致项目拆分列

    尝试不使用 jQuery 脚本来实现砖石效果 因此寻找 CSS 替代方案 我正在尝试使用列计数 这似乎有效 但不符合预期 因此 列就在那里 但有时容器中的项目会被拆分为多个列 正如您应该在此示例中看到的那样 http jsfiddle ne
  • 如何使用 iTextSharp 设置 PDF 段落或字体行高?

    如何使用 iTextSharp 更改 PDF 字体或段落的行高 排版中的行距称为行距 如果可以使用行间距 则可以使用 Paragraph Leading 或 Paragraph LeadingMultiplier 看http itextsh
  • Asp 按钮悬停和 CSS

    我有一个 asp 按钮控件 我在上面应用了一些样式 我希望鼠标悬停在该按钮上时 按钮的颜色应该发生变化或类似的情况 但我不明白为什么在 CSS 中按钮悬停功能不起作用 请帮忙 另请让我知道按钮悬停的最佳效果是什么
  • 如何将 TextArea 放入表 td 中?

    我想放置一个textarea内表td 不幸的是 它仍然是单行的 td align right valign top td td td
  • 链接到当前页面,无需查询字符串

    我知道做链接有很多技巧 例如 a href query string 附加查询字符串后将链接到当前页面 有没有办法在删除查询字符串后链接回当前页面 而无需仅输入文件名 例如 在页面foo php q 3 我想链接到foo php 有没有快捷
  • 在各种分辨率下通过百分比宽度将根 div 居中

    我需要通过基于百分比的宽度而不是基于像素的宽度将根 div 居中 container width 80 margin 0px auto 它将容器相对于页面居中 并在 1366 706 分辨率下正常工作 但在 1280 1024 下不起作用
  • CSS 3.0 用户选择属性替换

    我正在使用 CSS 3 0 它抱怨 用户选择 属性不存在 有谁知道合适的替代品或替代品是什么 user select is 回到规范 https drafts csswg org css ui 4 propdef user selectCS
  • 为什么行框之间有空格,而不是由于半行距?

    在下面的代码示例中 您将看到垂直流动的之间有空白spans是 每个之间有空白line box 我想首先声明这与之间的差距无关inline block框 甚至是结果半领先 https www w3 org TR CSS21 visudet h
  • 使用 SSL 的 Xamarin.Forms Image.Source

    我正在使用一个在线商店来存储通过我们的应用程序上传的用户图像 并受 SSL 保护 上传工作一切顺利 因为我使用的是带有附加证书的 WebClient 但是当我尝试使用 Xamarin Forms Image 组件时 例如将源设置为 http

随机推荐

  • Java多线程数据库访问[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 对于多线程 Java 应用程序来说 确保所有线程同步访问数据库的最佳解决方案是什么 例如 每个线程代表单独的事务 并且首先检查数据库的
  • 使用 FFT 进行 Matlab 模板匹配

    我正在努力解决 Matlab 中傅立叶域中的模板匹配问题 这是我的图片 艺术家是 DeviantArt 上的 RamalamaCreatures 我的目标是在负鼠的耳朵周围放置一个边界框 就像这个例子 我使用normxcorr2执行模板匹配
  • Stripe webhook 签名失败 - Stripe.net

    我正在尝试使用 Jayme Davis 的 C 库 Stripe net 来实现 stripe webhook 我已经在条带仪表板中设置了测试端点并生成了秘密 端点命中良好 并将使用 StripeEventUtility ParseEven
  • Django Celery 内存未释放

    在我的 django 项目中 我有以下依赖项 Django 1 5 4 django celery 3 1 9 amqp 1 4 3 海带 3 0 14 librabbitmq 1 0 3 按照建议https stackoverflow c
  • MongoDB:文档大小会影响查询性能吗?

    假设一款手机游戏由 MongoDB 数据库支持 其中包含User包含数百万份文档的集合 现在假设必须与用户关联的几十个属性 例如一个数组 id的值Friend文件 他们的用户名 照片 一系列 id的值Game文件 上次登录日期 游戏货币数量
  • C++ 传递字符串文字而不是 const std::string&?

    我有以下代码 使用 g 进行编译时没有警告 Wall pedantic include
  • Kotlin 中带有 val 的循环引用

    在 Kotlin 中 假设我有data class A val f B and data class B val f A 我想初始化本地var a A and var b B这样a f is b and b f is a A f and B
  • CUDA __syncthreads() 编译正常,但带有红色下划线

    我已经使用 CUDA 4 2 一周了 但遇到了一些问题 当我编写 syncthreads 函数时 它会带有下划线 看起来是错误的 然后 如果我将鼠标放在该函数上 则会出现一条消息 标识符 syncthreads 未定义 但是当我编译我的项目
  • VB6 解析器/词法分析器/脚本编写器

    我有一个 VB6 游戏 它运行得很好 但我一直在考虑创建一个脚本引擎的想法 我想我希望 VB6 为我读取纯文本脚本文件 然后 lex parse execute 它们 我有很好的编程经验 之前也搭建过一个简单的C编译器 以及一个LOGO模拟
  • Android ExpandableListView 和 onChildClick 不起作用

    我已经阅读了很多与我遇到相同问题的线程 但我无法弄清楚发生了什么 我有一个可扩展的列表视图 但我无法使 onChildClickListener 工作 onGroupClickListener 工作正常 但我并不真正需要它 我看了很多例子
  • 在 Cocoa 中创建动画 GIF - 定义帧类型

    我已经能够改编在 SO 上找到的一些代码 从我的视图的 屏幕截图 生成动画 GIF 但结果是不可预测的 GIF 帧有时是完整图像 完整帧 替换 模式 正如 GIMP 所标记的那样 其他时候只是与上一层的 差异 组合 模式 据我所知 当涉及的
  • 如何自动初始化 Perl 中的所有标量变量?

    Perl 自动初始化变量 https stackoverflow com questions 260703 when does perl auto initialize variables to undef默认情况下 有没有办法覆盖这个默认
  • 获取特定 S3 对象的下载计数

    我有许多 S3 对象可供我的客户使用 由于我想按使用情况向客户计费 我想知道是否有任何聪明的方法来获取给定文件的下载次数 或者 我想我可以解析 S3 提供的日志文件 但对于每个客户 1000 万次以上的提取 这可能是一项艰巨的任务 有任何想
  • $rootscope 值在控制器中未定义

    我在运行中定义了一个 rootscope 对象 如下所示 Start the AngularJS App var angularApp angular module angularApp Run at the start of the An
  • C# 9 中的 Init-Only 和 ReadOnly 有什么区别?

    我正在经历C 9 新特性 https devblogs microsoft com dotnet welcome to c 9 0 即将发布 仅初始化 https devblogs microsoft com dotnet welcome
  • 在R中用渐变比例填充多边形

    我想创建一个仪表来可视化一个变量对另一个变量是否有或多或少的影响 我构建了一个函数来绘制仪表 并用 3 种不同的颜色填充它 gg gauge lt function pos breaks c 0 33 66 100 determinent
  • 使用 --allow-releaseinfo-change 进行 apt-get update 的缺点

    参考这个issue https stackoverflow com questions 68802802 repository http security debian org debian security buster updates
  • 如何将二维指针数组作为 const 传递?

    如果我创建一个二维指针数组并将其传递给一个函数 int main int array 2 2 int a 5 int b 10 array 0 0 a array 1 1 b test array 我如何定义这个函数以使以下 3 个语句都不
  • c++/cli 接口重写的显式实现

    我有两个接口 public interface I1 A MyProperty get set public interface I2 I1 new B MyProperty get set 在 C 中 我可以像这样显式实现 public
  • 将可变宽度/高度图像置于固定高度/可变宽度容器内居中

    Goal 一个包装纸div那是固定的height和变量width 该包装包含一张图片 该图片的高度和宽度可变 可以是纵向或横向 图片应自动调整为90 包装纸的width or 90 包装纸的高度 以最小者为准 它还应该在水平和垂直方向上始终