html - 图像 slider 的响应式包装器 div

标签 html css

因此,我尝试使用 HTML5、CSS3 和 jQuery 制作响应式图像 slider 。我已经创建了 slider ,但它没有响应。可能是因为 slider 的父包装器没有响应。当我试图使父包装 div 响应时,要么显示 slider 内的所有图像,要么图像失真(当高度分配给父包装 div 时)。我们不能从父 div 中删除 overflow:hidden,因为它是唯一一个阻止所有图像同时显示的属性。这是我的 fiddle :Fiddle 这是我的 HTML

<div id="slider-wrapper">
    <div class="images">
        <img src="image1.jpg">
        <img src="image2.jpg">
        <img src="image3.jpg">
        <img src="image4.jpg">
    </div>
</div>

和CSS一样

#slider-wrapper {
  width: 80%;
  height: auto;
  overflow: hidden;
  border: 1px solid black;
}

#slider-wrapper .images {
  width: 100%;
  height: auto;
}

#slider-wrapper .images img {
  width: 100%;
  height: auto;
  overflow: hidden;
}

我试图将我的代码缩减到基本级别,以便仅提及需要响应的父 div 以及其中的图像 div。我想要实现的是仅使第一张图像对其当前宽度和高度可见作为自动(以确保图像响应)并隐藏所有图像。我用 jQuery 来滑动图像。谢谢 :) 干杯!

最佳答案

我修改了您的代码,以便在图像上使用 display:inline-block 并在容器上使用 white-space:nowrap 来一个接一个地显示图像。

请看this updated example .

#slider-wrapper{
    ....
    white-space:nowrap;
}

#slider-wrapper .images img{
    ....
    display:inline-block;
}

规则display:inline-block 用于告诉浏览器:

"这些元素将被视为 block 元素(例如,因此它们可以具有高度和宽度)但同时也必须被视为内联元素(因此它们不会一层层堆叠,而是一层层叠)在其他人旁边,因为它们将是“单词”)

为了将一个并排放置,容器必须足够宽以容纳这么长的内容(否则元素会像长文本中的单词一样排在下一行)。你有一个固定宽度的容器,所以你必须告诉浏览器:

不要在空格处换行,忽略它们并将所有元素放在同一行上

关于html - 图像 slider 的响应式包装器 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32819610/

相关文章:

javascript - jQuery 帮助 : How can i select tr td nth row?

JavaScript 淡入/淡出 Div

javascript - 内联输入类型 ="submit"按钮似乎与 onclick 重叠

html - css父div中不需要的边距

javascript - 如何在不影响周围 div 的情况下放大父 div 并在悬停时显示隐藏的子 div

html - 创建相同高度的 <div 容器

javascript - "Content-Disposition", "inline;filename="+ fileName 不强制显示 pdf 文件

javascript - 选择类选择器子div Jquery

java - 如何在 GWT 中独立于 DockPanel.CENTER 设置 DockPanel.NORTH 元素的样式

php - Wordpress 中的子菜单下拉