【问题标题】:Completely center an image?完全居中图像?
【发布时间】:2010-12-08 05:31:41
【问题描述】:

我在 div 中有一个 div 和一个图像。图像大小会有所不同。

我希望它水平和垂直居中。 Css 垂直对齐似乎不起作用。

有什么技巧吗?我可以使用 php、css 或 Jquery

【问题讨论】:

    标签: css vertical-alignment


    【解决方案1】:
    <style>
        .image-container {
            position:relative;
            width:300px;
            height:300px;
            background:#ccc;
        }
        .image-container .image {
            position:absolute;
            top:50%;
            left:50%;
            transform:translate(-50%, -50%);
            background:red;
            height:100px;
            width:100px;
        }
    </style>
    <div class="image-container">
        <img class="image" src="****.jpg"/>
    </div>
    

    【讨论】:

    • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
    • 请不要只发布代码作为答案,还要解释您的代码的作用以及它如何解决问题的问题。带有解释的答案通常更有帮助,质量更高,更有可能吸引投票。
    【解决方案2】:

    你可以让它水平对齐使用

    margin: 0 auto;
    

    使用CSS 垂直居中并不容易(至少在 IE6/7 中不是)。使用表格相对容易。

    你说你有 jQuery 可用。您可以通过应用 JavaScript 来启动任何浏览器。当然,如果没有启用/支持 JS,您的页面将无法正确显示。

    CSS 的 vertical-align 属性仅适用于带有 display: table-cell 的东西(它本身应该在带有 display: table 的东西中)。

    如果你有

    <div id="container"><img src="my-image.png" alt="" /></div>
    

    您可以像这样使用 jQuery 将其居中(如 plexus 的建议)

    var imageSrc = $('#container img').attr('src');
    
    $('#container').css({ backgroundImage: 'url(' + imageSrc + ')', backgroundPosition: 'center enter' });
    

    【讨论】:

    • 嗯,它是一个 Jquery 密集型网站,所以我不介意在关闭 javascript 时它看起来有点不对劲。
    【解决方案3】:

    我不知道你如何使用它,所以我的解决方案可能不适合。

    当您在 div 中将图像实现为“背景图像”时,您可以轻松地将其与“背景位置”居中:

    #div {
    background-image: url(./image.png);
    background-position: center center;
    }
    

    【讨论】:

    • 这是个好主意。我需要图像链接到某些东西,但我可能能够摆脱透明跨度并使用这个建议。将报告:)
    猜你喜欢
    • 1970-01-01
    • 2016-07-30
    • 1970-01-01
    • 2021-07-28
    • 1970-01-01
    • 2018-02-25
    • 2016-05-08
    • 2023-02-18
    • 2011-12-02
    相关资源
    最近更新 更多