我已经使用 jquery Cycle 插件构建了一个幻灯片,每个图像都跨越页面的宽度(液体布局)并有一个随附的标题。我需要将标题放在图像上,因此我position: absolute
在我的 CSS 中使用。然而,根据我读过的一些博客文章和堆栈答案,循环覆盖 CSS 定位,并且标题被推到图像下方。我!important
在我的 CSS 中使用过,但这也不起作用。
这是我的jQuery:
$(document).ready(function(){
$(".slideshow").cycle({
fx: 'scrollRight',
next: '#right-arrow',
timeout: 0,})
$(".slideshow").cycle({
fx: 'scrollLeft',
next: '#left-arrow',
timeout: 0,})
})
和我的 HTML。请注意,我已将标题包含在与图像不同的 DIV 元素中。将它放在同一个 DIV 中会使标题成为节目中的单独幻灯片。
<div class = "slideshow">
{% for photo in gallery %}
<img id = "gallery-image" src ="{{ photo.image.url }}"/>
{% endfor %}
</div>
<div class = "slideshow">
{% for photo in gallery %}
<div id = "caption-container">{{ photo.caption }}</div>
{% endfor %}
</div>
最后是我的 CSS:
#copy-container {
position: absolute;
top: 350px;
width: 7%;
right: 3%;
z-index: 10;
background-color: red;}
以下是使用 Chrome Inspect Elements 显示的内容:
Computed Styles:
display: block;
height: 54px;
overflow-x: hidden;
overflow-y: hidden;
position: relative;
width: 101px;
Styles:
:active :hover
:focus :visited
element.style {
position: relative;
width: 101px;
height: 54px;
overflow: hidden;
}
Matched CSS Rules
user agent stylesheetdiv {
display: block;
}
Inherited from body
body {
font: arial;
}
来自 Chrome 开发工具的 HTML...
<div class="slideshow" style="position: relative; width: 154px; height: 36px; overflow: hidden;">
<div id="copy-container" style="position: absolute; top: 0px; left: 0px; display: block; z-index: 3; opacity: 1; width: 154px; height: 36px;">
<div id="client-container">client:American Express</div>
<div id="caption-container">WOOOHOOOO</div>
</div>
<div id="copy-container" style="position: absolute; top: 0px; left: 154px; display: none; z-index: 2; opacity: 1; width: 101px; height: 36px;">
<div id="client-container">client:Selfridges</div>
<div id="caption-container">nbew image</div>
</div>
</div>