In der Webentwicklung ermöglicht CSS (Cascading Style Sheets) Entwicklern, das visuelle Erscheinungsbild und Layout einer Website zu bestimmen. Da verschiedene Browser jedoch unterschiedliche Unterstützungsmechanismen für CSS haben, kann es beim Rendern von Webseiten durch den Compiler zu Inkonsistenzen kommen.
Um dieses Kompatibilitätsproblem zu lösen, entscheiden sich Entwickler häufig für den Einsatz von CSS-Hacks, um sicherzustellen, dass ihre Webseiten in verschiedenen Browsern und Geräten konsistent angezeigt werden. Ein solcher Hack ist das Asterisk-Attribut (auch bekannt als Asterisk-Attribut-Hack), das gegen bestimmte Versionen von Internet Explorer (IE) verwendet wird, die nur eingeschränkte CSS-Unterstützung bieten.
In diesem Artikel werden wir den Sternattribut-Hack in CSS untersuchen und seine Verwendungsmöglichkeiten und Einschränkungen besprechen. Wir stellen außerdem Beispiele für den effektiven Einsatz dieser Technik sowie Best Practices für die Implementierung in CSS-Code bereit.
Dies ist ein CSS-Hack zum Deklarieren verschiedener Eigenschaften von HTML-Elementen. Ein Attribut, dem ein Sternchen (*) oder ein Unterstrich (_) vorangestellt ist, wird nur in IE 7 und niedriger gerendert, während es in IE 8 und höher vom Compiler als Müll behandelt wird.
element{ background-color: red; // for other browsers _background-color: red; // for IE 6 and below *background-color: red; // for IE 7 and below }
Lassen Sie uns dies nun anhand eines Beispiels besser verstehen. Wir werden diesen Hack verwenden, um Eigenschaften in IE 6, IE 7 und anderen Browsern zu rendern.
HINWEIS – Dieser Hack funktioniert mit verschiedenen Browsern. Führen Sie das Programm daher im angegebenen Browser aus, um die korrekte Ausgabe zu beobachten.
So weisen Sie den Compiler an, CSS-Eigenschaften für Elemente in Internet Explorer 7 und früher zu rendern.
<!DOCTYPE html> <html> <head> <title>Internet Explorer 7 and Below Versions</title> <style> .my-div { background-color: red; width: 30%; height: 80%; padding: 3px; letter-spacing: 1px; margin-top: 40px; /* default margin applied in all other browsers */ *margin-top: 0; /* IE6 margin */ } </style> </head> <body> <h1>Star Preceded Property</h1> <h3>Given below is a div element whose margin-top will be 0 in IE 6 while it will be 20px in all other browsers.</h3> <div class="my-div"> This is my div element. </div> </body> </html>
Für IE7 und niedriger ist der obere Rand von div-Elementen Null.
Wenn Sie den Code in einem anderen Browser ausführen, beträgt der obere Rand des div-Elements 40 Pixel.
Im obigen Beispiel wendet der CSS-Selektor .my-div einen oberen Rand von 40 Pixeln an. Die Regel *margin-top: 0; funktioniert jedoch nur in Internet Explorer 6 und setzt die Ränder auf 0 Pixel. Das Sternchen (*) vor dem Eigenschaftsnamen (margin-top) ist das „Sternchen“ im „Star Property Hack“. Dies ist ein Syntaxfehler in anderen Browsern, daher wird diese Zeile ignoriert.
Eine weitere Möglichkeit, den Compiler dazu zu bringen, CSS-Eigenschaften für Elemente in Internet Explorer 6 und niedriger darzustellen, wird unten dargestellt. Mit IE 7 funktioniert es nicht.
<!DOCTYPE html> <html> <head> <style> .my-div { background-color: blue; /* default background color */ width: 30%; height: 80%; padding: 3px; letter-spacing: 1px; _background-color: red; /* background color in IE 6 and below versions */ } </style> </head> <body> <h1>Star Preceded Property </h1> <h3>Given below is a div element whose background color will be red in IE 6 and below while it will be blue in all other browsers.</h3> <div class="my-div"> This is my div element. </div> </body> </html>
Für IE6 und niedriger ist die Hintergrundfarbe des div-Elements blau.
Wenn Sie den Code in einem anderen Browser ausführen, ist die Hintergrundfarbe rot.
Im obigen Beispiel wendet der CSS-Selektor .my-div eine rote Hintergrundfarbe an. Die Regel _background-color: blue; funktioniert jedoch nur in Internet Explorer 6 und setzt die Hintergrundfarbe auf Blau.
Das „Sternattribut“ ist eine Technik, die in der Vergangenheit verwendet wurde, um mithilfe von CSS-Stilen auf eine bestimmte Version von Internet Explorer abzuzielen. Obwohl dieses Ziel effektiv erreicht wird, hat es auch einige Vor- und Nachteile.
Es ermöglicht Webentwicklern, verschiedene spezifische CSS-Stile auf ältere Versionen von Internet Explorer anzuwenden, ohne die Ergebnisse in allen anderen Browsern zu beeinträchtigen. Dies trägt dazu bei, ein konsistentes und einheitliches Erlebnis für Benutzer über mehrere Browser hinweg zu schaffen.
Es ist einfach zu verwenden und reduziert die Codemenge, was es zu einer attraktiven Alternative für Webentwickler macht. Es verhindert, dass sie bedingte Kommentare oder bestimmte Stylesheets für bestimmte Browser schreiben.
Es ist in der Webentwicklungs-Community weit verbreitet und beliebt, was es einfach macht, Beispiele und Unterstützung zu finden. Darüber hinaus ist es auch sehr benutzerfreundlich.
„Asterix vor Eigentum“ ist ein Hack. Dies ist keine standardmäßige und kompatible Art, CSS-Code zu schreiben. Damit es funktioniert, ist ein Fehler im Internet Explorer erforderlich. Darüber hinaus gibt es keine Garantie dafür, dass es in zukünftigen geänderten Versionen des Browsers oder in anderen Browsern funktioniert.
Dadurch ist der Code schwieriger zu lesen und zu warten. Da es sich dabei um das Schreiben von nicht standardmäßigem Code handelt, ist es ohne zusätzliche Kommentare oder Dokumentation schwierig zu verstehen, was der Code tut.
Dies kann zu unbeabsichtigten Folgen führen, z. B. zur Beeinträchtigung anderer Elemente auf der Seite oder zu einem unerwarteten Verhalten des Browsers.
Bei dieser Technik handelt es sich um eine Methode, die auf bestimmte Browser mit unterschiedlichen Stilen abzielt und einen Ersatz für ältere Browser wie Internet Explorer 6 bietet. Obwohl „Star-Attribut-Hacking“ damals nützlich war, wird es insgesamt nicht mehr als beste Webentwicklungsmethode empfohlen. Moderne Webentwicklungstechniken konzentrieren sich auf die Verwendung von Standard- und kompatiblem Code, der auf mehreren Browsern läuft, anstatt sich auf browserspezifische Hacks zu verlassen.
Das obige ist der detaillierte Inhalt vonWelchen Nutzen haben die Eigenschaften vor dem Sternchen in CSS?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!