{"id":882650,"date":"2023-10-22T21:59:13","date_gmt":"2023-10-23T02:59:13","guid":{"rendered":"https:\/\/blogging-techies.com\/ge\/10-haufige-css-fehler-die-entwickler-oft-machen\/"},"modified":"2023-10-22T21:59:13","modified_gmt":"2023-10-23T02:59:13","slug":"10-haufige-css-fehler-die-entwickler-oft-machen","status":"publish","type":"post","link":"https:\/\/blogging-techies.com\/ge\/10-haufige-css-fehler-die-entwickler-oft-machen\/","title":{"rendered":"10 h\u00e4ufige CSS-Fehler, die Entwickler oft machen"},"content":{"rendered":"<p>.<\/p>\n<h5>Arrangieren:<\/h5>\n<p>Es ist am besten, Klassen zu verwenden und Selektoren so einfach wie m\u00f6glich zu halten.  So k\u00f6nnen Sie den obigen Selektor vereinfachen:<\/p>\n<pre name=\"code\" class=\"css\">\r\n.nav a {\r\n    color: blue;\r\n}<\/pre>\n<p>Dieser Selektor funktioniert genauso wie der vorherige, ist jedoch viel einfacher.  W\u00e4hlen Sie ein beliebiges Element aus <a> das ist ein Nachkomme eines Elements mit der Klasse \u201enav\u201c.<\/a><\/p>\n<p>Durch die Vereinfachung Ihrer Selektoren ist Ihr CSS einfacher zu lesen und zu warten.  Es verringert auch die Wahrscheinlichkeit von Spezifit\u00e4tskonflikten, bei denen spezifischere Selektoren weniger spezifische Selektoren \u00fcberschreiben.<\/p>\n<p>Bedenken Sie jedoch, dass die Vereinfachung Ihrer Selektoren auch die Wahrscheinlichkeit von Namenskonflikten erh\u00f6hen kann, wenn zwei Elemente denselben Klassennamen haben, aber unterschiedliche Stile haben sollten.  Um dies zu vermeiden, k\u00f6nnen Sie Methoden wie BEM (Block, Element, Modifier) \u200b\u200bverwenden, um Ihre Klassen so zu benennen, dass die Wahrscheinlichkeit von Konflikten verringert wird.<\/p>\n<h4 id=\"6\">6. Ihr CSS wird nicht organisiert<\/h4>\n<p>Wenn Ihr CSS nicht organisiert ist, kann es schwierig sein, Stile zu finden und zu \u00e4ndern.  Dies kann zu Schwierigkeiten bei der Codepflege f\u00fchren, insbesondere bei der Arbeit mit gro\u00dfen Stylesheets oder in einer Teamumgebung.<\/p>\n<h5>Beispiel:<\/h5>\n<p>Nehmen wir an, Sie haben eine CSS-Datei mit Hunderten von Codezeilen und alle Stile sind gemischt:<\/p>\n<pre name=\"code\" class=\"css\">\r\nh1 {\r\n    color: blue;\r\n}\r\n\r\n.footer {\r\n    background: black;\r\n}\r\n\r\nh2 {\r\n    color: green;\r\n}\r\n\r\n.header {\r\n    background: white;\r\n}<\/pre>\n<p>In diesem Beispiel sind die Stile f\u00fcr verschiedene Abschnitte der Website \u00fcber die CSS-Datei verteilt.  Dies kann es schwierig machen, Stile f\u00fcr einen bestimmten Abschnitt zu finden, wenn Sie diese aktualisieren m\u00fcssen.<\/p>\n<h5>Arrangieren:<\/h5>\n<p>Eine gute Vorgehensweise besteht darin, Ihr CSS logisch zu organisieren.  So k\u00f6nnen Sie das obige CSS organisieren:<\/p>\n<pre name=\"code\" class=\"css\">\r\n\/* Header *\/\r\n.header {\r\n    background: white;\r\n}\r\n\r\nh1 {\r\n    color: blue;\r\n}\r\n\r\nh2 {\r\n    color: green;\r\n}\r\n\r\n\/* Footer *\/\r\n.footer {\r\n    background: black;\r\n}<\/pre>\n<p>In diesem Beispiel werden die Stile nach dem Abschnitt der Website gruppiert, f\u00fcr den sie gelten.  Dies erleichtert das Auffinden und Aktualisieren von Stilen f\u00fcr einen bestimmten Abschnitt.<\/p>\n<p>Es gibt viele M\u00f6glichkeiten, Ihr CSS zu organisieren, und die beste Methode h\u00e4ngt von den Besonderheiten Ihres Projekts ab.  Einige Entwickler bevorzugen es, ihr CSS nach Komponenten zu organisieren, andere ziehen es vor, es nach Seiten zu organisieren, und wieder andere ziehen es vor, es nach Stiltyp (Typografie, Layout, Farbe usw.) zu organisieren.<\/p>\n<p>Neben der Organisation Ihres CSS innerhalb jeder Datei ist es auch eine gute Idee, Ihre eigenen CSS-Dateien zu organisieren.  Bei gro\u00dfen Projekten kann es n\u00fctzlich sein, Ihr CSS in mehrere Dateien aufzuteilen (z. B. eine f\u00fcr Typografie, eine f\u00fcr das Layout, eine f\u00fcr Farben usw.) und sie dann alle mithilfe von @import-Anweisungen in ein Haupt-Stylesheet zu importieren.  Dies kann die Verwaltung und Wartung Ihres CSS erleichtern.<\/p>\n<h4 id=\"7\">7. Verwenden Sie keine CSS-Variablen<\/h4>\n<p>Mit CSS-Variablen, auch benutzerdefinierte Eigenschaften genannt, k\u00f6nnen Sie bestimmte Werte speichern, um sie im gesamten CSS wiederzuverwenden.  Wenn Sie sie nicht verwenden, wiederholen Sie m\u00f6glicherweise immer wieder dieselben Werte, was die Wartung und Aktualisierung Ihres CSS erschweren kann.<\/p>\n<h5>Beispiel:<\/h5>\n<p>Nehmen wir an, Sie haben einen bestimmten Blauton, den Sie h\u00e4ufig in Ihrem CSS verwenden:<\/p>\n<pre name=\"code\" class=\"css\">\r\n.header {\r\n    background-color: #007BFF;\r\n}\r\n\r\n.button {\r\n    background-color: #007BFF;\r\n}\r\n\r\n.link {\r\n    color: #007BFF;\r\n}<\/pre>\n<p>In diesem Beispiel wird derselbe Farbwert dreimal wiederholt.  Wenn Sie sich entscheiden, diese Farbe zu \u00e4ndern, m\u00fcssen Sie jede Instanz davon in Ihrem CSS suchen und aktualisieren.<\/p>\n<h5>Arrangieren:<\/h5>\n<p>Sie k\u00f6nnen eine CSS-Variable verwenden, um diesen Farbwert zu speichern:<\/p>\n<pre name=\"code\" class=\"css\">\r\n:root {\r\n    --main-color: #007BFF;\r\n}\r\n\r\n.header {\r\n    background-color: var(--main-color);\r\n}\r\n\r\n.button {\r\n    background-color: var(--main-color);\r\n}\r\n\r\n.link {\r\n    color: var(--main-color);\r\n}<\/pre>\n<p>In diesem Beispiel wird der Farbwert in einer Variablen namens \u2013main-color gespeichert und diese Variable wird \u00fcberall dort verwendet, wo die Farbe ben\u00f6tigt wird.  Wenn Sie sich entscheiden, diese Farbe zu \u00e4ndern, m\u00fcssen Sie nur die Variable aktualisieren und die \u00c4nderung wird \u00fcberall dort angewendet, wo die Variable verwendet wird.<\/p>\n<p>CSS-Variablen k\u00f6nnen die Pflege und Aktualisierung Ihres CSS erleichtern.  Sie k\u00f6nnen auch dazu beitragen, die Konsistenz Ihrer Stile sicherzustellen.  Beachten Sie jedoch, dass CSS-Variablen in einigen \u00e4lteren Browsern nicht unterst\u00fctzt werden. Wenn Sie also diesen Browser unterst\u00fctzen m\u00fcssen, m\u00fcssen Sie m\u00f6glicherweise einen Fallback bereitstellen oder einen Pr\u00e4prozessor wie Sass oder Less verwenden, die \u00fcber eigene Systeme f\u00fcr Variablen verf\u00fcgen.<\/p>\n<h4 id=\"8\">8. Ohne Ber\u00fccksichtigung der Barrierefreiheit<\/h4>\n<p>Barrierefreiheit im Webdesign bedeutet, Ihre Website f\u00fcr alle Menschen nutzbar zu machen, unabh\u00e4ngig von ihren F\u00e4higkeiten oder Behinderungen.  Dazu geh\u00f6ren Menschen mit Seh-, H\u00f6r-, kognitiven und motorischen Behinderungen.  Wenn Sie die Barrierefreiheit in Ihrem CSS nicht ber\u00fccksichtigen, schlie\u00dfen Sie m\u00f6glicherweise einen wichtigen Teil Ihrer Zielgruppe aus.<\/p>\n<h5>Beispiel:<\/h5>\n<p>Nehmen wir an, Sie haben eine Website mit hellgrauem Text auf wei\u00dfem Hintergrund:<\/p>\n<pre name=\"code\" class=\"css\">\r\nbody {\r\n    color: #999;\r\n    background-color: #fff;\r\n}<\/pre>\n<p>Das sieht vielleicht schick aus, ist aber f\u00fcr Menschen mit Sehbehinderung oder Farbsehbehinderung schwer zu lesen.<\/p>\n<p>Arrangieren:<\/p>\n<p>Um Ihre Website zug\u00e4nglicher zu machen, k\u00f6nnen Sie kontrastreiche Farben f\u00fcr Text und Hintergrund verwenden:<\/p>\n<pre name=\"code\" class=\"css\">\r\nbody {\r\n    color: #333;\r\n    background-color: #fff;\r\n}<\/pre>\n<p>Dies ist auch f\u00fcr Menschen mit Sehproblemen viel einfacher zu lesen.<\/p>\n<p>Neben dem Farbkontrast gibt es in Ihrem CSS noch viele weitere Aspekte der Barrierefreiheit zu ber\u00fccksichtigen.  Hier sind einige Beispiele:<\/p>\n<ul>\n<li>Verwenden Sie relative Einheiten wie em und rem f\u00fcr Schriftgr\u00f6\u00dfen, damit Benutzer die Textgr\u00f6\u00dfe bei Bedarf anpassen k\u00f6nnen.<\/li>\n<li>Vermeiden Sie die Verwendung von CSS zum Ausblenden von Inhalten, die f\u00fcr Screenreader zug\u00e4nglich sein sollen.  Verwenden Sie beispielsweise \u201evisibility:hidden\u201c oder \u201eopacity:0\u201c anstelle von \u201eshow:none\u201c.<\/li>\n<li>Verwenden Sie Medienabfragen, um Ihr Design responsiv zu gestalten, sodass es auf allen Bildschirmgr\u00f6\u00dfen verwendet werden kann.<\/li>\n<li>Verwenden Sie bei Bedarf ARIA-Rollen und -Eigenschaften, um unterst\u00fctzenden Technologien zus\u00e4tzliche Informationen bereitzustellen.<\/li>\n<\/ul>\n<p>Denken Sie daran, dass Barrierefreiheit nicht nur eine nette Funktion ist, sondern eine Voraussetzung f\u00fcr gutes Webdesign.  Durch die Barrierefreiheit Ihrer Website kann die Benutzerfreundlichkeit f\u00fcr alle Benutzer verbessert werden, nicht nur f\u00fcr Benutzer mit Behinderungen.<\/p>\n<h4 id=\"9\">9. Testen Sie nicht browser\u00fcbergreifend<\/h4>\n<p>Ihre Website kann in verschiedenen Browsern unterschiedlich aussehen und sich unterschiedlich verhalten, da sie CSS unterschiedlich interpretieren und rendern.  Wenn Sie Ihre Website nicht in allen g\u00e4ngigen Browsern testen, sind Ihnen diese Unterschiede m\u00f6glicherweise nicht bewusst, was zu einer schlechten Benutzererfahrung f\u00fcr einige Ihrer Besucher f\u00fchrt.<\/p>\n<h5>Beispiel:<\/h5>\n<p>Angenommen, Sie haben in Ihrem Website-Design ein CSS-Rasterlayout verwendet:<\/p>\n<pre name=\"code\" class=\"css\">\r\n.container {\r\n    display: grid;\r\n    grid-template-columns: repeat(3, 1fr);\r\n}<\/pre>\n<p>W\u00e4hrend CSS Grid in allen modernen Browsern unterst\u00fctzt wird, wird es m\u00f6glicherweise nicht vollst\u00e4ndig unterst\u00fctzt oder verh\u00e4lt sich in \u00e4lteren Versionen einiger Browser anders.<\/p>\n<h5>Arrangieren:<\/h5>\n<p>Um sicherzustellen, dass Ihre Website in allen g\u00e4ngigen Browsern korrekt aussieht und funktioniert, sollten Sie sie in jedem dieser Browser testen.  Dazu geh\u00f6ren Chrome, Firefox, Safari und Edge.  Es stehen auch Tools zur Verf\u00fcgung, die Sie bei browser\u00fcbergreifenden Tests unterst\u00fctzen k\u00f6nnen, z <a href=\"https:\/\/www.browserstack.com\/\" rel=\"nofollow noopener\" target=\"_blank\">Browser-Stack<\/a> Und <a href=\"https:\/\/smartbear.com\/product\/bitbar\/\" rel=\"nofollow noopener\" target=\"_blank\">Bitleiste<\/a>.<\/p>\n<p>Wenn Sie feststellen, dass eine bestimmte CSS-Funktion nicht unterst\u00fctzt wird oder sich in einem bestimmten Browser anders verh\u00e4lt, k\u00f6nnen Sie Funktionsabfragen (@supports Rule) verwenden, um eine Alternative bereitzustellen:<\/p>\n<pre name=\"code\" class=\"css\">\r\n.container {\r\n    display: flex;\r\n}\r\n\r\n@supports (display: grid) {\r\n    .container {\r\n        display: grid;\r\n        grid-template-columns: repeat(3, 1fr);\r\n    }\r\n}<\/pre>\n<p>In diesem Beispiel verwendet der Container standardm\u00e4\u00dfig das flexible Layout.  Wenn der Browser CSS Grid unterst\u00fctzt (wie durch die @supports-Regel festgelegt), verwendet er stattdessen das Grid-Layout.<\/p>\n<p>Das Ziel von browser\u00fcbergreifenden Tests besteht nicht darin, dass Ihre Website in allen Browsern genau gleich aussieht, sondern darin, allen Benutzern ein konsistentes und nutzbares Erlebnis zu bieten.<\/p>\n<h4 id=\"10\">10. Kein responsives Design verwenden<\/h4>\n<p>Angesichts der heutigen Vielfalt an Ger\u00e4ten und Bildschirmgr\u00f6\u00dfen ist es wichtig, dass Ihre Website responsive ist.  Das bedeutet, dass sich Ihr Website-Design an die Bildschirmgr\u00f6\u00dfe des Ger\u00e4ts anpassen muss, auf dem es angezeigt wird.  Wenn Sie kein responsives Design verwenden, kann die Nutzung Ihrer Website auf manchen Ger\u00e4ten, insbesondere auf Mobilger\u00e4ten, schwierig sein.<\/p>\n<h5>Beispiel:<\/h5>\n<p>Nehmen wir an, Sie haben eine Website mit einer festen Breite:<\/p>\n<pre name=\"code\" class=\"css\">\r\n.container {\r\n    width: 1200px;\r\n}<\/pre>\n<p>Diese Website sieht auf Bildschirmen mit einer Breite von 1200 Pixeln oder mehr gut aus, auf kleineren Bildschirmen f\u00fchrt sie jedoch zu horizontalem Scrollen, was im Allgemeinen als schlechte Benutzererfahrung angesehen wird.<\/p>\n<h5>Arrangieren:<\/h5>\n<p>Um Ihre Website responsiv zu gestalten, k\u00f6nnen Sie Medienabfragen verwenden, um unterschiedliche Stile f\u00fcr unterschiedliche Bildschirmgr\u00f6\u00dfen anzuwenden.  So k\u00f6nnen Sie das obige Beispiel responsiv machen:<\/p>\n<pre name=\"code\" class=\"css\">\r\n.container {\r\n    width: 100%;\r\n    max-width: 1200px;\r\n    margin: 0 auto;\r\n}<\/pre>\n<p>In diesem Beispiel nimmt der Container auf kleineren Bildschirmen 100 % der Bildschirmbreite ein und wird auf gr\u00f6\u00dferen Bildschirmen mit einer maximalen Breite von 1200 Pixeln zentriert.<\/p>\n<p>Sie k\u00f6nnen Medienabfragen auch verwenden, um v\u00f6llig unterschiedliche Stile f\u00fcr unterschiedliche Bildschirmgr\u00f6\u00dfen anzuwenden.  Zum Beispiel:<\/p>\n<pre name=\"code\" class=\"css\">\r\n.container {\r\n    width: 100%;\r\n}\r\n\r\n@media (min-width: 768px) {\r\n    .container {\r\n        width: 750px;\r\n        margin: 0 auto;\r\n    }\r\n}\r\n\r\n@media (min-width: 1200px) {\r\n    .container {\r\n        width: 1170px;\r\n        margin: 0 auto;\r\n    }\r\n}<\/pre>\n<p>In diesem Beispiel hat der Container auf Bildschirmen mit weniger als 768 Pixel die volle Breite, auf Bildschirmen zwischen 768 Pixel und 1199 Pixel eine Breite von 750 Pixel und auf Bildschirmen mit einer Gr\u00f6\u00dfe von 1200 Pixel oder mehr eine Breite von 1170 Pixel.<\/p>\n<p>Durch die Verwendung von Responsive Design k\u00f6nnen Sie Ihre Website benutzerfreundlicher und f\u00fcr ein breiteres Publikum zug\u00e4nglich machen.  Es ist ein entscheidender Aspekt des modernen Webdesigns.<\/p>\n   ","protected":false},"excerpt":{"rendered":"<p>. Arrangieren: Es ist am besten, Klassen zu verwenden und Selektoren so einfach wie m\u00f6glich zu halten. So k\u00f6nnen Sie den obigen Selektor vereinfachen: .nav a { color: blue; } Dieser Selektor funktioniert genauso wie der vorherige, ist jedoch viel einfacher. W\u00e4hlen Sie ein beliebiges Element aus das ist ein Nachkomme eines Elements mit der [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":882651,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","fifu_image_url":"https:\/\/blogging-techies.com\/wp-content\/uploads\/2023\/06\/11.png","fifu_image_alt":""},"categories":[7],"tags":[],"_links":{"self":[{"href":"https:\/\/blogging-techies.com\/ge\/wp-json\/wp\/v2\/posts\/882650"}],"collection":[{"href":"https:\/\/blogging-techies.com\/ge\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogging-techies.com\/ge\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogging-techies.com\/ge\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blogging-techies.com\/ge\/wp-json\/wp\/v2\/comments?post=882650"}],"version-history":[{"count":0,"href":"https:\/\/blogging-techies.com\/ge\/wp-json\/wp\/v2\/posts\/882650\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogging-techies.com\/ge\/wp-json\/wp\/v2\/media\/882651"}],"wp:attachment":[{"href":"https:\/\/blogging-techies.com\/ge\/wp-json\/wp\/v2\/media?parent=882650"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogging-techies.com\/ge\/wp-json\/wp\/v2\/categories?post=882650"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogging-techies.com\/ge\/wp-json\/wp\/v2\/tags?post=882650"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}