【问题标题】:Bootstrap 4 - SASS extending button not working on anchor tag?Bootstrap 4 - SASS 扩展按钮在锚标签上不起作用?
【发布时间】:2019-01-21 13:31:13
【问题描述】:

我喜欢 Bootstrap 4 之前的默认按钮的样式。为了尝试自己制作,我想出了以下 SASS:

.btn-default {
    @extend .btn;
    border-color: #A5A5A5;
}

.btn.btn-default:hover,
.btn.btn-default:focus,
.btn.btn-default:active,
.btn.btn-default.active {
    color: #808080;
}

如果我使用 <button> 标签,这将按预期工作,但如果我使用 <a> 标签,则不会。为什么这对两者都不起作用?

<a href="#" class="btn btn-default">
    Test Anchor
</a>

<button type="submit" class="btn btn-default">
    Test Button
</button>

当您通常可以将 .btn 类分配给锚标记并且它会将其样式设置为按钮时,为什么这不适用于锚标记?

【问题讨论】:

    标签: css sass bootstrap-4


    【解决方案1】:

    我认为你不需要@extend .btn,因为你已经在使用.btn

    所有其他btn-* 变体都有colorbackground-colorborder-color,因此在CSS 中您可以使用以下命令创建btn-default

    .btn-default{
       color:#333;
       background-color:#bbb;
       border-color:#a5a5a5
     }
    .btn.btn-default:hover,
    .btn.btn-default:focus,
    .btn.btn-default:active,
    .btn.btn-default.active {
        color: #808080;
    }
    

    Bootstrap SASS 方法是使用按钮变体 @mixin...

    .btn-default {
        @include button-variant(#bbb, #a5a5a5, #bbb, darken(#bbb, 10%), darken(#bbb, 10%), darken(#bbb, 12.5%))
    }
    

    演示:https://www.codeply.com/go/CWJidmeI1D

    这里是按钮变体 mixin 的参数:

    button-variant($background, $border, $hover-background, $hover-border, $active-background, $active-border)
    

    【讨论】:

    • 谢谢! CSS 按预期工作。我还是 SASS 的新手,我更喜欢这种方式。尝试了这个 SASS,它只是缺少胡佛效应。我会尝试研究和使用@mixin,看看我是否可以让它也有吸尘器。
    • YW!是的,第三个参数控制,所以你可以根据需要更改它。
    【解决方案2】:

    &lt;a&gt; 标签没有按钮的行为。为了使它尝试以下代码

    a.btn{
     -webkit-appearance: button;
     -moz-appearance: button;
     appearance: button;
    
     text-decoration: none;
     color: initial;
    }
    

    【讨论】:

    • 谢谢,这让我更接近了。唯一缺少的是边界半径。我尝试添加它,然后将其设置为 $btn-border-radius 这不起作用。然后查找 Bootstrap 按钮半径并尝试将我的设置为 .25rem 但这也不起作用。你知道在锚标签上设置边框半径的方法吗?
    • 引导按钮具有默认的边框半径。如果您想覆盖它,请在您的班级中更具体并覆盖引导 css
    • 我并没有试图超越 Bootstrap 按钮,我试图让您在上面包含的 CSS 使锚标记看起来像一个按钮。上面代码中唯一缺少的是边框半径。我尝试添加边界半径:.25rem;使用上面的代码,但它似乎没有工作。
    • 设为!important 并检查
    • 不。不去。我也刚刚阅读了它在 IE 中不起作用的地方。我最终改变了 Bootstrap 的按钮辅助颜色,它看起来适用于按钮和锚点......去图。
    猜你喜欢
    • 2021-09-29
    • 2018-09-20
    • 1970-01-01
    • 2019-06-09
    • 1970-01-01
    • 2016-05-14
    • 1970-01-01
    相关资源
    最近更新 更多