You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Eine Sammlung an Tipps, um deine CSS-Fähigkeiten zu professionalisieren.
8
4
9
5
> Für andere großartige Listen schaue dir [@sindresorhus](https://github.com/sindresorhus/)s kuratierte Liste von ["awesome" Listen](https://github.com/sindresorhus/awesome/) an.
10
6
11
-
12
7
## Inhaltsverzeichnis
13
8
14
-
*[Profi-Tipps](#profi-tipps)
15
-
*[Unterstützung](#unterstützung)
16
-
*[Mitarbeitsrichtlinien](../../CONTRIBUTING.md)
17
-
9
+
-[Profi-Tipps](#profi-tipps)
10
+
-[Unterstützung](#unterstützung)
11
+
-[Mitarbeitsrichtlinien](../../CONTRIBUTING.md)
18
12
19
13
## Profi-Tipps
20
14
@@ -44,7 +38,6 @@ Eine Sammlung an Tipps, um deine CSS-Fähigkeiten zu professionalisieren.
44
38
1.[Benutze `Pointer`-Events um Mausereignisse zu kontrollieren](#benutze-pointer-events-um-mausereignisse-zu-kontrollieren)
45
39
1.[Stellen Sie bei Zeilenumbrüchen, die als Abstand verwendet werden, `display: none` ein](#stellen-sie-bei-zeilenumbrüchen,-die-als-abstand-verwendet-werden-display-none-ein)
46
40
47
-
48
41
### Benutze ein CSS-Reset
49
42
50
43
CSS Resets helfen dabei eine Gestaltungskonsistenz zwischen verschiedenen Browsern herzustellen, indem sie für einen sauberen Zustand zwischen den einzelnen Elementen sorgen. Du kannst eine CSS Resetsammlung wie [Normalize](http://necolas.github.io/normalize.css/), usw. benutzen, oder einen etwas einfacheren Ansatz wählen:
@@ -67,7 +60,6 @@ Nun werden Elemente von ihren Margins und Paddings befreit und `box-sizing` läs
67
60
68
61
<sup>[zurück zum Inhaltsverzeichnis](#inhaltsverzeichnis)</sup>
69
62
70
-
71
63
### Übernehme `box-sizing`
72
64
73
65
Übernehme `box-sizing` von `html`:
@@ -90,7 +82,6 @@ Dies macht es einfacher das `box-sizing` über Plugins oder andere Komponenten z
90
82
91
83
<sup>[zurück zum Inhaltsverzeichnis](#inhaltsverzeichnis)</sup>
92
84
93
-
94
85
### Benutze `unset`, anstatt alle Eigenschaften zurückzusetzen
95
86
96
87
Wenn du die Eigenschaften eines Elements zurücksetzt, ist es nicht notwendig jede einzelne Eigenschaft individuell zurückzusetzen:
@@ -116,7 +107,6 @@ button {
116
107
117
108
<sup>[zurück zum Inhaltsverzeichnis](#inhaltsverzeichnis)</sup>
118
109
119
-
120
110
### Benutze `:not()` um Rahmen an die Navigation zu setzen oder zu entfernen
121
111
122
112
Anstatt den Rahmen zu ergänzen…
@@ -151,7 +141,6 @@ Sicher, du kannst `.nav li + li` verwenden, aber mit `:not()` ist die Absicht se
151
141
152
142
<sup>[zurück zum Inhaltsverzeichnis](#inhaltsverzeichnis)</sup>
153
143
154
-
155
144
### Check If Font Is Installed Locally](#check-if-font-is-installed-locally)
156
145
157
146
### Kontroller, om skrifttypen er installeret lokalt
@@ -164,10 +153,8 @@ Du kan kontrollere, om en skrifttype er installeret lokalt, før du henter den e
@@ -179,7 +166,6 @@ Hat tip til Adam Argyle for at dele denne protip og [demoen](https://codepen.io/
179
166
180
167
<sup>[zurück zum Inhaltsverzeichnis](#inhaltsverzeichnis)</sup>
181
168
182
-
183
169
### Ergänze `line-height` an `body`
184
170
185
171
Du brauchst kein `line-height` an jedes `<p>`, `<h*>`, usw separat zu schreiben. Ergänze es stattdessen an `body`:
@@ -196,7 +182,6 @@ Auf diese Weise können Textelemente dies einfach von `body` übernehmen.
196
182
197
183
<sup>[zurück zum Inhaltsverzeichnis](#inhaltsverzeichnis)</sup>
198
184
199
-
200
185
### Setze `:focus` für Form-Elemente
201
186
202
187
Sehende Tastaturbenutzer_innen sind auf die Fokussierung angewiesen, um unterscheiden zu können wohin Tastaturevents auf der Seite gehen. Gestalte den Fokus für Formular-Elemente klar ersichtlich und konsistenter als die voreingestellte Browserimplementation:
<sup>[zurück zum Inhaltsverzeichnis](#inhaltsverzeichnis)</sup>
219
204
220
-
221
205
### Zentriere alles vertikal
222
206
223
-
Nein, das ist keine Hexerei – du kannst wirklich alle Elemente vertikal zentrieren.
207
+
Nein, das ist keine Hexerei – du kannst wirklich alle Elemente vertikal zentrieren.
224
208
Das machst du mit Flexbox…
225
209
226
210
```css
@@ -256,7 +240,6 @@ Möchtest du etwas anderes zentrieren? Vertikal, horizontal… alles, jeder
256
240
257
241
<sup>[zurück zum Inhaltsverzeichnis](#inhaltsverzeichnis)</sup>
258
242
259
-
260
243
### Kommaseparierte Liste
261
244
262
245
Lasse Listenpunkte wie eine echte kommaseparierte Liste aussehen:
@@ -273,7 +256,6 @@ Benutze die `:not()`-Pseudoklasse, um nach dem letzten Listenpunkt kein Komma an
273
256
274
257
<sup>[zurück zum Inhaltsverzeichnis](#inhaltsverzeichnis)</sup>
275
258
276
-
277
259
### Selektiere Items mit einem negativen `nth-child`
278
260
279
261
Benutze ein negatives `nth-child` im CSS um Items von 1 bis n auszuwählen.
@@ -284,7 +266,7 @@ li {
284
266
}
285
267
286
268
/* wähle die Listenpunkte 1 bis 3 und zeige sie an */
287
-
li:nth-child(-n+3) {
269
+
li:nth-child(-n + 3) {
288
270
display: block;
289
271
}
290
272
```
@@ -293,7 +275,7 @@ Anderweitig, da du nun ein bisschen über die [Benutzung von `:not()`](#benutze-
293
275
294
276
```css
295
277
/* wähle alle Listenpunkte außer die ersten 3 und zeige sie an */
296
-
li:not(:nth-child(-n+3)) {
278
+
li:not(:nth-child(-n + 3)) {
297
279
display: block;
298
280
}
299
281
```
@@ -302,7 +284,6 @@ li:not(:nth-child(-n+3)) {
302
284
303
285
<sup>[zurück zum Inhaltsverzeichnis](#inhaltsverzeichnis)</sup>
304
286
305
-
306
287
### Benutze SVG für Symbole
307
288
308
289
Es gibt keinen Grund SVG für Symbole nicht zu verwenden:
@@ -325,7 +306,6 @@ SVG skaliert für alle verschiedenen Auflösungen sehr gut und wird von allen Br
325
306
326
307
<sup>[zurück zum Inhaltsverzeichnis](#inhaltsverzeichnis)</sup>
327
308
328
-
329
309
### Benutze den "lobotomisierte Eule"-Selektor
330
310
331
311
Er hat zwar einen seltsamen Namen aber der Universal-Selektor (`*`) mit dem angrenzenden Geschwister-Selektor (`+`) kann starke CSS-Möglichkeiten darbieten:
@@ -338,13 +318,12 @@ Er hat zwar einen seltsamen Namen aber der Universal-Selektor (`*`) mit dem angr
338
318
339
319
In diesem Beispiel bekommen alle Elemente im Fluss des Dokuments, die anderen Elementen folgen, `margin-top: 1.5em`.
340
320
341
-
Für mehr bezüglich des "lobotomisierte Eule"-Selektors lese [Heydon Pickerings Eintrag](http://alistapart.com/article/axiomatic-css-and-lobotomized-owls) auf *A List Apart*.
321
+
Für mehr bezüglich des "lobotomisierte Eule"-Selektors lese [Heydon Pickerings Eintrag](http://alistapart.com/article/axiomatic-css-and-lobotomized-owls) auf _A List Apart_.
<sup>[zurück zum Inhaltsverzeichnis](#inhaltsverzeichnis)</sup>
385
363
386
-
387
364
### Benutze Flexbox, um von Margin-Hacks wegzukommen
388
365
389
366
Wenn du mit Spaltenabständen arbeitest, kannst du dich von `nth-`, `first-` und `last-child`-Hacks verabschieden, indem du die Flexbox-Eigenschaft `space-between` verwendest:
@@ -403,7 +380,6 @@ Nun erscheinen Spaltenabstände immer gleichmäßig.
403
380
404
381
<sup>[zurück zum Inhaltsverzeichnis](#inhaltsverzeichnis)</sup>
405
382
406
-
407
383
### Benutze den Attribut-Selektor mit leeren Verlinkungen
408
384
409
385
Zeige Verlinkungen an, wenn das `<a>`-Element keinen Textwert beinhaltet, das `href`-Attribut jedoch eine Verlinkung hat:
@@ -420,7 +396,6 @@ Das ist äußerst praktisch.
420
396
421
397
<sup>[zurück zum Inhaltsverzeichnis](#inhaltsverzeichnis)</sup>
422
398
423
-
424
399
### Gestalte "Standard"-Verlinkungen
425
400
426
401
Ergänze eine Darstellung für die von Browsern voreingestellte Verlinkung:
@@ -436,7 +411,6 @@ Nun werden Verlinkungen, die über ein CMS eingesetzt wurden – welche übe
436
411
437
412
<sup>[zurück zum Inhaltsverzeichnis](#inhaltsverzeichnis)</sup>
438
413
439
-
440
414
### Boxen mit zugehörigem Größenverhältnis
441
415
442
416
Um eine Box mit zugehörigem Größenverhältnis zu erstellen, brauchst du nur eine Padding-top/-bottom-Eigenschaft zu bezeichnen:
@@ -464,7 +438,6 @@ Das Anwenden eines Wertes von 20% auf die Padding-Eigenschaft erzeugt eine Box m
464
438
465
439
<sup>[zurück zum Inhaltsverzeichnis](#inhaltsverzeichnis)</sup>
466
440
467
-
468
441
### Gestalte defekte Bilder
469
442
470
443
Erzeuge mit einem kleinen bisschen CSS ästhetisch ansprechendere defekte Bilder:
@@ -502,7 +475,6 @@ Lerne mehr über das Gestalten dieses Modells in [Ire Aderinokun](https://github
502
475
503
476
<sup>[zurück zum Inhaltsverzeichnis](#inhaltsverzeichnis)</sup>
504
477
505
-
506
478
### Benutze `rem` für globales Ändern der Größe; Benutze `em` für lokale Größenveränderungen
507
479
508
480
Nachdem du die grundlegende Schriftgröße (`html { font-size: 100%; }`) festgelegt hast, setze die Schriftgrößen für Textelemente auf `em`:
@@ -525,15 +497,14 @@ article {
525
497
}
526
498
527
499
aside.module {
528
-
font-size: .9rem;
500
+
font-size: 0.9rem;
529
501
}
530
502
```
531
503
532
504
Nun sollte jedes Modul gegliedert, einfacher zu gestalten, wartbarer und flexibler sein.
533
505
534
506
<sup>[zurück zum Inhaltsverzeichnis](#inhaltsverzeichnis)</sup>
535
507
536
-
537
508
### Verstecke automatisch abspielende Videos, die nicht auf stumm gesetzt sind
538
509
539
510
Das ist ein großartiger Trick für ein speziell angefertigtes Stylesheet. Vermeide es die Benutzer_innen mit den Geräuschen eines automatisch startenden Videos zu überfordern. Zeige das Video nicht, wenn die Töne nicht auf stumm geschaltet sind:
@@ -548,14 +519,13 @@ Erneut nutzen wir die [`:not()`](#benutze-not-um-rahmen-an-die-navigation-zu-set
548
519
549
520
<sup>[zurück zum Inhaltsverzeichnis](#inhaltsverzeichnis)</sup>
550
521
551
-
552
522
### Benutze `:root` für flexible Schrift
553
523
554
-
Die Größe der Schriftart innerhalb eines _responsive_ Layouts sollte mit jedem Ansichtsfenster veränderbar sein. Du kannst die Schriftgröße basierend auf der Höhe und Weite des Fensters berechnen, indem du `:root` verwendest:
524
+
Die Größe der Schriftart innerhalb eines _responsive_ Layouts sollte mit jedem Ansichtsfenster veränderbar sein. Du kannst die Schriftgröße basierend auf der Höhe und Weite des Fensters berechnen, indem du `:root` verwendest:
555
525
556
526
```css
557
527
:root {
558
-
font-size: calc(1vw+1vh+.5vmin);
528
+
font-size: calc(1vw+1vh+0.5vmin);
559
529
}
560
530
```
561
531
@@ -571,7 +541,6 @@ body {
571
541
572
542
<sup>[zurück zum Inhaltsverzeichnis](#inhaltsverzeichnis)</sup>
573
543
574
-
575
544
### Setze `font-size` auf Formular-Elemente für eine bessere mobile Erfahrung
576
545
577
546
Um mobile Browser (iOS Safari, usw.) am Hereinzoomen in das HTML-Formular zu hindern sobald ein `<select>`-Dropdown betätigt wird, ergänze `font-size` zu der Regel des Selektors:
@@ -589,14 +558,13 @@ textarea {
589
558
590
559
<sup>[zurück zum Inhaltsverzeichnis](#inhaltsverzeichnis)</sup>
591
560
592
-
593
561
### Benutze `Pointer`-Events um Mausereignisse zu kontrollieren
594
562
595
563
[Pointer-Events](https://developer.mozilla.org/en-US/docs/Web/CSS/pointer-events) erlauben es dir zu spezifizieren wie die Maus mit dem Element interagiert sobald sie es berührt. Um beispielsweise das standardgemäß eingestellte Pointer-Event – beispielsweise bei einer Button-Schaltfläche – abzuschalten:
596
564
597
565
```css
598
566
button:disabled {
599
-
opacity: .5;
567
+
opacity: 0.5;
600
568
pointer-events: none;
601
569
}
602
570
```
@@ -605,7 +573,6 @@ So einfach ist das.
605
573
606
574
<sup>[zurück zum Inhaltsverzeichnis](#inhaltsverzeichnis)</sup>
607
575
608
-
609
576
### Stellen Sie bei Zeilenumbrüchen, die als Abstand verwendet werden, `display: none` ein
610
577
611
578
Wie [Harry Roberts hervorhob](https://twitter.com/csswizardry/status/1170835532584235008), kann dies dazu beitragen, dass CMS-Benutzer keine zusätzlichen Zeilenumbrüche als Abstand verwenden:
@@ -618,7 +585,6 @@ br + br {
618
585
619
586
<sup>[zurück zum Inhaltsverzeichnis](#inhaltsverzeichnis)</sup>
620
587
621
-
622
588
## Unterstützung
623
589
624
-
Aktuelle Versionen von Chrome, Firefox, Safari, und Edge.
590
+
Aktuelle Versionen von Chrome, Firefox, Safari, und Edge.
0 commit comments