我正在尝试为Angular 6应用程序覆盖和定义全局标题样式。如果我在 styles.scss 文件中执行了类似的操作,那么它将起作用!
$h1-font-size: 50px;
但是当我尝试根据屏幕大小(媒体查询)定义$ h1-font-size时,它没有显示正确的字体大小,我有类似以下的ATM:
//屏幕尺寸断点
$grid-breakpoints: (
xs: 0,
sm: 576px,
md: 768px,
lg: 992px,
xl: 1200px
);
// media queries xs, md and lg
@media only screen and (min-width: map-get($grid-breakpoints, xs)) {
$h1-font-size: 12px;
}
@media only screen and (min-width: map-get($grid-breakpoints, md)) {
$h1-font-size: 18px;
}
@media only screen and (min-width: map-get($grid-breakpoints, lg)) {
$h1-font-size: 50px;
}
angular.json:
"styles": [
"node_modules/bootstrap/dist/css/bootstrap-reboot.css",
"node_modules/bootstrap/dist/css/bootstrap-grid.css",
"src/styles.scss",
...
],
bootstrap-scss._variables.scss文件:scss file
$h1-font-size: $font-size-base * 2.5 !default;
$h2-font-size: $font-size-base * 2 !default;
$h3-font-size: $font-size-base * 1.75 !default;
$h4-font-size: $font-size-base * 1.5 !default;
$h5-font-size: $font-size-base * 1.25 !default;
$h6-font-size: $font-size-base !default;
styles.scss文件:
/* You can add global styles to this file, and also import other style files */
@import '~bootstrap/scss/bootstrap-reboot';
@import '~bootstrap/scss/bootstrap-grid';
// Required
@import "~node_modules/bootstrap/scss/bootstrap";
/* Set global default font family */
$font-family-base: 'Source Sans Pro',
sans-serif;
body,
html {
font-family: $font-family-base
}
$grid-breakpoints: ( xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px);
@media only screen and (min-width: map-get($grid-breakpoints, xs)) {
$h1-font-size: 12px;
}
@media only screen and (min-width: map-get($grid-breakpoints, md)) {
$h1-font-size: 12px;
}
@media only screen and (min-width: map-get($grid-breakpoints, lg)) {
$h1-font-size: 50px;
}
有可能吗?根据屏幕尺寸覆盖boostrap-scss标题的最佳做法是什么?
链接到stackblitz示例-https://stackblitz.com/edit/angular-scss-global-headings
答案 0 :(得分:0)
问题是您将新的vlaue分配给变量取决于屏幕大小,但您从未使用过它。只需选择h1并设置一个值即可。它与您的stackblitz示例一起使用
@media only screen and (min-width: map-get($grid-breakpoints, xs)) {
$h1-font-size: 10px;
h1 {
font-size: $h1-font-size
}
}
@media only screen and (min-width: map-get($grid-breakpoints, md)) {
$h1-font-size: 30px;
h1 {
font-size: $h1-font-size
}
}
@media only screen and (min-width: map-get($grid-breakpoints, lg)) {
$h1-font-size: 50px;
h1 {
font-size: $h1-font-size
}
}