Namen für Media Queries

Avatar of Chris Coyier
Chris Coyier am

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

Es wäre ziemlich cool, wenn wir das eines Tages in CSS könnten. Die beste Idee dafür, auf die ich gestoßen bin, ist, sie in einem <meta>-Tag im <head> zu definieren. So könnten (vielleicht) CSS und JS sie nutzen. Wie window.matchMedia(nameOfMyMediaQuery) oder @media (nameOfMyMediaQuery) { }. Aber da wir das nicht können, hat Sass uns im Rücken. Nun stellt sich die Frage: Wie benennen wir sie?

In Sass würde das @mixin ungefähr so aussehen

@mixin breakpoint($point) {
  @if $point == papa-bear {
    @media (max-width: 1600px) { @content; }
  }
  @else if $point == mama-bear {
    @media (max-width: 1250px) { @content; }
  }
  @else if $point == baby-bear {
    @media (max-width: 650px)  { @content; }
  }
}

Und man würde es so verwenden

.module {
  width: 25%;
  @include breakpoint(baby-bear) {
    width: 100%;
  }
}

Obwohl ich in Wirklichkeit etwas wie „bp“ bevorzuge, einfach weil es kürzer ist und man es die ganze Zeit tippen muss. Deshalb wäre „+“ so ideal anstelle von „@include“. Aber ich schweife ab. Oder man könnte es im Brandon Mathis Style machen.

$name1:  320px;
$name2:  500px;
$name3:  600px;
$name4:  992px;

@mixin at-least($device-width) {
  @media screen and (min-width: $device-width) {
    @content 
  }
}

@mixin until($device-width) {
  @media screen and (max-width: $device-width - 1) {
    @content 
  }
}

Die Namen sollten tatsächliche Zahlen vermeiden. Der Punkt hier ist, einen Namen mit abstrahierter Bedeutung zu vergeben, damit sich die Zahlen ändern können, aber die Namen gleich bleiben. Ich würde auch Gerätenamen wie „iPad“ oder was auch immer vermeiden, weil das einfach falsche Erwartungen weckt und sich schnell überlebt.

Besser sind Namensschemata, die Beziehungen zwischen den Namen selbst suggerieren. Wo einer offensichtlich größer oder kleiner ist als ein anderer. Natürlich geht es hierbei um Abfragen der Breite, die sicherlich am gebräuchlichsten sind. Aber natürlich könnten Ihre Media Queries anders oder komplexer sein, und das Namensschema sollte das widerspiegeln.

Hier sind einige Ideen

baby-bear
mama-bear
papa-bear

straw-house
stick-house
brick-house

private
corporal
sergeant
captain
major
lieutenant
colonel
general

alpha
beta
gamma
delta
epsilon

very-small
klein
mittel
groß
very-large




—-
——

>-< [---] <----->

seed
seedling
sprout
plant

pebble
stone
rock
boulder

pawn
knight
queen
king

bishop
archbishop
cardinal
pope

eddard
catelyn
robb
sansa
arya
bran
rickon

knife
dagger
scimitar
claidmore

A
B
C
D
E

Von Vince Speelman

lil-bowow
eminem
jay-z
krs-one
rick-ross

Von James Nowland

matryoshka-doll
the-one-inside-matryoshka-doll
the-one-inside-the-one-inside-matryoshka-doll
the-one-inside-the-one-inside-the-one-inside-matryoshka-doll

Von Philip Brown

michael
jermaine
jackie
marlon
tito

Von Rob Stinogle

gandalf-the-gray
gandalf-the-white

Von Darby Brown

stewie
brian
Chris
lois
Peter
(Ich lasse Meg weg)

Haben Sie noch andere Ideen?