[Bootstrap 4] Bootstrap v4 で media queries breakpoints を指定する
既存の mixin を書き換えてみます。
概要
このような mixin を利用していた部分を、ディフォルトで用意されている mixin に書き換えられます。
// Media Queries
$breakpoints: (
'sm': 'screen and (min-width: 576px)',
'md': 'screen and (min-width: 768px)',
'lg': 'screen and (min-width: 992x)',
'xl': 'screen and (min-width: 1200px)',
) !default;
@mixin mq($breakpoint: md) {
@media #{map-get($breakpoints, $breakpoint)} {
@content;
}
}
SCSS をこのように書き換えます。
.site-info {
display: none;
@include media-breakpoint-up(md) {
display: flex;
}
//@include mq(md) {
// display: flex;
//}
}
出力される CSS はこのようになります。
.site-info {
display: none; }
@media (min-width: 768px) {
.site-info {
display: flex; } }
この例であれば、横幅が 768px を越えた場合に display: flex;
のスタイルが適用されます。
ポイント
Bootstrap の mixin 名の方が直感的でしょうか。
@include media-breakpoint-up(md) { ... }
=>@media (min-width: 768px) { ... }
@include media-breakpoint-down(md) { ... }
=>@media (max-width: 991.98px) { ... }
@include media-breakpoint-only(md) { ... }
=>@media (min-width: 768px) and (max-width: 991.98px) { ... }
breakpoints の初期値
ブレークポイントの初期値は、下記のように設定されているので、必要に応じて書き換えます。
$grid-columns: 12;
$grid-gutter-width: 30px;
$grid-breakpoints: (
// Extra small screen / phone
xs: 0,
// Small screen / phone
sm: 576px,
// Medium screen / tablet
md: 768px,
// Large screen / desktop
lg: 992px,
// Extra large screen / wide desktop
xl: 1200px
);
$container-max-widths: (
sm: 540px,
md: 720px,
lg: 960px,
xl: 1140px
);