css - Bootstrap 4 - SASS 扩展按钮在锚标签上不起作用?
问题描述
我喜欢 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 类分配给锚标记并将其样式设置为按钮时,为什么这不适用于锚标记?
解决方案
我认为您不需要@extend .btn
,因为您已经在使用.btn
.
所有其他btn-*
变体都有一个color
,background-color
和border-color
,所以在 CSS 中你可以创建一个btn-default
with:
.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)
推荐阅读
- python - 在包含特定值或字符串的其他两行之间选择一系列行
- excel - 循环使用可变数据集
- python - 如何找到关键字后面的数字
- shopify - 使用 SOAP Web 服务将 SMSA Express 与 Shopify 集成
- flutter - 如何通过 Flutter 中的 HTTP Post 请求将 AuthPayload 发送到 Firebase Realtime-Database
- c - gcc在c中包含相对于彼此的子目录中的源文件
- eclipse-emf - 使用 P2 导向器安装 Epsilon IDE
- python - 二进制转文本解密
- javascript - map nested array into parent object's key value pairs
- python - Install Python package from monorepo