【问题标题】:SAPUI5 - Input Field - Fontsize - CSS: Changing fontsize does not workSAPUI5 - 输入字段 - 字体大小 - CSS:更改字体大小不起作用
【发布时间】:2021-12-19 17:19:44
【问题描述】:

我有一个 sap.m.Input 类型的字段。 众所周知,我把它放在了我的视野中。 我添加了如下所示的自定义 .css 代码:

.inputFocused{

  background-color: #ABEBC6 !important;
  font-size: 3.5rem !important; 
}

.inputNotFocused{

    background-color: #F4F4F4 !important;
    font-size: 35px !important;
 }

不管我是否将其中一种样式作为标签属性通过

<Input class="inputNotFocused" id="privateId" type="Number" editable="false" maxLength="13" placeholder="{i18n>privateId}" width="150px"/>

或者如果我在任何给定时刻在运行时这样做,比如

this.rInputWithFocus.addStyleClass("inputFocused");

我确实看到了背景颜色的变化。

但字体从未改变过。

同样的方法也适用,例如,对于简单的标签,没有任何问题。

但显然不是用于 sap.m.Input。

我错过了什么?

【问题讨论】:

    标签: css sapui5 font-size input-field


    【解决方案1】:

    UI5 控件Input 将呈现为包含实际输入的 div。

    生成的 HTML 如下所示

    <div id="__xmlview1--inputText-content" class="sapMInputBaseContentWrapper" style="width: 100%;">
        <input id="__xmlview1--inputText-inner" placeholder="Enter text" value="" aria-labelledby="__label5" type="text" autocomplete="off" class="sapMInputBaseInner">
    </div>
    

    您的自定义类 inputNotFocused 将应用于 div。

    内部输入有自己的 CSS 类,它定义了不同的字体大小(但不是不同的背景颜色,这就是为什么可以通过更改 div 来更改背景颜色并且输入将继承背景颜色的原因div)。

    如果您想更改内部输入,请调整您的 CSS:

    .inputNotFocused input {
       font-size: 3.5rem;
    }
    

    或者使用.inputNotFocused .sapMInputBaseInner作为选择器。

    不需要丑陋的!important btw。

    但请记住,将您自己的 CSS 添加到 SAP 标准 CSS 中可能会在未来出现问题。

    【讨论】:

    • 非常感谢。我对我的按钮做了类似的事情,因为我想让它们更大,用更大的字体等等。我在“onAfterRenderingh”中进行了操作,选择了 domRef 并为此更改了两个内部跨度。我想,我可以避免在输入字段中使用这种方法,但似乎并非如此。基本上,SAP 在控件及其属性的包装方面做得非常糟糕,我的意思是,他们想通过这种无用的限制来实现什么?他们开发这种愚蠢的废话是在想什么?我看过很多废话,但这只是最重要的。
    • 我不明白你所说的“限制”是什么意思。如果您了解 CSS,这些控件很容易扩展。我也不知道为什么他们为似乎没有必要的控件创建包装器,但是如果您坚持标准(并且 SAP Fiori 设计指南的存在是有原因的),那么您无论如何都不必担心内部细节.
    • 显然我需要担心... 1 ) 用本地的覆盖标准 css 将适用于所有使用特定标准 css 的控件。这不是我想要的。 2) 例如,一些按钮应该有粗体、更大的字体,并且更大(不仅在宽度上)而且在高度上,直到我进入 onAfterRendering 中的 getDomRef 才起作用。 3)我的应用程序中的所有按钮都将以相同的方式更改,这不是我想要的。输入字段也是如此。 4) 指导方针?我们没有一个客户满意,因为 SAP 人员来拜访我们并介绍了他们。
    • 1) 使用你自己的 CSS 类 2) 使用 CSS 而不是 getDomRef 3) 使用不同的 CSS 类 4) 好吧
    猜你喜欢
    • 1970-01-01
    • 2016-01-02
    • 2018-09-07
    • 1970-01-01
    • 2014-04-29
    • 1970-01-01
    • 2016-06-01
    • 2014-03-06
    • 1970-01-01
    相关资源
    最近更新 更多