我正在创建一个博客网站,想要更改Bootstrap字体。在我的头部导入的CSS中,我添加了这个字体。
<link href='http://fonts.googleapis.com/css?family=Oswald:400,300,700' rel='stylesheet' type='text/css'>
我该如何将这个设为我的Bootstrap默认字体?
我正在创建一个博客网站,想要更改Bootstrap字体。在我的头部导入的CSS中,我添加了这个字体。
<link href='http://fonts.googleapis.com/css?family=Oswald:400,300,700' rel='stylesheet' type='text/css'>
我该如何将这个设为我的Bootstrap默认字体?
<link href='http://fonts.googleapis.com/css?family=Oswald:400,300,700' rel='stylesheet' type='text/css'>
@import url("http://fonts.googleapis.com/css?family=Oswald:400,300,700");
那么,在您的CSS中,您可以编辑body元素的字体族:
body {
font-family: 'Oswald', sans-serif !important;
}
!default
,其中包括字体系列。你可以在自己的.scss
文件中设置这些变量,然后引入Bootstrap Sass文件,!default
将不会覆盖你的变量。这里有一个很好的解释,介绍了!default
的工作原理:https://thoughtbot.com/blog/sass-default。package.json
{
"devDependencies": {
"bootstrap": "4.0.0-alpha.6",
"gulp": "3.9.1",
"gulp-sass": "3.1.0",
"gulp-cssmin": "0.2.0"
}
}
mysite.scss
@import "./myvariables";
// Bootstrap
@import "bootstrap/scss/variables";
// ... need to include other bootstrap files here. Check node_modules\bootstrap\scss\bootstrap.scss for a list
_myvariables.scss
// For a list of Bootstrap variables you can override, look at node_modules\bootstrap\scss\_variables.scss
// These are the defaults, but you can override any values
$font-family-sans-serif: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !default;
$font-family-serif: Georgia, "Times New Roman", Times, serif !default;
$font-family-monospace: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !default;
$font-family-base: $font-family-sans-serif !default;
gulpfile.js
var gulp = require("gulp"),
sass = require("gulp-sass"),
cssmin = require("gulp-cssmin");
gulp.task("transpile:sass", function() {
return gulp.src("./mysite.scss")
.pipe(sass({ includePaths: "./node_modules" }).on("error", sass.logError))
.pipe(cssmin())
.pipe(gulp.dest("./css/"));
});
index.html
<html>
<head>
<link rel="stylesheet" type="text/css" href="mysite.css" />
</head>
<body>
...
</body>
</html>
我认为最好、最干净的方式是获取自定义下载的Bootstrap。
http://getbootstrap.com/customize/
然后您可以更改“排版”中的默认字体(在该链接中)。 这将为您提供一个.Less文件,稍后您可以进一步更改默认值。
!important
来实现吗?如果需要双重覆盖!important
可能会导致一些问题。 - Ruan Carloscustom.css
文件,在其中只需进行以下操作:font-family: "Oswald", Helvetica, Arial, sans-serif!important;
这个页面上大多数答案似乎建议自定义Bootstrap变量。
然而,对于Bootstrap 5来说,首选的方法似乎是使用CSS变量。https://getbootstrap.com/docs/5.1/customize/css-variables/
例如,body字体系列在_reboot.scss中设置为使用CSS变量bs-body-font-family,该变量在_root.scss中设置。因此,您可以重新定义此CSS变量:
body { --bs-body-font-family: 'YOUR GOOGLE FONT'; }
使用Bootstrap 5 SASS
使用$font-family-base
、$font-size-base
和$line-height-base
属性作为我们应用于“body”的排版基础。
variables.less
中更改以下变量。@font-family-sans-serif: "Helvetica Neue", Helvetica, Arial, sans-serif;
@font-family-serif: Georgia, "Times New Roman", Times, serif;
//** Default monospace fonts for `<code>`, `<kbd>`, and `<pre>`.
@font-family-monospace: Menlo, Monaco, Consolas, "Courier New", monospace;
@font-family-base: @font-family-sans-serif;
然后将其编译为.css
文件。
Bootstrap-live-customizer 是一个优秀的资源,能够帮助你自定义 Bootstrap 主题,并实时查看自己的更改结果。在这个网站上,你可以轻松地编辑字体并下载更新后的 .css 文件。
我知道这个答案晚了,但你可以在最新版本的Bootstrap中手动更改7个字体声明:
html {
font-family: sans-serif;
}
body {
font-family: sans-serif;
}
pre, code, kbd, samp {
font-family: monospace;
}
input, button, select, optgroup, textarea {
font-family: inherit;
}
.tooltip {
font-family: sans-serif;
}
.popover {
font-family: sans-serif;
}
.text-monospace {
font-family: monospace;
}
祝你好运。
custom.sass
,内容如下:@import url('https://fonts.googleapis.com/css2?family=Dancing+Script&display=swap');
$font-family-sans-serif: "Dancing Script", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default;
我只需在默认值的前面添加所需的字体,这些值可以在..\node_modules\boostrap\dist\scss\_variables.scss
中找到。
如何使用custom.scss
文件,请参见此处,该示例源自此处,后者源自此处...
由于React应用程序是通过Create-React-App实用程序创建的,因此无需像Gulp那样处理所有冗杂的工具;我只需保存文件,React将在幕后自动为我编译Sass。