关于图像滑块html CSS的麻烦

时间:2017-09-20 08:15:33

标签: html css css3 animation slider

帅哥。 已经制作了我的图像滑块,但第一次点击不会触发动画。它只是跳到目标。我想平稳地改变画面,但是第一次只是跳跃。 为了更好地理解我的问题,请转到 http://labs.qnimate.com/slider/#slider-image-3并注意图像之间的动画。

这里是html代码:

<div class="slider-holder">
    <span id="slider-image-1"></span>
    <span id="slider-image-2"></span>
    <span id="slider-image-3"></span>
    <div class="image-holder">
        <img src="images/slide1.jpg" class="slider-image" />
        <img src="images/slide2.jpg" class="slider-image" />
        <img src="images/slide3.jpg" class="slider-image" />
    </div>
    <div class="button-holder">
        <a href="#slider-image-1" class="slider-change"></a>
        <a href="#slider-image-2" class="slider-change"></a>
        <a href="#slider-image-3" class="slider-change"></a>
    </div>
</div>

这是CSS:

 .slider-holder
    {
        width: 800px;
        height: 400px;
        background-color: yellow;
        margin-left: auto;
        margin-right: auto;
        margin-top: 0px;
        text-align: center;
        overflow: hidden;
    }

    .image-holder
    {
        width: 2400px;
        background-color: red;
        height: 400px;
        clear: both;
        position: relative;

        -webkit-transition: left 2s;
        -moz-transition: left 2s;
        -o-transition: left 2s;
        transition: left 2s;
    }

    .slider-image
    {
        float: left;
        margin: 0px;
        padding: 0px;
        position: relative;
    }

    #slider-image-1:target ~ .image-holder
    {
        left: 0px;
    }

    #slider-image-2:target ~ .image-holder
    {
        left: -800px;
    }

    #slider-image-3:target ~ .image-holder
    {
        left: -1600px;
    }

    .button-holder
    {
        position: relative;
        top: -20px;
    }

    .slider-change
    {
        display: inline-block;
        height: 10px;
        width: 10px;
        border-radius: 5px;
        background-color: brown;
    }

有没有办法解决这个问题? 比你所有人帮助我。

2 个答案:

答案 0 :(得分:1)

改变这一位:

 #slider-image-1:target ~ .image-holder {
    left: 0px;
}

 #slider-image-1 ~ .image-holder {
    left: 0px;
}

答案 1 :(得分:0)

这里给出了图像宽度和第二图像宽度。检查图像宽度并根据图像进行更改。鉴于演示工作正确