css - 如何为基础按钮设置自定义字体

标签 css sass zurb-foundation

我正在尝试为基础 6 中的按钮设置自定义字体系列,但没有成功 我正在使用 sass 运行基础 6,并且相信他们已经删除了 $button-font-family 变量在以前的版本中。在没有变量的情况下实现此目标的最佳解决方案是什么?

理想情况下,我也想在按钮文本上应用文本转换,这也不是 _setting.sass 基础文件中的按钮变量。正如你可能已经收集到的那样,我对基础和 sass 非常陌生,所以任何帮助将不胜感激。

最佳答案

它看起来不像是在 scss/components/_button.scss 中指定的字体系列,而那是定义按钮样式的地方。 $body-font-familyscss/settings/_settings.scssscss/_global.scss 中设置(如果没有已在 _settings.scss 中定义)。因此,验证您是否已在此处更新了 $body-font-family 的值。

除此之外,如果您在语义上使用 foundation sass(即 mixins),您应该能够像这样使用 button mixin:

@include button( false, #ebebeb, #a5a5a5, black, solid );

..然后像往常一样在 mixin 之后设置 font-family 属性。

----更新:基于后续问题/评论----

这是我正在处理的一个基础站点的示例主 sass 文件。

// Author copy of Foundation settings/_settings.scss
@import "settings";

// Author copy of Foundation _globals.scss
@import "global";

// Import from Foundation
@import "path/to/foundation-sites/scss/grid/grid";
@import "path/to/foundation-sites/scss/typography/typography";
@import "path/to/foundation-sites/scss/components/button";

// Include Foundation classes/styles that we want to use
@include foundation-global-styles();
@include foundation-typography();

//
// Author Variables
//
$color-map : ( 'blue': #40578a, 'blue-tint': #7e8ba8, 'blue-shade': #364a75, 'dark': #3d3e41, 'silver': #bdc0c6, 'gold': #ab883c );
$blue      : map-get($color-map, 'blue');
$blue-tint : map-get($color-map, 'blue-tint');
$blue-shade: map-get($color-map, 'blue-shade');
$dark      : map-get($color-map, 'dark');
$silver    : map-get($color-map, 'silver');
$gold      : map-get($color-map, 'gold');
//
// Author Components
//
@import "common";
@import "btn";
@import "view";
@import "cover";
@import "header";
@import "hero";
@import "navbar";
@import "main";
@import "page";
@import "intro";
@import "services";

我将逐节介绍这一节。它非常简单,一旦您以这种方式设置了一个元素,您就会爱上它。

// Author copy of Foundation settings/_settings.scss

在这里,我们正在导入 Foundation _settings.scss 文件的副本并根据我们的需要对其进行修改。不要弄乱 Foundation 附带的原始 _settings 文件。这样做会使以后更新库变得更加困难。

// Author copy of Foundation _globals.scss

与 _settings 文件的概念相同。

// Import from Foundation

这些导入是我想在这种情况下使用的 Foundation 框架的唯一部分。这些组件文件包括用于生成这些组件的 mixin。这允许我们在代码中语义地使用混合。

// Include Foundation classes/styles that we want to use

这将输出我们想要从基础使用的预定义类/样式。通常,您至少希望包括全局样式和排版样式。

// Author Variables

这是我放置自定义变量(与 Foundation 无关)的地方。如果你愿意,你可以把它放在另一个部分 - 只是一个偏好。

// Author components

这些是元素的自定义组件,可能使用也可能不使用 Foundation 的 mixins。关键是,既然我们已经包含了我们想要使用的组件/mixins,那么我们就可以了。

所以,在你的情况下,你可以简单地这样做:

// Foundation settings
@import "settings";

// Foundation globals
@import "global";

// Import from Foundation
@import "../path/to/foundation-sites/scss/components/button";

//
// Author Variables
//
$special-button-font: Georgia, serif;

.special-button {
    @include button(false, #ebebeb, #a5a5a5, black, solid);
    font-family: $special-button-font;
    &.tiny     { font-size: map-get($button-sizes, tiny); }
    &.small    { font-size: map-get($button-sizes, small); }
    &.large    { font-size: map-get($button-sizes, large); }
    &.expanded { @include button-expand; }
}

关于css - 如何为基础按钮设置自定义字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35419720/

相关文章:

html - 自定义 "please fill out this field"框

css - 基于某些值生成 SCSS mixin?

node.js - 带有父项的 SASS/SCSS 嵌套选择器

css - 使用 Zurb Foundation 时设置网页背景图片?

javascript - 模式隐藏时滚动条未恢复

javascript - Angular 函数调用在 IE 浏览器中不起作用

javascript - Bootstrap 3.0 : added 2 sliders to home page both conflicting

PHP 消息正文看起来散乱

html - 菜单按钮定位

html - 重新排序不同屏幕尺寸的列堆栈