Angular 6 是不是正在删除默认元素边距?

Posted

技术标签:

【中文标题】Angular 6 是不是正在删除默认元素边距?【英文标题】:Is Angular 6 is removing default element margins?Angular 6 是否正在删除默认元素边距? 【发布时间】:2018-10-26 20:00:27 【问题描述】:

我遇到的问题是 Angular 6 中的 html 元素(以下示例中的按钮)似乎缺少默认边距:

Angular 5.2.2 example - 按钮之间有默认边距/间距

Angular 6.0 example - 缺少按钮之间的边距/间距

我希望有人可以在我打开 github 问题之前确认这是 angular 的问题 - 或者指出问题的根源

【问题讨论】:

Angular 不是 CSS 框架 可能是从模板中删除了非语义空格,这在我升级时改变了一些布局:github.com/angular/angular/issues/23764 【参考方案1】:

不,它不会改变边距。 angular 6.0 示例中的空格被 stripped,这将删除 inline-block 元素之间的边距。 Angular 有一个 preserveWhitespaces 配置,现在(在 6.0 版本中)默认禁用。

查看此答案以获取更多信息:How to globally set the preserveWhitespaces option in Angular to false?

【讨论】:

【参考方案2】:

您可以尝试添加preserveWhiteSpace,因为按钮之间的空间不是边距而是空白。

@Component( 
   selector: 'app-employee-list', 
   templateUrl: './employee-list.component.html', 
   styleUrls: ['./employee-list.component.css'], 
   preserveWhitespaces: true 
) 
export class EmployeeListComponent  

要跨应用程序执行此操作,您可以执行以下操作:

[…] 
"angularCompilerOptions":  
  "preserveWhitespaces": true 
 
[…]

【讨论】:

以上是关于Angular 6 是不是正在删除默认元素边距?的主要内容,如果未能解决你的问题,请参考以下文章

html5哪些属性用于定义盒子的宽度值和高度值是不是包含元素的内边距和边框

从 Angular 页面中删除 img 元素

如何删除正文周围的边距空间或清除默认 CSS 样式

Angular Material - mat-select:自定义填充溢出父元素

Angular 6 错误显示 <mat-panel-title> 不是已知元素

Angular:如何在不删除子元素的情况下删除包装器(父元素)?