Reactアプリケーションを構築していて、コンポーネントにmaterial-uiを使用しています。スタイルに!important
プロパティを指定するにはどうすればよいですか?
私はこれを試しました:
<Paper className="left"...>
withStyles
およびWithStyles
を使用しています。次に、私のstyles.ts
:
left: {
display: "block",
float: "left!important",
},
しかし、これはエラーをスローします:
[ts] Type '"left!important"' is not assignable to type '"right" | "none" | "left" | "-moz-initial" | "inherit" | "initial" | "revert" | "unset" | "inline-end" | "inline-start" | undefined'.
index.d.ts(1266, 3): The expected type comes from property 'float' which is declared here on type 'CSSProperties'
(property) StandardLonghandProperties<TLength = string | 0>.float?: "right" | "none" | "left" | "-moz-initial" | "inherit" | "initial" | "revert" | "unset" | "inline-end" | "inline-start" | undefined
TypeScriptでmaterial-uiを使用する場合、!important
フラグをどのように割り当てますか?
そのままキャストできます。例えば:
left: {
display: "block",
float: "left!important" as any,
},
または
left: {
display: "block",
float: "left!important" as "left",
},
これが 遊び場の例 です。
mUIコンポーネントをオーバースタイルする方法はいくつかあります。最も簡単で簡単なのは、コンポーネント自体にスタイルを適用することです。インラインスタイルの重みは、指定されたCSSよりも詳細です。次のように使用します。
<Paper style={{display: 'block'}}...>
通常のCSSを利用したい場合:
import './style.css'
コンポーネントのクラスを提供します
<Paper className="left"...>
これにより、次のような通常のCSSを使用できるようになります
left: {
display: "block",
float: "left!important",
},
実装する前に、具体性とスタイルで何を達成するかについて考えることを強くお勧めします。そうしないと、MUIスタイルとの戦いが始まり、これはかなり厄介なものになる可能性があります。うまくいけば、これが幸せなコーディングに役立ちます;-)
プロパティと!important
の間にはスペースを入れてください。
left: {
display: "block",
float: "left !important",
}
私は同じ問題を抱えていましたが、これを実行しました。