图像滑块超过100%宽度

时间:2013-04-17 17:02:47

标签: html css slider

我的图片滑块是页面宽度的100%,这是我的代码:

.ei-slider{
    position: relative;
    width: 100%;
    max-width: 1920px;
    height: 400px;
    margin: 0 auto;
    border:2px #f36f25 dashed;
}
.ei-slider-loading{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
    z-index:999;
    background: rgba(0,0,0,0.9);
    color: #fff;
    text-align: center;
    line-height: 400px;
}
.ei-slider-large{
    height: 100%;
    width: 100%;
    position:relative;
    overflow: hidden;
}
.ei-slider-large li{
    position: absolute;
    top: 0px;
    left: 0px;
    overflow: hidden;
    height: 100%;
    width: 100%;
}
.ei-slider-large li img{
    width: 100%;
}
.ei-title{
    position: absolute;
    right: 50%;
    margin-right: 13%;
    top: 30%;
}
.ei-title h2, .ei-title h3{
    text-align: right;
}
.ei-title h2{
    font-size: 40px;
    line-height: 50px;
    font-family:Calibri;
    font-style: italic;
    color: #b5b5b5;
}
.ei-title h3{
    font-size: 70px;
    line-height: 70px;
    font-family:Calibri;
    text-transform: uppercase;
    color: #000;
}
.ei-slider-thumbs{
    height: 13px;
    margin: 0 auto;
    position: relative;
}
.ei-slider-thumbs li{
    position: relative;
    float: left;
    height: 100%;
}
.ei-slider-thumbs li.ei-slider-element{
    top: 0px;
    left: 0px;
    position: absolute;
    height: 100%;
    z-index: 10;
    text-indent: -9000px;
    background: #000;
    background: rgba(0,0,0,0.9);
}
.ei-slider-thumbs li a{
    display: block;
    text-indent: -9000px;
    background: #666 ;
    width: 100%;
    height: 100%;
    cursor: pointer;
    -webkit-box-shadow: 
        0px 1px 1px 0px rgba(0,0,0,0.3), 
        0px 1px 0px 1px rgba(255,255,255,0.5);
    -moz-box-shadow: 
        0px 1px 1px 0px rgba(0,0,0,0.3), 
        0px 1px 0px 1px rgba(255,255,255,0.5);
    box-shadow: 
        0px 1px 1px 0px rgba(0,0,0,0.3), 
        0px 1px 0px 1px rgba(255,255,255,0.5);
    -webkit-transition: background 0.2s ease;
    -moz-transition: background 0.2s ease;
    -o-transition: background 0.2s ease;
    -ms-transition: background 0.2s ease;
    transition: background 0.2s ease;
}
.ei-slider-thumbs li a:hover{
    background-color: #f0f0f0;
}
.ei-slider-thumbs li img{
    position: absolute;
    bottom: 50px;
    opacity: 0;
    z-index: 999;
    max-width: 100%;
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
    -ms-transition: all 0.4s ease;
    transition: all 0.4s ease;
    -webkit-box-reflect: 
        below 0px -webkit-gradient(
            linear, 
            left top, 
            left bottom, 
            from(transparent), 
            color-stop(50%, transparent), 
            to(rgba(255,255,255,0.3))
            );
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}
.ei-slider-thumbs li:hover img{
    opacity: 1;
    bottom: 13px;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}
@media screen and (max-width: 830px) {
    .ei-title{
        position: absolute;
        right: 0px;
        margin-right: 0px;
        width: 100%;
        text-align: center;
        top: auto;
        bottom: 10px;
        background: #fff;
        background: rgba(255,255,255,0.9);
        padding: 5px 0;
    }
    .ei-title h2, .ei-title h3{
        text-align: center;
    }
    .ei-title h2{
        font-size: 20px;
        line-height: 24px;
    }
    .ei-title h3{
        font-size: 30px;
        line-height: 40px;
    }
}

我不知道为什么,但有一个我不想要的水平滚动条。

我也为此创建了一个小提琴,因此您可以看到HTML代码以及CSS

小提琴在这里:http://jsfiddle.net/827kN/

2 个答案:

答案 0 :(得分:0)

由于某种原因(我不完全理解)在我的浏览器(最新的firefox)中有一个System属性应用于内部ul,它添加了40px的填充。

您可以修复它(并且可能会尝试使用以下修改过的css来应用它的原因

.ei-slider-large {
  -moz-padding-start: 0;//<<-- this is the offending style so setting it to 0 sorts out your problem
  height: 100%;
  overflow: hidden;
  position: relative;
  width: 100%;
}

答案 1 :(得分:0)

我从上面的代码中看到了两个原因。

  1. 可能需要重置浏览器的默认填充/边距元素(您可能已经或可能没有这样做)

    * { margin: 0; padding: 0; }

  2. 您的元素有width: 100%但也有2px边框..这增加了它并且超出了100%宽度。

    以下是使用插入框阴影的示例 - http://jsfiddle.net/827kN/6/embedded/result/