如何使用CDN在bootstrap 4中创建新的断点?

twitter-bootstrap CSS

泡芙

2020-03-24

我使用BootstrapCDN。用sass编写并由gulp构建的其他样式。我需要创建自己的Breakpionts。如果使用CDN,可以制作它们吗?我不知道该怎么做。我必须创建这些断点:

--breakpoint-xxxs: 0;
--breakpoint-xxs: 320px;
--breakpoint-xs: 568px;
--breakpoint-sm: 667px;
--breakpoint-md: 768px;
--breakpoint-lg: 992px;
--breakpoint-xl: 1200px;
--breakpoint-xxl: 1440px;
--breakpoint-xxxl: 1600px;

我想得到这样的东西:

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">

<div class="container">
	<div class="row">
		<div class="col col-xxxs-1 col-xxs-2 col-xs-3 col-sm-4 col-md-5 col-lg-6 col-xl-7 col-xxl-8 col-xxxl-9">
			<div style="height:100vh;background:purple">text</div>
		</div><!--col-->
	</div><!--.row-->
</div><!--.container-->

我找到了手册,正在尝试这样做:

$grid-breakpoints: (
  xxxs: 0,
  xxs: 320px,
  xs: 568px,
  sm: 667px,
  md: 768px,
  lg: 992px,
  xl: 1200px,
  xxl: 1440px,
  xxxl: 1600px
)  !default;

$container-max-widths: (
  xxxs: 0,
  xxs: 320px,
  xs: 568px,
  sm: 667px,
  md: 768px,
  lg: 992px,
  xl: 1200px,
  xxl: 1440px,
  xxxl: 1600px
) !default;

:root {
  --breakpoint-xxxs: 0;
  --breakpoint-xxs: 320px;
  --breakpoint-xs: 568px;
  --breakpoint-sm: 667px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 992px;
  --breakpoint-xl: 1200px;
  --breakpoint-xxl: 1440px;
  --breakpoint-xxxl: 1600px;
}

但是它不会产生结果,并且会产生错误:

非法嵌套:变量声明下不得嵌套任何内容。

Codepen mcve

我做错了什么?
预先感谢您的帮助。


UPD:如果不可能的话...还有其他选择吗?我可以轻松地编辑代码以使用断点模拟引导网格吗?


UPD2:我通过@ aer0修复了这些错误

$grid-breakpoints: (xxxs: 0, xxs: 320px, xs: 568px, sm: 667px, md: 768px, lg: 992px, xl: 1200px, xxl: 1440px, xxxl: 1600px)!default

$container-max-widths: (xxxs: 0, xxs: 320px, xs: 568px, sm: 667px, md: 768px, lg: 992px, xl: 1200px, xxl: 1440px, xxxl: 1600px)!default

\:root
  --breakpoint-xxxs: 0
  --breakpoint-xxs: 320px
  --breakpoint-xs: 568px
  --breakpoint-sm: 667px
  --breakpoint-md: 768px
  --breakpoint-lg: 992px
  --breakpoint-xl: 1200px
  --breakpoint-xxl: 1440px
  --breakpoint-xxxl: 1600px

但这不能解决我的问题。

第3719篇《如何使用CDN在bootstrap 4中创建新的断点?》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

2个回答
老丝逆天 2020.03.24

它不能完全通过CDN来完成。使用SASS 正确自定义/覆盖,您需要@import必需的Bootstrap scss文件custom.scss要覆盖网格断点,至少需要functionsvariables然后根据需要设置变量,最后设置@import bootstrap。注意默认值!按照文档中的说明被删除为正确的自定义方法。

/* import what we need to override */
@import "bootstrap/functions";
@import "bootstrap/variables";

/* set the overriding variables */
$grid-breakpoints: (
  xxxs: 0,
  xxs: 320px,
  xs: 568px,
  sm: 667px,
  md: 768px,
  lg: 992px,
  xl: 1200px,
  xxl: 1440px,
  xxxl: 1600px
);
$container-max-widths: (
  xxxs: 0,
  xxs: 320px,
  xs: 568px,
  sm: 667px,
  md: 768px,
  lg: 992px,
  xl: 1200px,
  xxl: 1440px,
  xxxl: 1600px
);

/* override the !default vars with the values we set above */
@import "bootstrap";

使用这种方法,我们添加了新的网格断点,并确保这些新断点在Bootstrap中的任何地方都可以使用,包括网格,用于间距,显示,flexbox,对齐,定位等的响应实用程序

https://www.codeply.com/go/BIgmm1XGc2

另请参阅:
如何使用SASS Twitter Bootstrap 扩展/修改(自定义)Bootstrap 4
:添加针对xxs断点的媒体查询

null 2020.03.24

根据Github的说法,您似乎在这里遇到了“错误”。看到这里:https : //github.com/sass/sass/issues/1166

话虽如此,您必须像这样那样在一行中编写变量定义。

$grid-breakpoints: (xxxs: 0, xxs: 320px, xs: 568px, sm: 667px, md: 768px, lg: 992px, xl: 1200px, xxl: 1440px, xxxl: 1600px) !default

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android