Ich habe eine benutzerdefinierte ReactJS-Komponente, die ich in einer bestimmten Weise stylen und als Plugin für viele verschiedene Websites bereitstellen soll. Wenn Websites jedoch globale Stile verwenden (Twitter-Bootstrap oder ein anderes CSS-Framework), werden Stile meiner Komponente hinzugefügt und überschrieben. Zum Beispiel:Wie verhindern, dass außerhalb CSS ReactJS-Komponentenstile hinzufügen und überschreiben
global.css:
label {
color: red;
font-weight: bold;
}
component.js:
class HelloMessage extends React.Component {
render() {
let style = {
color: "green"
};
return (<label style={style}>Hello</label>);
}
}
Ergebnis:
Above ich nicht „nicht genutzt font- Weight: fett "im Stil meiner Komponente, aber im Ergebnis, das meine Komponente verwendet es.
Ich möchte die Stile meiner benutzerdefinierten Komponenten so einkapseln, dass sie auf allen Websites gleich aussehen.
Soweit ich weiß, wenn Sie nicht wollen, dass Ihr Element Eigenschaften erbt, müssen Sie sie selbst einstellen. Zum Beispiel style = {color: "green", fontWeight: "normal"} – Paran0a
Wenn Sie ein CSS-Framework verwenden, erhalten Komponenten dieses Frameworks-Styling. Entfernen Sie diese Komponentenstile aus dem Framework, das Sie verwenden –
@ Paran0a Ich kann nicht vorhersehen, welche Eigenschaften in global.css sein werden oder ich weiß nicht, welches CSS-Framework auf einer Website sein wird. – Den