css - Twitter Bootstrap 中所有按钮的悬停样式

标签 css twitter-bootstrap twitter-bootstrap-3 sass

我想更改悬停按钮的默认样式 (Bootstrap v3.2)。默认情况下它变得更暗。假设我想让它更轻。

我看了Buttons Less variables但我没有看到按钮悬停样式选项。

在 SASS 中我可以做:

@import "packages/stylesheets/bootstrap/bootstrap";

.btn {
  &:hover {
    background: yellow;
  }
}

但它会将所有按钮背景更改为定义的颜色(在本例中为黄色)。

是否可以对所有按钮执行此操作?

我发现 id 以这种方式对每种类型的按钮执行此操作的唯一解决方案,但我希望可以对所有按钮执行此操作更简单一些:

@import "packages/stylesheets/bootstrap/bootstrap";

.btn-primary {
  &:hover {
    background: lighten($btn-primary-bg, 5%);
  }
}
.btn-success {
  &:hover {
    background: lighten($btn-success-bg, 5%);
  }
}

最佳答案

虽然 Marcin 的解决方案可行,但正如他所提到的,它不是很优雅,因为您将修改 bootstrap 的源代码,并且一旦更新 bs 的基础,您将丢失所有编辑。

为了正确自定义悬停按钮,您需要做的是,定义一个名为“_buttons.scss”的新文件,并将其包含在您正在使用的主 Bootstrap/主文件中(通常是一个包含基础助推器 + 定制部件):

// Base bootstrap 3
@import "./vendor/bower_components/bootstrap-sass/assets/stylesheets/bootstrap.scss";
// My custom buttons
@import "_buttons.scss"

通过这种方式,您可以覆盖默认样式以获得默认 Bootstrap 元素的外观和感觉,并保持基本 Bootstrap 文件完好无损,这样您就可以更新它而不必担心您会在下一次更新时覆盖您的更改。

现在,你的部分: 在 _buttons.scss 中定义您提到的悬停:

// My custom variation for btn-primary
.btn-primary {
  &:hover {
    background: lighten($btn-primary-bg, 5%);
  }
}

如果您想在全局级别执行此操作,只需简单地更新覆盖文件中负责按钮输出的混音,这样就可以了(如果您遵循 Bootstrap 的默认命名空间,例如在您的自定义样式文件夹中: 我的元素/ Assets /scss/mixins/_buttons.scss)

// My custom mixin for button-variant override file
// I only include the part i want to customize
// In this case, i want to customize background-color 
@mixin button-variant($color, $background, $border) {
  &:hover {
    background-color: darken($background, 40%);
  }
}

.. 并将其包含到您的主文件中

// Base bootstrap 3
@import "./vendor/bower_components/bootstrap-sass/assets/stylesheets/bootstrap.scss";
// My custom buttons
@import "_buttons.scss"
@import "mixins/_buttons.scss"

这样你是: 1) 更新完成后能够更新 bootstrap base 2) 能够将您的自定义按钮样式保存在一个文件中,如果您决定以后更新它,您可以很容易地找到它 3)能够为不同的元素使用相同的 Bootstrap 库(如果需要)

希望对你有帮助 干杯

关于css - Twitter Bootstrap 中所有按钮的悬停样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25325381/

相关文章:

css - float Bootstrap 下拉列表内容上方和侧边栏主菜单的右侧

html - 如何在 bootstrap 3.0 中使用字形图标

html - 如何强制文本出现在换行符的左侧?

css - 旋转的元素使 twitter bootstrap Tooltip/Popover 渲染不正确(带有偏移量)

html - Css:Wordpress 和 Bootstrap:设置帖子页面特色图片的样式

jquery - 页面滚动时停留在页面底部的粘性 div

jquery - 纯 CSS 降序 Z 索引?

html - 响应式表格仅适用于 Firefox

html - 在 flex 布局中将文本对齐为中心

javascript - Bootstrap的JavaScript需要jQuery版本1.9.1或更高版本,但低于版本3