Css 引导4间隔错误?
Bootstrap4必须使用简单的CSS类调整边距和填充 理论上,我可以这样做:Css 引导4间隔错误?,css,bootstrap-4,Css,Bootstrap 4,Bootstrap4必须使用简单的CSS类调整边距和填充 理论上,我可以这样做: <div class="d-inline-block bg-inverse p-5 pb-0 m-5 mb-0"></div> 这应该是一个元素,除了底部之外,每侧都有填充物和边距。对吧? 但事实并非如此。相反,pb-0和mb-0被p-5和m-5覆盖,如下所示: pb-0和mb-0在原始源中的p-5和m-5之后定义,这些类中使用的所有属性都具有!重要信息。因此pb-0应该覆盖p-5
<div class="d-inline-block bg-inverse p-5 pb-0 m-5 mb-0"></div>
这应该是一个元素,除了底部之外,每侧都有填充物和边距。对吧?
但事实并非如此。相反,pb-0
和mb-0
被p-5
和m-5
覆盖,如下所示:
pb-0
和mb-0
在原始源中的p-5
和m-5
之后定义,这些类中使用的所有属性都具有!重要信息
。因此pb-0
应该覆盖p-5
定义的填充底部
,而mb-0
应该覆盖m-5
定义的空白底部
我创建了另一个示例,其中我以相同的方式定义了这些类,但在本例中,它们按预期工作:
为什么这些Bootstrap 4类不能按预期工作?UTIL使用的间距
!重要信息
因此,使用pb-0
覆盖p-5
是行不通的,因为p-5
在bootstrap.css中遵循pb-0
要获得它,请设置特定的侧面
而且,由于默认情况下DIV没有填充或边距,因此实际上不需要*-0
另请参见,浏览器在\u间距.scss
第12行中指示p-5
,在\u间距.scss
第15行中指示pb-0
。但是在查看引导文件之后,-0
类首先在\u size.scss
中的@each
循环中生成。所以是的,正如你所说,p-5
是在pb-0
之后定义的。但这对我来说似乎有点不对劲,我找不到一种情况,你需要一个特定的边填充被一个通用填充覆盖。我解决了在\u variables.scss
中重新排列$spacer
数组的问题。谢谢是的,这在你的情况下有效,但其他人可能想要相反的结果。例如,假设您要将填充置零,然后将其添加回一侧,例如:Text
。目前在BS4中,这是可行的,但是如果你改变类的顺序,它将不起作用,是的。。。没错。我本来打算打开一个关于GitHub的提案,但现在以您的例子来看,我发现没有理想的解决方案。感谢您的洞察力和伟大的问题!