javascript - 以 HTML 格式在 jQuery Slider 上居中图像

标签 javascript html css asp.net-mvc-4

我有一个 jQuery 内容 slider 。但我有一个问题,高大的图像被拉伸(stretch)了。不是可以居中图像吗?有人说我需要将溢出设置为隐藏。但这没有任何区别。 最好的问候 Morten Starck

html代码:

 <ul class="bxslider">
<li>
  <img id="propImageSliderLarge" src="http://billeder.edc.dk/edcmedia/2012/04-April/04/4fac343a-5d4b-4aab-8205-f57f165bc484_Size687x458.jpg"/></li>
<li>
  <img id="propImageSliderLarge" src="http://billeder.edc.dk/edcmedia/2012/04-April/04/7bdfb0cc-47ec-4afa-9fc7-aa2cbb9d43a0_Size687x458.jpg"/></li>
<li>
  <img id="propImageSliderLarge" src="http://billeder.edc.dk/edcmedia/2012/04-April/04/aad1d457-285d-42e3-8e68-e243bd2988d4_Size687x458.jpg"/></li>
<li>
  <img id="propImageSliderLarge" src="http://billeder.edc.dk/edcmedia/2012/04-April/04/768fda69-af61-4322-a60b-012040d78384_Size687x458.jpg"/></li>
<li>
  <img id="propImageSliderLarge" onload="FixImages(true)" src="http://www.blog.designsquish.com/images/uploads/victorian-flatbush-old-hous_thumb.jpg" /></li>

和 Javascript:

<script type="text/javascript">
  $('.bxslider').bxSlider({
    pagerCustom: '#bx-pager'
  });
</script>

和 CSS 代码:

#propImageSliderLarge {
  width: 530px;
  height: 400px;
  overflow: hidden; 
  position: relative;
}

最佳答案

这里有两件事你做错了。首先,您对多个元素使用相同的 ID,这是无效的。我认为您打算使用 CSS 类。其次,您正在设置 IMG 标记的 widthheight 属性,而实际上您应该在容器上设置这些属性(在本例为 LI)。尝试以下操作:

将您的标记更改为此

<li class="propImageSliderLarge">
    <img src="http://billeder.edc.dk/edcmedia/2012/04-April/04/4fac343a-5d4b-4aab-8205-f57f165bc484_Size687x458.jpg"/>
</li>

将您的 CSS 更改为此

.propImageSliderLarge {
    width: 530px;
    height: 400px;
    overflow: hidden; 
    position: relative;
    text-align: center; /* this will centre your image in the LI */
}

如果大于 LI 容器则更新图像尺寸

此脚本假定为 containerWidthcontainerHeight 设置了变量,因此只需将它们设置为您的 LI 容器大小,它就会调整图像到容器的最大约束,以便您可以看到整个图像。

function resizeImage(img) {
    var imgWidth = parseInt($(img).width());
    var imgHeight = parseInt($(img).height()); 

    if (imgWidth > containerWidth || imgHeight > containerHeight) {
        $(img).width(containerWidth);
        $(img).height(containerHeight);
    }
}​

关于javascript - 以 HTML 格式在 jQuery Slider 上居中图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14119702/

相关文章:

javascript - addEventListener() 无法多次工作。纯javascript

html - 背景颜色和边框半径之间的空白

css - flex 基础自动不工作

html - 自动调整 CSS 中内嵌图像的图像大小

javascript - 我需要在同一页面上同时使用 "log in with Google"和 "sign up with Google"按钮

javascript - 如何使用正则表达式和 javascript 将模式替换为 span 元素?

jQuery - 从具有相同类标识的多个元素中更改一个元素的 CSS

javascript - 将字符串发送到 UnityWebGL jslib

css - 无法为动画设置路由器导出的不透明度 [Chrome]

javascript - 更新数组中的 1 个元素会触发 React 中其他元素的渲染吗?