【问题标题】:Center background slideshow autofit maintain aspect ratio居中背景幻灯片自动调整保持纵横比
【发布时间】:2013-08-02 03:43:38
【问题描述】:

尝试让网站背景幻灯片以页面为中心 - 水平居中就可以了。完全居中、保持纵横比和自动拟合将是惊人的。

我的编码能力很原始,所以我一直在拼凑我能够找到的模板和幻灯片编码。目前,幻灯片在我的图形和按钮后面播放得很好,但是它与左侧对齐,我能想到的最好的是以下......

HTML(有问题的部分)

<div class="fadein"> <img src="images/1.jpg" alt=""> <img src="images/2.jpg" alt=""> <img src="images/3.jpg" alt=""> <img src="images/4.jpg" alt=""> <img src="images/5.jpg" alt=""> </div>

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
$('.fadein img:gt(0)').hide();

setInterval(function () {
$('.fadein :first-child').fadeOut()
                         .next('img')
                         .fadeIn()
                         .end()
                         .appendTo('.fadein');
}, 6000); // 6 seconds
});
  </script>

CSS

.fadein
{
     position: relative;
     width: 320px;
     height: 320px;
}

.fadein img
{
     position: fixed;
     width: auto;
     height: 100%;
     z-index:-1;
}

【问题讨论】:

  • 保持图像的纵横比?你现在有一个固定的尺寸,是你想要的吗?
  • 它本身不是固定大小的,.fadein img 具有 100% 的高度和自动宽度。理想情况下,它会以页面为中心并自动调整大小,如果图像的边缘不在页面之外也没关系。
  • 如果不可能,我将采用水平居中;)
  • 所以我们可以忽略320px?并且您希望图像填满 100% 的窗口?
  • 对,这似乎在幻灯片代码中,但它是告诉图像如何占用空间的另一部分。

标签: javascript html css alignment


【解决方案1】:
.fadein{
  position:fixed;
  top:0;
  left:0;
  right:0;
  bottom:0;
}
.fadein img{
  min-width:320px;
  min-height:320px;
  max-width:100%;
  max-height:100%;
  text-align:center;
}

理论上,这应该使图像居中并使其缩放到任何大小,直到到达屏幕边缘的宽度/高度的最大点。您可以删除最大宽度和高度以防止这种情况发生。

要启用垂直居中,您可能需要一些 js。

$('.fadein img').css({
   'margin-top':($('.fadein').height()-$('.fadein img').height())/2
});

注意:我不确定您的幻灯片是如何工作的,这只是一个示例,假设 .fadein img 是唯一包含该类和图像的图像。您必须根据自己的设置对其进行调整。

【讨论】:

  • 你是对的,它是唯一具有淡入淡出类的图像。不幸的是,这并没有解决我的问题。我会坚持下去的。
  • 只有css它应该水平居中,至少是这样做的吗? (您可能需要重新添加您的 z-index)
猜你喜欢
  • 2016-04-22
  • 2011-10-14
  • 2021-05-18
  • 1970-01-01
  • 1970-01-01
  • 2017-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多