首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >标度除法,使它始终保持其纵横比和保持中心。

标度除法,使它始终保持其纵横比和保持中心。
EN

Stack Overflow用户
提问于 2015-05-20 12:25:29
回答 3查看 1K关注 0票数 2

我的英语不好,所以我解释得不够好,但是这里是一个例子 404

在示例中,如果您调整窗口的大小,div.main的背景图像将始终按照其比率(1280*752)进行调整。如果我知道如何将div调整成与其背景相同的大小,那就太完美了。

这个问题中几乎有同样的东西-- 页面上垂直中心图像,并在调整大小时保持高宽比,但是:

  1. 我希望<div>是灵活的,而不是<img>
  2. 对这个问题的回答中,您可以看到实际图像确实保持了比率,但<img>容器本身却没有。

是否有一种方法可以使<div>只使用CSS来保持图像的高宽比?不管是背景图像还是单独的<img>

HTML5,CSS3方法为首选

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-05-20 12:41:27

代码语言:javascript
复制
<script>
    $(document).ready(function() {
        adjustDivHeight();
        $(window).resize(function() {
            adjustDivHeight();
        });
    });

    function adjustDivHeight() {
        setTimeout(function() {
            var width = $('#div_container_adjustable').width();
            var height = width * 0.5589123;
            $('#div_container_adjustable').height(height);
        }, 300);
    }
</script>
<div id="div_container_adjustable" class="detail_image"></div>
票数 2
EN

Stack Overflow用户

发布于 2015-05-20 12:40:27

你需要试着补偿身高。

要做到这一点,我们需要一个填充百分比,所以我们降低了widthimage的高度,这给你0.5875,这意味着或填充应该是58.75%

确保它是块元素,这样<div>的宽度就可以伸长。

代码语言:javascript
复制
.wrapper {
  width: 500px;
}
.yourdiv {
  max-width: 1280px;
  padding-top: 58.75%;
  background-image: url("http://fc03.deviantart.net/fs70/i/2013/297/4/8/conquistadors_ii_by_shutupandwhisper-d6ro3z5.jpg");
  background-size: 100% auto;
  background-position: top left;
  display: block;
  margin: 0;
  /* for show */
  background-color: purple;
}
代码语言:javascript
复制
<div class="wrapper">
  <div class="yourdiv"></div>
</div>

票数 2
EN

Stack Overflow用户

发布于 2015-05-20 13:17:00

您可以使用伪元素和垂直填充来保持框的比率宽度/高度仅基于其宽度。

代码语言:javascript
复制
html,body {
  height:100%;
  width:100%;
  margin:0;
  }
div {
  margin:auto;
  display:block;
  width:50%;
  border:solid;
  }
div:before {
  content:'';
  display:inline-block; 
  vertical-align:middle;
  padding-top:60%;
  }
代码语言:javascript
复制
<div>boxe, resize window's width</div>

对于框的垂直位置,您可以使用flex模型或表格布局或伪元素和内联块性质。也有绝对和负面的边际或翻译技术。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30349611

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档