【问题标题】:CSS Centering Slideshow ImagesCSS居中幻灯片图像
【发布时间】:2012-05-17 05:32:48
【问题描述】:

我在将幻灯片图像水平居中时遇到问题,因此它们在所有屏幕尺寸/分辨率上都处于中心位置。

HTML 看起来是这样的

<div id='banner'>
    <div class='slides_container'>
        <div>
            <a href='#'><img src='images/banner.png'></a>
        </div>
        <div>
            <a href='#'><img src='images/banner2.png'></a>
        </div>
    </div>
</div>

与此匹配的 CSS 是:

#banner {
    width:100%;
    margin-bottom:50px;
}

.slides_container {
    width:100%;
    height:500px;
}

.slides_container div {
    width:1100px;
    height:500px;
    text-align:center;
}

我真的很难让图像在所有屏幕尺寸上居中,因为填充和边距不起作用我需要一种不同的方法!

非常感谢任何回复。

【问题讨论】:

    标签: html css alignment slideshow centering


    【解决方案1】:

    您应该确保.slides_container div 在其父级中居中,即

    .slides_container div { 
      margin: 0px auto; // center
      width:1100px; 
      height:500px; 
      text-align:center; 
    } 
    

    如果这不起作用,您需要确保父容器的宽度为页面的 100%。

    如果父级不是页面的 100% 宽度,则父级也需要具有此属性:

    .slides_container {
        margin: 0px auto;
    }
    

    如果这不起作用,那么您需要确保其父级是页面的 100% 宽度。

    希望这会有所帮助。

    编辑

    我在FireBug中看了一眼,马上就看出slide container设置为3800px宽,而里面的div没有设置宽度。如果将幻灯片容器内的 div 设置为 100% 宽度,它会导致它变成 3800px 宽,这样就不起作用了。

    根据您使用的脚本的性质,它使用绝对定位的 div 来工作。所以margin: 0px auto 在这里不起作用。

    解决方案是在 onload 和窗口调整大小时运行一些 javascript,以将保存图像的 div 设置为浏览器窗口的宽度,以及 text-align: center。例如,因为我有 1280px 宽的显示器,所以这对我来说是图像的中心:

    .slides_control div {
        width: 1280px;
        text-align: center;
    }
    

    【讨论】:

    • 哦,我忘了说,如果img 没有填满它所包含的div,你还需要确保div 设置为@987654329 @ 或使img 宽度与容器相同
    • 您好,不幸的是,上述 cmets 都没有解决问题 :( 我得出的结论是,由于 jQuery 插件应用的 CSS 规则的困境,这几乎是不可能的。一旦 jQuery 插件div 类被删除,内容包装器设置为“text-align:center”,图像中心完美。我想我将不得不尝试不同的幻灯片插件,除非你认为你可以提供任何进一步的帮助。请注意我已尝试使用 !important。
    • @LiquidFusi0n 如果你有 IE9 或 FireFox 和 FireBug,按 F12 进入开发者工具,点击“箭头”图标,选择有问题的容器,然后查看实际应用的 CSS,稍加调查,您应该能够找到答案。
    • 我很抱歉 Ozzy 这就是我的意思。当我用萤火虫检查时,我看到了正在应用的 CSS,我已经为所有可能的标签添加了边距,现在仍然没有效果。作为最后的手段,我什至将它硬编码到 JQuery 插件中。如果您认为这对我也可以发布 JS 生成的 CSS 有帮助吗?谢谢。
    • 非常感谢它的工作,我现在就写 JS。再次感谢负载:D(不幸的是,我还不能给你代表,但我什么时候可以)
    【解决方案2】:

    添加.slides_container imgmargin:0 auto

    #banner { width:100%; margin-bottom:50px; }
    
    .slides_container {
        width:100%;
        height:500px;
    }
    
    .slides_container div, .slides_container img {
        width:1100px;
        height:500px;
        text-align:center;
        margin:0 auto; }
    

    【讨论】:

    • 感谢您的回复,不幸的是这还没有实现居中,实际上屏幕上的结果根本没有改变。
    • 你能提供一个链接来看看你看到了什么吗?
    • 当然可以。 tinypic.com/r/246jiav/6 如您所见,幻灯片的图像保留在左侧。
    【解决方案3】:

    通常他们使用margin:0 auto; 来处理这个问题。 text-aligndiv 没有好处。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-07
      • 1970-01-01
      • 2011-08-23
      • 1970-01-01
      • 1970-01-01
      • 2017-12-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多