Heim > Web-Frontend > CSS-Tutorial > Kann CSS bedingte Logik ohne if/else-Anweisungen implementieren?

Kann CSS bedingte Logik ohne if/else-Anweisungen implementieren?

Linda Hamilton
Freigeben: 2024-11-26 06:50:09
Original
469 Leute haben es durchsucht

Can CSS Implement Conditional Logic Without if/else Statements?

Kann CSS bedingte Logik verkörpern?

Der Bereich von CSS oder Cascading Style Sheets unterstützt keine nativen if/else-Bedingungen, wie gezeigt in traditionellen Programmiersprachen. Diese Einschränkung kann jedoch durch verschiedene Ansätze umgangen werden:

1. CSS-Klassen:

Durch die Nutzung von HTML-Klassen können Sie unterschiedliche Stilregeln für verschiedene Szenarien erstellen. Der folgende Code weist beispielsweise unterschiedliche Hintergrundpositionen basierend auf der Klasse zu:

<p class="normal">Text</p>
<p class="active">Text</p>
Nach dem Login kopieren
p.normal {
  background-position: 150px 8px;
}
p.active {
  background-position: 4px 8px;
}
Nach dem Login kopieren

2. CSS-Präprozessoren (z. B. Sass):

CSS-Präprozessoren wie Sass stellen bedingte Anweisungen bereit, die komplexere Bedingungen ermöglichen:

$type: monster;
p {
  @if $type == ocean {
    color: blue;
  } @else if $type == matador {
    color: red;
  } @else if $type == monster {
    color: green;
  } @else {
    color: black;
  }
}
Nach dem Login kopieren

3. Benutzerdefinierte CSS-Eigenschaften (Variablen):

Benutzerdefinierte Eigenschaften in CSS verhalten sich ähnlich wie Variablen und werden zur Laufzeit ausgewertet:

:root {
  --main-bg-color: brown;
}

.one {
  background-color: var(--main-bg-color);
}

.two {
  background-color: black;
}
Nach dem Login kopieren

4. Serverseitige Vorverarbeitung:

Mit einer serverseitigen Sprache wie PHP können Sie CSS-Dateien basierend auf dynamischen Werten vorverarbeiten:

p {
  background-position: <?php echo (@$_GET['foo'] == 'bar')? "150" : "4"; ?>px 8px;
}
Nach dem Login kopieren

5. CSS-Techniken für UI-Logik:

Ahmad Shadeed stellt in seinem Artikel neuartige CSS-Techniken zum Auflösen gängiger UI-basierter bedingter Logik ohne Verwendung von if/else vor:
[CSS If/Else](https: //www.sitepoint.com/css-ifelse/)

Das obige ist der detaillierte Inhalt vonKann CSS bedingte Logik ohne if/else-Anweisungen implementieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage