【问题标题】:vertical-align css3. tried everything else垂直对齐 css3。尝试了其他一切
【发布时间】:2013-02-23 04:39:01
【问题描述】:

我正在尝试垂直对齐导航 div 中的 <a>,但由于某种原因无法正常工作。我已经检查过没有其他样式覆盖我的代码,以及几种定位组合。

<div id="logodiv">
    <figure>
        <img id="logo" src="/images/Capture2.jpg" alt="logo" />
    </figure>
    <nav id="flexbox">
        <div class="menudiv"><a class="menua" href="gallery.html">Gallery</a></div>
        <div class="menudiv"><a class="menua" href="events.html">Events</a></div>
        <div class="menudiv"><a class="menua" href="default.html">Home</a></div>
        <div class="menudiv"><a class="menua" href="membership.html">Info</a></div>
        <div class="menudiv"><a class="menua" href="contactus.html">Contact</a></div>
    </nav>
</div>

CSS

#logodiv {
    width:100%;
    height:100px;
    position:relative;
    display:block;

}

#flexbox{
    background-color:#f5b00e;
    float:right;
    width:65%;
    min-width:400px;
    height:30px;
    padding:0;
    margin:0;
    white-space:nowrap;
    margin-bottom:0px;
    position:absolute;
    right:0px;
    bottom:0px;
    display:inline;
}

.menudiv{
    width:20%;
    height:100%;
    line-height:100%;
    display:inline;
    float:left;
    margin:0 auto;
    padding:0;
    vertical-align:middle;
    position:relative;
}

.menua{
    line-height:100%;
    height:100%;
    font-family: font, Arial, sans-serif;
    font-size:15pt;
    text-decoration:none;
    text-shadow:none;
    margin-top:10px;
    vertical-align:bottom;
}

任何帮助将不胜感激。

【问题讨论】:

    标签: html css vertical-alignment


    【解决方案1】:

    检查一下 http://jsfiddle.net/mKbLW/1/

    改变了你的一些价值观。有一些不需要的 CSS 规则。

    #logodiv {
        width:100%;
        height:100px;
        position:relative;
        display:block;
    
    }
    
    #flexbox{
        background-color:#f5b00e;
        float:right;
        width:65%;
        min-width:400px;
        height:30px;
        padding:0;
        margin:0;
        white-space:nowrap;
        margin-bottom:0px;
        position:absolute;
        right:0px;
        bottom:0px;
        display:inline;
    }
    
    .menudiv{
        width:20%;
        height:100%;
        float:left;
        padding:0;
        position:relative;
    }
    
    .menua {
        height:100%;
        line-height:30px;
        display:inline;
        font-family: font, Arial, sans-serif;
        font-size:15pt;
        text-decoration:none;
        text-shadow:none;
        margin-top:10px;
    }
    

    【讨论】:

    • 谢谢。出于某种原因,它仍在排列指向 #flexbox
    • 从 flexbox 中移除绝对定位,改为使用 margin-top。
    • 没用。我最终只是将 flexbox 中的 div 设为相对,将链接设为绝对,并将它们定位在距底部约 10px 的位置。我的页面没有响应,并且高度/垂直值都不是百分比,所以我想不出有什么缺点。你能?感谢您的帮助克里斯
    • 只是如果你添加或更新你的导航,你将不得不重新输入定位值。很高兴您找到了解决方案!
    猜你喜欢
    • 2013-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-09
    • 1970-01-01
    相关资源
    最近更新 更多