0

我有一个 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/

4

2 回答 2

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%;
}
于 2013-04-17T17:07:51.953 回答
0

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

  1. 可能需要重置浏览器对元素的默认填充/边距(您可能已经完成或尚未完成)

    * { margin: 0; padding: 0; }

  2. 你的元素有width: 100%但也有一个 2px 的边框 .. 这增加了它并超过了 100% 的宽度。

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

于 2013-04-17T17:14:33.053 回答