【问题标题】:Centering image at all times始终居中图像
【发布时间】:2012-12-16 06:19:55
【问题描述】:

我有一张图片,我将其用作徽标。

我希望它始终居中(无论窗口大小)。

我无法使用自动边距做到这一点。

图片必须越过我的导航底部,位于徽标上方。

HTML:

<div id="logo">

<img src="images/logorz.png" alt="logo" width="180px" />
</div>

CSS:

#logo {
    position: absolute;
    margin-left:41%;
    margin-top:-7%;


}

导航 HTML:

<div id="nav">

<ul>
    <li><img src="images/kranznav.png" alt="kranz" /><a href="index.php">COMPETE</a></li>
    <li><img src="images/thumbnav.png" alt="thumb" /><a href="index.php">SCORE</a></li>
    <li><img src="images/bagnav.png" alt="bag" /><a href="index.php">SHOP</a></li>
    <li><img src="images/morenav.png" alt="more" /><a href="index.php">MORE</a></li>
</ul>
</div>
<div class="clear">
</div>

导航 CSS:

#nav {
    background:#ffffff;
    width:100%;
    margin-top:-2em;

}


#nav ul {
    list-style-type:none;
}

#nav li {
    display:inline;
    float:left;
    width:20%;
    margin-left:2%;
    margin-right:2%;
    margin-top:5%;
    text-align:center;
}



#nav a {
    display:block;
    margin-right:0% auto;
    padding-left:0% auto;
    color:#5E09CB;
    text-decoration:none;

}

【问题讨论】:

标签: html css image center graphical-logo


【解决方案1】:

如果您的徽标是 width: 180px; 并且您希望始终将其居中。你可以这样做。

position: absolute;
left: 50%;
margin-left: -90px;

【讨论】:

    【解决方案2】:

    没有必要为此使用javascript。

    你可以这样做:

    #logo {
        position: absolute;
        left:50%;
        margin-left:-50px;
        width:100px;
    
    
    }
    

    注意,元素需要有宽度,负左边距是宽度的一半。

    http://jsbin.com/ukexox/1/edit

    【讨论】:

    • 太棒了——正是我想要的。
    【解决方案3】:

    如果您需要图像位于导航顶部,请尝试使用 z-index 属性...

    这样的……

    css {
    
    z-index:2;
    
    }
    

    使用 z-index 将一个元素置于另一个元素之上...确保您给另一个元素的 z-index 小于此值...

    这可能行得通...

    【讨论】:

      【解决方案4】:

      你需要一个包装器来包装导航和图像。图像标签不需要被不必要的 div 包围。然后,您可以将图像样式设置为

      image {
          position:relative;
          widhth: image_size_here px;
          margin: auto;
          display:block;
      
      }
      

      这是我保存的一个 jsfiddle 供您参考...http://jsfiddle.net/vASmC/

      【讨论】:

        【解决方案5】:
        #logo {
            position: relative;
            margin:0 auto;
            width:180px;
        }
        

        auto 自动设置左右边距,因此#logo 始终位于页面中心...有些浏览器需要position:relative 才能完成这项工作...

        【讨论】:

        • 使用相对位置,不会使徽标与导航底部重叠。相反,它显示在导航中,增加了导航的高度
        • 是的,你是对的......对不起! Chanckjh 的解决方案应该是最好的......
        猜你喜欢
        • 2016-10-11
        • 2011-03-17
        • 1970-01-01
        • 2020-02-16
        • 1970-01-01
        • 2016-05-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多