【问题标题】:Bootstrap3 Nav Link Style with underline带下划线的 Bootstrap3 导航链接样式
【发布时间】:2014-06-11 22:47:03
【问题描述】:

我希望在 Youtube 中使用下划线来设置 Bootstrap Menu 的样式。

到目前为止,我已经完成了以下代码但没有达到效果, 边框底部不适用于 a:active。

我在引导 css 之后添加了我的 css,所以不可能覆盖但仍然无法工作。

样式 CSS

 a {
    color: black;
}


.navbar-nav>li>a:hover ,
.navbar-nav>li>a:active {
    border-bottom: 2px solid #ad1f2d!important;
}

HTML 代码

  <div class="navbar" role="navigation">
        <div class="container">
            <div class="navbar-header">
                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                    <span class="sr-only">Toggle navigation</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>
                @*<a class="navbar-brand" href="#"><img src="../../img/logo.jpg" alt="77 Markets" height="100" width="100" style="margin-left: -10px; margin-right: 20px"></a>*@
            </div>
            <div class="navbar-collapse navbar-right collapse">
                <ul class="nav navbar-nav">
                    <li>@Html.ActionLink("Home", "Index", "Home")</li>
                    <li>@Html.ActionLink("About", "About", "Home")</li>
                    <li>@Html.ActionLink("Contact", "Contact", "Home")</li>                       
                </ul>
                @Html.Partial("_LoginPartial")
            </div>
        </div>
    </div>

【问题讨论】:

    标签: jquery html css asp.net-mvc twitter-bootstrap


    【解决方案1】:

    你是说

    ul li:hover:after{
       border-bottom: 2px solid red;
       bottom: 0;
       content: "";
       left: 0;
       position: absolute;
      width: 100px;
    }
    

    http://jsfiddle.net/kisspa/DZUPF/2/

    【讨论】:

    • 不,我想要活动的边框
    • 您是否尝试过添加 !important 例如边框底部:2px 纯红色!重要;这将覆盖任何级联并始终应用样式,这将向您显示是否是覆盖样式的问题。
    • 我添加了重要但不起作用,在上面的代码中,您正在为下一个添加边框,但我需要激活(用户 cliced/selected)一个。
    • 404s以上答案中的jsfiddle
    【解决方案2】:

    尝试添加 !important 属性,例如

    a:hover {
      border-bottom:2px solid #ad1f2d !important;
    }
    
    a:active {
        border-bottom:2px solid #ad1f2d !important;
    }
    

    这将覆盖任何级联样式,并指出它是否是由于级联样式引起的问题。

    上面的内容似乎对你不起作用,那么这个怎么样,用一个 ID 将你的导航链接包装在一个 div 中

    CSS

     #mydiv .navbar-nav>li>a:hover ,
     #mydiv .navbar-nav>li>a:active {
        border-bottom: 2px solid #ad1f2d!important;
    }
    

    和 HTML

     <div id="mydiv" class="navbar-collapse navbar-right collapse">
                    <ul class="nav navbar-nav">
                        <li>@Html.ActionLink("Home", "Index", "Home")</li>
                        <li>@Html.ActionLink("About", "About", "Home")</li>
                        <li>@Html.ActionLink("Contact", "Contact", "Home")</li>                       
                    </ul>
                    @Html.Partial("_LoginPartial")
                </div>
    

    【讨论】:

    • 那为什么不干脆:a:hover, a:active { ... }
    • 是的,这更简洁,我使用的是相同的 css,以免混淆。
    • 没有不能在 Active 上工作,Bootstrap 是否有任何覆盖。我在引导 css 之后添加了我的 css,所以不可能覆盖但不确定,为什么 a:active 不工作
    【解决方案3】:

    一个建议,我希望我没有错。您是否尝试为所有元素指定边框?它在工作吗?我认为下划线效果和边框底部相互抵消。还要检查 bootsrap CSS 文件是否包含,因为如果在您的自定义 CSS 包含之后指定它,它可能会取消您的自定义 CSS。

    【讨论】:

    • 我在引导后添加了我的 css。我删除了边框效果没有变化,如果我删除下划线并只保留边框,下划线根本不会出现。
    猜你喜欢
    • 2020-05-12
    • 2020-02-27
    • 1970-01-01
    • 2013-03-07
    • 2015-06-14
    • 2018-01-17
    • 2012-01-20
    • 1970-01-01
    • 2013-11-01
    相关资源
    最近更新 更多