2

我不熟悉 CSS,这是我的第一个项目之一。我试图为我拥有的滑块制作 CSS 样式,我想要这样的东西:

图像滑块

我已经成功地制作了内部 div 和按钮 div,但让我烦恼的是滑块上下一个/上一个按钮的索引顺序。这是HTML:

<div class="slider">
<div><a href="#" id="rhandle">&gt;</a></div>
<div><a href="#" id="lhandle">&lt;</a></div>
<div id="loadingBar"></div>
<div class="slide">
    <div id="leftSlide">
        <h1>WhiteFox Template</h1>
        <p>Buy this theme today with all features, All fonts included in this theme are for personal use only. <br />Detailed documentation included.</p>
        <a href="#" class="button">Read More</a>
    </div>
    <div id="rightSlide">
        <img src="images/slides/slide-1.gif" width="259" height="184" alt="slide-1 Image" />
    </div>
    <div style="height:0;line-height:0;display:block;clear:both;"></div>
</div>

这是滑块的 CSS:

.slider {
height: 329px;
width: 794px;
background: #313131;
margin: 50px auto 80px;
color: #FFF;
}

.slider a#lhandle {
    font-size: 24px;
    color: #FFF;
    background: #4bacfd;
    width: 50px;
    float: left;
    height: 23px;
    padding-top: 150px;
    padding-bottom: 150px;
    margin-top: 6px;
}

.slider a#rhandle {
    font-size: 24px;
    color: #FFF;
    background: #4bacfd;
    width: 50px;
    float: right;
    height: 23px;
    padding-top: 150px;
    padding-bottom: 150px;
    margin-top: 6px;
}

.slider a#lhandle:hover,
.slider a#rhandle:hover {
    color: #4bacfd;
    background: #FFF;
    border: 1px solid #4bacfd;
    width: 48px;
    height: 21px;
}

.slider #loadingBar {
    background: #a0a0a0;
    height: 6px;
}

.slider .slide {
    height: 328px;
    width: 793px;
    position: relative;
}



.slider .slide h1 {
    text-transform: uppercase;
    font-size: 24px;
    font-weight: bold;
    margin-top: 50px;
    margin-bottom: 25px;
}

.slider .slide div#leftSlide {
    float: left;
    width: 400px;
    height: 328px;
}


.slider .slide div#rightSlide {
    float: right;
    height: 328px;
    width: 280px;
}

.slider .slide img {
    border: 1px solid #FFF;
    margin-top: 25%;
    margin-bottom: 25%;
}

.slider .slide p {
    display: block;
    text-align: justify;
    margin-bottom: 30px;
    margin-right: 30px;
    margin-left: 30px;
    font-size: 18px;
    line-height: 28px;
}

这样,下一个/上一个按钮位于实际内容下方,当您将鼠标悬停在它们上方时,它们不会变为“:悬停”样式。我已经尝试添加一个“z-index:5”属性,但这不起作用,我该如何实现(如果有更简单的方法,请告诉我)。

4

3 回答 3

2

z-index将工作,你只需要设置一个position以外static(这是默认值)。

将此添加到两侧的手柄:

z-index:10;
position:relative;

演示:http: //jsfiddle.net/QYnVc/

旁注:您可以通过对相似元素使用通用类名或对一组 CSS 属性使用多个选择器来减少大量多余的 CSS。例如:

#rhandle,
#lhandle {
    font-size: 24px;
    color: #FFF;
    background: #4bacfd;
    width: 50px;
    float: left;
    height: 23px;
    padding-top: 150px;
    padding-bottom: 150px;
    margin-top: 6px;
    z-index:10;
    position:relative;
}

#rhandle {
    float: right;
}
于 2012-07-25T18:45:38.763 回答
2

根据W3schools的说法,z-index属性仅在受影响项目的位置属性设置为absoluterelativefixed时才有效。

使用这些属性,您可能必须使用left /*right* 和top /*bottom* 属性重新定位项目。

于 2012-07-25T18:46:46.207 回答
1

它可以正常工作,z-index但是 z-index 仅对定位元素有效,因此您还需要position:relative在句柄中添加类似的东西。

jsFiddle 示例

CSS:

.slider a#lhandle {
    font-size: 24px;
    color: #FFF;
    background: #4bacfd;
    width: 50px;
    float: left;
    height: 23px;
    padding-top: 150px;
    padding-bottom: 150px;
    margin-top: 6px;
    position:relative;
    z-index:10;
}

.slider a#rhandle {
    font-size: 24px;
    color: #FFF;
    background: #4bacfd;
    width: 50px;
    float: right;
    height: 23px;
    padding-top: 150px;
    padding-bottom: 150px;
    margin-top: 6px;
    position:relative;
    z-index:10;
}

在旁注中,您可能需要重新考虑您是如何放置幻灯片的,因为似乎有过多的元素和 CSS。

于 2012-07-25T18:46:15.523 回答