2016-09-06 3 views
0

ich eine ‚Reaktions Eigenschaft‘ mixin gemacht, die an fünf verschiedenen Stützpunkte als Argumente eine CSS-Eigenschaft und seine Werte annimmt:Medien Abfrage in mixin außer Kraft gesetzt werden

@mixin responsiveProp ($prop, $xs, $sm, $md, $lg, $xlg) { 
    @media only screen and (min-width: 0px) { 
    #{$prop}: $xs; 
    } 
    @media only screen and (min-width: 768px) { 
    #{$prop}: $sm; 
    } 
    @media only screen and (min-width: 992px) { 
    #{$prop}: $md; 
    } 
    @media only screen and (min-width: 1200px) { 
    #{$prop}: $lg; 
    } 
    @media only screen and (min-width: 1440px) { 
    #{$prop}: $xlg; 
    } 
} 

z.B. @include responsiveProp(height, 1300px, 900px, 550px, 500px, 500px);

Diese Regel funktioniert groß wie eine Art und Weise LOC in CSS zu reduzieren, aber wenn sie mit einem Smartphone Layout in Chrome Dev-Tool das obige Beispiel zu testen, wird das $ xs Breakpoint durch den $ sm Haltepunkt trotz der < 768px wobei Breite außer Kraft gesetzt . Ich kann nicht verstehen, warum das passiert. Irgendwelche Ideen?

+0

Sie sollten min und max kombinieren: '... und (min-width: 0px) und (max-width: 767px)' (max sollte die nächste min -1 sein) – somethinghere

+0

@somethinghere nein es tut es immer noch nicht Arbeit, sollte es keinen Unterschied machen, sollte es als die Logik für die Bedingungen, die erfüllt werden, nicht geändert haben –

+1

Was ist Ihre Ausgabe? Und haben Sie das richtige Viewport-Meta-Tag festgelegt? – somethinghere

Antwort

0

Ich hatte vergessen, dies zu meiner index.html hinzuzufügen: <meta name="viewport" content="width=device-width, initial-scale=1">. Das hat das Problem gelöst.

+1

Woopwoop. Gutes Zeug, obwohl du das sofort auf dem Gerät bemerken solltest :) – somethinghere

Verwandte Themen