Sichtbarkeit von CSS User properties?

1 Antwort

Bitte gewöhn dir ein solches Aufsplitten von CSS gar nicht erst an, sondern beschäftige dich mit einem CSS Preprocessor wie Sass (SCSS), Stylus oder Less. Du kannst dort ebenfalls Teile auslagern und am Ende bloß ein Stylesheet kompilierst.

Doch wenn ich im :root (general.css) eine neue Variable deklariere, wird sie mir in der header.css nicht angezeigt...

Wenn die Variable in deiner general.css angelegt wird, steht sie dort statisch drin und lediglich manuell in anderen Stylesheets eingesetzt resp. verwendet werden kann. Wie schon eingangs erwähnt, dafür eine CSS Preprocessor verwenden solltest.

Zu guter Letzt sei noch darauf hingewiesen, das beim Import auch die Kaskade berücksichtigt werden sollte. Falls du dich für SCSS als CSS Preprocessor entscheidest, findet du auch einen passenden Live Compiler als VS Extension.

Ebenso sei gesagt, dass du deine CSS Dateien inhaltlich nicht ändern brauchst. Du musst lediglich die Dateien von *.css in *.scss umbenennen, passend einbinden und durch den Compiler in eine main.css oder styles.css kompilieren lässt.

main.scss:

@forward '_general'; // = _general.scss
@forward '_header';  // = _header.scss
@forward '_main';    // = _main.scss
@forward '_footer';  // = _footer.scss

Wird kompiliert als main.css. Der Unterstrich vorne vorweg sorgt dafür, dass der Compiler nicht jede einzelne *:scss einzeln kompiliert. Die Dateiendung kann beim Einbinden ebenso weggelassen werden. Verlinkt wird zudem nur die main.css.

LG medmonk

Woher ich das weiß:Berufserfahrung – UI/UX Designer, Full-Stack Developer
Benutzer264 
Fragesteller
 20.04.2024, 15:25

Vielen Dank dir!

Macht man bei scss/sass eine lange Datei oder mehrere für verschiedene Bereiche und bindet diese in einer Haupt style.scss Datei?

lg

0
medmonk  21.04.2024, 03:17
@Benutzer264

In SCSS kannst du es in mehrere Dateien splitten und der Compiler die unterschiedlichen Teile hinterher daraus ein einziges CSS zusammenbaut. Du kannst also sowohl Ordner und dutzend einzelne SCSS Dateien anlegen.

Du behältst beim Entwickeln einen besseren Überblick und am Ende trotzdem nicht das Problem ist, mehrere einzelne CSS Dateien einbinden zu müssen. Zumal letztere weitere HTTP-Requests verursachen würden.

oder mehrere für verschiedene Bereiche und bindet diese in einer Haupt style.scss Datei?

Genau so! Du teilst die Bereiche und Komponenten in einzelne Dateien auf, importierst diese mit @forward in deiner styles.scss und der Compiler baut dir daraus eine einzige styles.css in der alle Teile enthalten sind.

1
Benutzer264 
Fragesteller
 21.04.2024, 10:39

Vielen vielen Dank dir nochmal für deine Hilfe!!!!

1