2013-02-18 3 views
14

Ich versuche, einen Stil basierend auf einer Medienabfrage zu importieren, aber der Import wird nicht ausgelöst Wenn ich Stile direkt in der Medienabfrage einfügen, werden sie auf der Seite gerendert. Hier@import Styles funktioniert nicht in einer Medienabfrage

ist ein Link zu der Live-Site http://update.techbasics.ca

Hier ist mein style.css mit den Medien-Anfragen und den Importen

Ich bin mit Wordpress, wenn das Debug hilft.

@import url('base.css'); 
/****************************************************************** 
Site Name: Tech Basics 
Author: Anders Kitson 

Stylesheet: Main Stylesheet 

Here's where the magic happens. Here, you'll see we are calling in 
the separate media queries. The base mobile goes outside any query 
and is called at the beginning, after that we call the rest 
of the styles inside media queries. 
******************************************************************/ 
* { 
    -webkit-box-sizing: border-box; 
    -moz-box-sizing: border-box; 
    box-sizing: border-box; } 

/***************************************************************** 
BASE CSS 
*****************************************************************/ 

/***************************************************************** 
MEDIA QUERIES 
*****************************************************************/ 
@media only screen and (min-width: 480px) { 
    @import url('min480.css'); 
    } 
@media only screen and (min-width: 600px) { 
    @import url('min600.css'); 
    } 
@media only screen and (min-width: 768px) { 
    body { 
    background: purple; } } 
@media only screen and (min-width: 992px) { 
    body { 
    background: orange; } } 
@media only screen and (min-width: 1382px) { 
    body { 
    background: url("../img/noisy_grid.png"); } } 
/* iPhone 4 ----------- */ 
@media only screen and (-webkit-min-device-pixel-ratio : 1.5), only screen and (min-device-pixel-ratio : 1.5) { 
    @import url('base.css'); 
} 

und hier ist min600.css (befindet sich im selben Verzeichnis wie die Datei style.css)

header { 
    text-align: left; } 
    body{ 
    background: green; 
    } 

Antwort

0

Es funktioniert gut, versuchen Sie Ihre Fenster, um die Größe und Sie werden die Farben zu ändern sehen wie ich in meinem Hauptfenster auf meinem Bildschirm (1920x1080) der CSS-Regel

body { 
background: url("../img/noisy_grid.png"); 
} 

liegt in style.css, Zeile 37-38 Feuer zuerst sehen kann, ist, warum Sie nicht die orange Farbe sehen. Versuchen Sie, Ihre CSS-Regeln zu arrangieren

+0

seine nicht die Erklärungen in den Medien Abfrage das ist nicht arbeiten Ich weiß, sie arbeiten seine Regeln in den importierten min600.css Datei das ist nicht wirking Der Titel von techbasics sollte sich nach links verlagern, wenn er 600px beträgt, aber das tut es nicht. –

+0

Beachten Sie, dass sich der importierte Stil in der 600-Pixel-Medienbreite-Abfrage mit minwidth auch nicht in grün ändert. Das ist mein Problem. –

0

Ich hatte das gleiche Problem und nach der Suche, ohne eine gute Lösung zu finden, habe ich am Ende die Media-Abfragen auf die importierten CSS verschoben. Und tatsächlich werden alle Stylesheets heruntergeladen, auch wenn sie nicht angewendet werden (siehe CSS media queries).

Dann, was ist der Zweck von separaten Dateien? Für mich hält es die Dinge organisiert. Mit Ihrem Beispiel:

@import url(min480.css); /* min-width: 480px */ 
@import url(min600.css); /* min-width: 600px */ 

Dann auf der min600.css:

/* min600.css */ 
@media only screen and (min-width: 600px) { 
    header { 
     text-align: left; 
    } 
    body { 
     background: green; 
    } 
} 
3

Haben Sie wie folgt verwenden?

können Sie schreiben:

@import url('path.css') (screen and min/max-width: 600px);

Sie Pfad hinzufügen können, wie Sie @import

oder wie verwenden:

@import url(style.css) (screen and min-width:600px);

+0

Ich weiß nicht, warum das abgelehnt wurde, aber ich bevorzuge diese Kurzschreibweise, weniger Zeichen. – thepk

16

versuchen, diese Art von Code

Hier
+0

Irgendeine Idee, warum das für mich nicht funktioniert? '@import url ('https://rawgit.com/jonsuh/hamburger/master/dist/hamburger.css') (Bildschirm und maximale Breite: 574px);' – Booligoosh

3

ist die Lösung:

/* Everything 700px and lower */ 
@import url("./700.css") only screen and (max-width: 700px);