css - 如何覆盖 ionic sass 变量?

标签 css angular sass ionic2

阅读ionic2文档后,我们可以通过覆盖variables.scss文件中的scss变量来覆盖scss变量并更改ionic2组件的样式和颜色。

我需要更改 ionic2 滑动项的背景颜色。 看完页面ionic2 theming ,我可以通过改变这两个变量的颜色来改变背景

$item-wp-sliding-content-background & $item-ios-sliding-content-background

这是我的代码:

$item-md-sliding-content-background: color($colors, rnbBlue);
$item-ios-sliding-content-background: color($colors,rnbBlue);

$rnbBlue: #1b5b94;

这是我的应用界面:

enter image description here

最后的代码是有效的,因为我看到背景颜色更改为 rnbBlue 的检查元素:

enter image description here

但是滑动项仍然是白色的!...我在检查中看到 .item-mdbackground:white : enter image description here

当我禁用 background:white 时,颜色变为 rnbBlue,,, 我知道我可以通过 .item-md{... 但我不需要这种方法,因为这不是最佳实践

NOTE: I'm using "ionic-angular": "3.6.0", "ionic-native": "^2.9.0",

现在我的问题是: 为什么覆盖方法不能正常工作?!

谢谢。

最佳答案

您显然误解了 $item-xx-sliding-content-background 变量。这不是元素背景颜色本身,而是当您滑动 ion-item-sliding 传递可滑动内容时出现的背景。

所以试试这段代码

<ion-item-sliding #item>
  <ion-item>
    Item
  </ion-item>
  <ion-item-options side="right">
    <button ion-button (click)="unread(item)">Unread</button>
  </ion-item-options>
</ion-item-sliding>

捕获元素并将其拖动到左侧,您会看到背景将为 $rnbBlue 颜色。

wp只有背景色,你可以找到所有SASS变量here .

但是说您不想通过 SCSS 文件覆盖 CSS 因为这不是最佳实践是错误的。当然,通过 SASS 更新它很好,它井然有序且易于查找,但如果这是唯一正确的方法,我们将为每个组件的所有可能的 CSS 属性设置变量。

你可以覆盖 SCSS 文件中的 CSS,你只需要以最好的方式编写它。

您是否只想覆盖该页面的元素背景颜色?转到该组件 .scss 文件并执行

my-component-tag {
  .item { /* This'll override the item for all platforms, if you want just for ios you can try .item-ios*/
    background-color: #1b5b94;
  }
}

您想为您的所有应用覆盖它吗?所以转到 src/app/app.scss 文件并在那里覆盖。

请记住,组织您的应用程序 CSS 代码取决于您,如果您想坚持使用变量,那很好,但在某些地方需要使用一些 CSS,这也很好。如果您害怕得到乱码,请尝试使用 BEM ,这很容易,您将拥有一个良好且有组织的代码。

希望这对您有所帮助。

关于css - 如何覆盖 ionic sass 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48538215/

相关文章:

css - 类型 'Element[]' 不可分配给类型 'ReactElement<any>'

html - 桌面查看不同的视频和移动查看不同的视频自动播放

html - 如何在 Angular 6 中显示以 base64 格式编码的图像?

html - 更改 li 顺序 - 颠倒顺序

angular - 我没有在 typescript angular7 中获取文本框值

angular - 将数组绑定(bind)到模板中的组件仅在页面加载时起作用

css - SASS CSS 动画

css - 使用 Button React 更改 .scss

css - Bootstrap SASS 自定义按钮未显示在表格或卡片中?

css - 混合内部的 Sass 变量包括