【问题标题】:&:hover with Sass not working&:hover 与 Sass 不工作
【发布时间】:2017-04-07 14:41:17
【问题描述】:

我在这里使用带有引导程序的 SASS 来创建一个导航,并且无法完全让悬停的伪类工作,任何人都可以看到我做错了什么吗?

HTML:

    <div class="container">
    <nav class="navbar navbar-default" role="navigation">
        <!-- Brand and toggle get grouped for better mobile display -->
        <div class="navbar-header">
            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
        </div>
        <!-- Collect the nav links, forms, and other content for toggling -->
        <div class="collapse navbar-collapse navbar-ex1-collapse">
            <ul class="nav navbar-nav">
                <li><a href="#">Home</a></li>
                <li><a href="#">Our Clients</a></li>
                <li class="logo"></li>
                <li><a href="#">Our Products</a></li>
                <li><a href="#">Contact Us</a></li>
            </ul>
        </div>
    </nav>
</div>

这里是 CSS/SASS:

.navbar {
    background-color: transparent;
    border: none;
    padding-top: 3em;
    .navbar-nav {
        display: inline-block;
        float: none;
    }
    .navbar-collapse {
        text-align: center;
        a {
            width: 8em;
            font-family: 'Allan', cursive;
            font-size: 2em;
            &:hover {
                color: #f00;
            }
        }
    }
}

有人告诉我需要添加更多细节,因为我的帖子主要是代码,所以我只是添加了这句话。

【问题讨论】:

  • 你也可以发布你的html吗?
  • “不起作用”不是对问题的恰当描述。什么不起作用?您是否查看了编译后的 CSS 是否有您预期的结果?有错误吗?
  • 您的代码运行良好,请参见此处.. codepen.io/anon/pen/RWGevK
  • @cimmanon 检查已编译的 css 始终有效,因为它向您显示在使用 scss 选择器等时正在创建什么选择器......好建议。

标签: css twitter-bootstrap sass


【解决方案1】:

您的 SASS 代码正在运行,但 Bootstrap 已定义此规则:

.navbar-default .navbar-nav > li > a:hover{
    color: #333;
}

所以你需要设置一个比它更具体的规则,例如在级联链中在a之前添加li

.navbar {
    background-color: transparent;
    border: none;
    padding-top: 3em;
    .navbar-nav {
        display: inline-block;
        float: none;
    }
    .navbar-collapse {
        text-align: center;
        li{
            a {
                width: 8em;
                font-family: 'Allan', cursive;
                font-size: 2em;
                &:hover {
                    color: #f00;
                }
            }
        }
    }
}

DEMO

或者使用!important,比如:

&:hover {
    color: #f00 !important;
}

DEMO2

【讨论】:

  • 最好使用级联覆盖规则而不是使用!important
  • @Paulie_D 我同意你的看法 :)
【解决方案2】:
.classname {
    margin:50px;
    &:hover {
        color:red;
    }
}

【讨论】:

    猜你喜欢
    • 2017-09-11
    • 2012-06-23
    • 2010-10-26
    • 1970-01-01
    • 1970-01-01
    • 2013-04-05
    • 2012-09-21
    • 1970-01-01
    • 2014-12-30
    相关资源
    最近更新 更多