【问题标题】:How can I change the color of the ion-title?如何更改 ion-title 的颜色?
【发布时间】:2017-10-19 07:00:13
【问题描述】:

我尝试在 ionic 2 中更改 ion-title 的颜色。

我有以下代码:

<ion-header>
  <ion-navbar>
   <ion-title primary>Title</ion-title>
  </ion-navbar>
</ion-header>

ion-title 的颜色不会改变。我尝试了几件事:

<ion-title color="primary">Title</ion-title> 
<ion-title> 
    <p primary>Title</p>
</ion-title>

第二个标题颜色正确,但标题很大。所以我在 variables.scss 中添加了这个:

$toolbar-ios-height: 5rem; // ios
$toolbar-md-height: 5rem;  // android

但没有任何改变。有人有解决方案吗?还是我必须使用ph 标签来更改颜色?

【问题讨论】:

  • 您是否在移动设备上进行测试?如果是这样,你在运行之前重建你的项目吗?或者你在使用ionic serve 吗?尝试在您的浏览器选项中使用Cache Disable
  • 我试用了预览版、设备和模拟器。 $toolbar 有效,我尝试过,但不适用于 p 或 h 标签。就在我有 ion-title
  • 您需要全局更改还是一页?

标签: html ionic-framework sass ionic2 ionic3


【解决方案1】:

作为一种替代方法,可以使用这样的东西:

ion-toolbar { --color: #940000 } 

根据需要设置颜色;放入 *.scss 文件。

享受吧!

【讨论】:

    【解决方案2】:

    我知道这个问题已经回答了,但是另一种设置标题中文本颜色的方法是在 variables.scss 文件中,

    $colors: (
        calm: (
          base: #000,
          contrast: #ffc900
        ),
       etc..
    );
    
    
    
    <ion-navbar color="calm">
        <ion-title>Some Text</ion-title>
    </ion-navbar>
    

    base 将是您的背景颜色, contrast 将是您的文本/图标颜色

    【讨论】:

    • 这正是我想要的,我想改变特定页面上的 ion-title 颜色而不是全局。
    【解决方案3】:

    ion-title 元素中删除 color="..." 并在您的 variables.scss 文件中使用此 sass 变量:

    $toolbar-md-title-text-color: #777;
    $toolbar-ios-title-text-color: #777;
    $toolbar-wp-title-text-color: #777;
    

    如果您想使用命名颜色变量中包含的一种颜色

    $colors: (
      primary:    #488aff,
      secondary:  #32db64,
      danger:     #f53d3d,
      light:      #f4f4f4,
      dark:       #222,
    
      ...
    
      custom:     #777
    );
    

    您可以像这样使用map-get 来做到这一点:

    $toolbar-md-title-text-color: map-get($colors, custom);
    $toolbar-ios-title-text-color: map-get($colors, custom);
    $toolbar-wp-title-text-color: map-get($colors, custom);
    

    注意:

    使用 just 设置颜色 color 属性自 3.0.0 版本的 Ionic more info 以来已被弃用。

    更新:

    [...] 导航栏上的所有元素都会改变颜色,我们可以改变吗 离子标题?或者有第二个变量来改变其他元素?

    您可以在app.scss 文件中添加此样式规则(使其全局化),它只会更改标题,不会更改其他内容:

    .toolbar-title.toolbar-title-md, 
    .toolbar-title.toolbar-title-ios, 
    .toolbar-title.toolbar-title-wp { color: map-get($colors, custom); }
    

    【讨论】:

    • 很抱歉再次打扰您,但是导航栏上的所有元素都会改变颜色,我们可以改变 ion-title 吗?或者有第二个变量来改变其他元素?
    • 别担心,我们是来帮忙的 :) 看起来像一个错误,但无论如何,您可以在 app.scss 文件中添加此样式规则,而不是使用 sass 变量(使其成为全球性的),它只会改变标题而不是别的:.toolbar-title.toolbar-title-md, .toolbar-title.toolbar-title-ios, .toolbar-title.toolbar-title-wp { color: map-get($colors, custom); }
    • 非常感谢!这与以前的结合,我得到了我想要的,祝你有美好的一天:)
    • 太棒了!我已经用最后的 cmets 更新了答案
    猜你喜欢
    • 2019-04-29
    • 2016-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-02
    • 1970-01-01
    • 2017-11-22
    相关资源
    最近更新 更多