jquery - 父容器在响应式 jQuery slider 中折叠

标签 jquery html css responsive-design

我有一个 jQuery Slider,我试图让它响应,这里是一个 jsFiddle:http://jsfiddle.net/mwcw4swf/1/

我遇到的问题是我必须设置父容器的高度,否则它会折叠:

#sliderWrapper {
    max-width: 800px;
    height: 200px; 
    overflow: hidden;
    position: relative;
    margin: 0 auto;
}

我尝试使用 clearfix 来阻止它发生,但它似乎不起作用:http://jsfiddle.net/mwcw4swf/2/

<div  class="spacer"></div>

CSS:

.spacer {
    height: 0;
    clear:both;
}

是否有任何其他方法可以在保持 slider 响应的同时阻止父容器折叠?


响应式的意思是我希望整个 slider 根据浏览器大小调整大小。为此,我不需要在容器大小上使用设置高度,但是当我将高度从整个 slider 上取下时,如第二个 fiddle 所示

最佳答案

不确定为什么要使用绝对定位从正常流中删除 #sliderList 元素。

这是因为 #sliderWrapper 不会占用其内容的高度。您可以避免绝对定位来解决问题:

Updated Demo

#sliderList {
    list-style: none;
    /* left: 0px; position: absolute; */
    position: relative;
    width: 200000em;
    margin: 0; padding: 0;
}

然后从包装器中安全地移除指定的高度


修复图片下方的空隙

在图像(内联级别元素)下还有一个 ~5px 的间隙,属于内联流中具有下行的小写字母。您可以通过 vertical-align 属性定位图像来解决这个问题:

#sliderWrapper img { vertical-align: middle; }

让它响应!

为了使 slider 响应,您必须根据视口(viewport)的宽度设置 slider 项的宽度。这可能通过使用 viewport units 发生。 100vw 或以下 JavaScript 代码:

Example Here

$(window).resize(function () {
    $('.sliderItem').width($(window).width());
}).resize(); /* trigger the handler */

PS:我还改进了演示中的标记和一些声明

关于jquery - 父容器在响应式 jQuery slider 中折叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25804068/

相关文章:

Javascript href 不正确匹配

html - div向左浮动

javascript - jQuery 单击事件不会在 'loaded' html 上触发

css - bootstrap input-group-btn 忽略高度 100%

html - 导航栏子菜单显示在图像后面

javascript - Ajax 调用服务器 PHP 有时仅打印回请求

javascript - 书中关于jQuery onclick绑定(bind)函数的使用【你不懂JS : this & Object Prototypes]

javascript - 调用函数时显示加载图像

html - 减少 html5 中大图像的加载时间

php - 添加 MYSQL 数组时遇到问题