Ich erstelle eine Seite und möchte, dass ein Material-UI-Element ein Hintergrundbild verwendet background-image CSS-Eigenschaft. Ich habe es natürlich gegoogelt und es gibt Lösungen, aber aus irgendeinem Grund kann ich dieses Bild nicht sehen.
PS1: Selbst die Änderung dieses Material-UI-Elements in „normal“ hat mir überhaupt nicht geholfen.
PS2: Wenn ich einen Container verwende, wird es angezeigt, aber das ist nicht das, was ich will.
UPDATE1: Ich habe versucht, dem Container Höhe und Breite hinzuzufügen, aber immer noch kein Erfolg …
import React from 'react';
import Paper from 'material-ui/Paper';
import IconButton from 'material-ui/IconButton';
import ActionHome from 'material-ui/svg-icons/action/home';
const styles = {
paperContainer: {
backgroundImage: `url(${"static/src/img/main.jpg"})`
}
};
export default class Home extends React.Component{
render(){
return(
<Paper style={styles.paperContainer}>
</Paper>
)
}
}
Romain Le Qllc
Sie müssen das Bild wie folgt importieren und dabei den relativen Pfad verwenden.
import React from 'react';
import Paper from 'material-ui/Paper';
import IconButton from 'material-ui/IconButton';
import ActionHome from 'material-ui/svg-icons/action/home';
import Image from '../img/main.jpg'; // Import using relative path
const styles = {
paperContainer: {
backgroundImage: `url(${Image})`
}
};
export default class Home extends React.Component{
render(){
return(
<Paper style={styles.paperContainer}>
Some text to fill the Paper Component
</Paper>
)
}
}
@EugeneTsakh Ja, ich habe diese Abhängigkeit erfüllt. Bundle geht ohne Fehler. (“Dateilader”: “^0.11.2”)
– Römisch
6. November 2017 um 21:01 Uhr
Mmmmh, das ist seltsam, es funktioniert mit meiner einfachen Create-React-App … Haben Sie versucht, das Bild in einer einfachen App zu verwenden? <img src={Image} /> um zu sehen, ob der Import funktioniert? Oh, ich hätte es vielleicht gefunden! Hast du etwas Text in deinen Text eingefügt? <Paper> Nur um zu überprüfen, ob meine Lösung funktioniert? Ich habe gerade meine Antwort aktualisiert
– Romain Le Qllc
6. November 2017 um 21:27 Uhr
Ich habe bereits eine Antwort auf diese Frage gepostet, habe jedoch gerade auch Ihre Lösung ausprobiert. Funktioniert bei mir nicht 🙁
– Römisch
8. November 2017 um 20:19 Uhr
römisch
Ich habe eine Lösung für meinen Fall gefunden. Es hat tatsächlich geholfen, die Containerhöhe in Pixel festzulegen.
Ich habe dies für material-ui zum Laufen gebracht, wo der Abstand meines übergeordneten Elements 24 Pixel betrug, also habe ich 48 Pixel zur Breite des Hintergrundbilds hinzugefügt, damit es funktioniert …
Hatte die gleichen Probleme bei der Arbeit mit Material UI React und der Create React App. Hier ist die Lösung, die für mich funktioniert hat. Beachten Sie, dass ich einen Webpack-Alias für den relativen Pfad eingerichtet habe
Wie Romainwn sagte, müssen Sie das Bild in die Datei importieren. Stellen Sie sicher, dass Sie den relativen Pfad zum übergeordneten Element verwenden
static/src/img/main.jpg #looks for static folder from current file location
Tun
/static/src/img/main.jpg #looks for file from host directory:
Ein weiterer Trick wäre das Hinzufügen eines Inline-Style-Tags zur Komponente:
import React from 'react';
import Paper from 'material-ui/Paper';
import IconButton from 'material-ui/IconButton';
import ActionHome from 'material-ui/svg-icons/action/home';
import Image from '../img/main.jpg'; // Import using relative path
export default class Home extends React.Component{
render(){
return(
<Paper style="background:path/to/your/image;">
</Paper>
)
}
}
M.Islam
Sie können Requisiten in MUI v5 sxen
import React from 'react';
import Paper from 'material-ui/Paper';
import Image from '../img/main.jpg';
export default class Home extends React.Component{
render(){
return(
<Paper sx={{ backgroundImage: `url(${Image})` }}>
</Paper>
)
}
}
14527500cookie-checkHintergrundbild in der Reaktionskomponenteyes