【问题标题】:Vertical Navbar (With Hover)垂直导航栏(带悬停)
【发布时间】:2019-01-28 14:15:55
【问题描述】:

我在创建导航栏时需要帮助,我是在 Photoshop 中设计的,但我是编码新手,我很难得到我想要的东西。

我已经接近了,但代码没有我想的那么简单。

HTML:

<div id="navbar">
    <div class="line1">
        <div class="text1">Home</div>
    </div>
    <div class="line2">
        <div class="text2">Work</div>
    </div>
    <div class="line3">
        <div class="text3">About</div>
    </div>
</div>

CSS:

#navbar {
    position: absolute;
    text-align: right;
    top: 2em;
    right: 3em;
}

.line1 {
    background-color: white;
    opacity: 0.3;
    height: 3.5em;
    width: 0.2em;
    margin-bottom: 1em;
}

.text1 {
    color: white;
    font-family:'Nanum Myeongjo', serif;
    font-weight: 800;
    float: right; 
    margin-top: 1.5em;
    margin-right: 1.5em;
    visibility: visible;
}

.line1:hover > .text1 {
    visibility: visible;
}

(我只显示了第一个导航选项卡的 CSS,但 2 和 3 是相同的)。

这是我的设计,导航栏右上角: https://imgur.com/a/xgmuNAC

https://jsfiddle.net/s6u8gone/

【问题讨论】:

    标签: html css navigation navbar nav


    【解决方案1】:

    您是否希望链接的实际文本仅在悬停时显示?如果是这样,你就很接近了;但不要使用visibility:visible;,而是使用opacity:1;,然后将文本类设置为默认opacity:0;。如图:

    .text1 {
        color: white;
        font-family:'Nanum Myeongjo', serif;
        font-weight: 800;
        float: right; 
        margin-top: 1.5em;
        margin-right: 1.5em;
        opacity:0;
        transition:0.7s ease;
    }
    
    .line1:hover > .text1 {
        opacity:1;
        transition:0.7s ease;
    }
    

    根据作者评论编辑:

    .line1:hover {
      opacity:1;
    }
    

    https://jsfiddle.net/v14fq6md/

    【讨论】:

    • 是的,我对这个感谢感到满意,但是当悬停在不透明度上时,不透明度永远不会超过 0.3,有什么想法吗? - 我希望该行在未悬停时为 0.3,文本为 0,然后在悬停时都为 1。 (没关系,我刚刚为 .line1 创建了一个额外的悬停,它的工作原理 - 非常感谢)。
    • 我已经更新了我的答案,只需要一小行 CSS 即可将 opacity:1; 应用于实际行以及文本
    猜你喜欢
    • 2021-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多