我试图为Foundation 6中的按钮设置自定义字体系列,但没有运气,我正在使用sass运行Foundation 6,并相信他们已删除了先前版本中的$button-font-family变量。没有变量的最佳解决方案是什么?

理想情况下,我还要在按钮文本上应用文本转换,它也不是_setting.sass基础文件中的按钮变量。正如您可能聚集的那样,我对基金会和Sass还是很陌生,因此将不胜感激。

最佳答案

它看起来不像在scss/components/_button.scss中指定了字体系列,而这正是定义按钮样式的地方。在$body-font-familyscss/settings/_settings.scss中都设置了scss/_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";


我将逐节介绍本节。这非常简单,一旦以这种方式设置了项目,您就会喜欢它。


  // Foundation settings / _settings.scss的作者副本


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


  // Foundation _globals.scss的作者副本


与_settings文件相同的概念。


  //从基金会导入


这些导入是在这种情况下我要使用的Foundation框架的唯一部分。这些组件文件包括用于生成这些组件的mixin。这使我们可以在代码中以语义方式使用mixins。


  //包含我们要使用的Foundation类/样式


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


  //作者变量


这是我放置自定义变量(与Foundation不相关)的地方。您可以根据需要将其放在另一个部分中-只是一个首选项。


  //作者组件


这些是项目的自定义组件,可能会也可能不会使用Foundation的mixin。关键是,现在我们可以包含我们要使用的组件/ 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/

10-12 00:08
查看更多