2011-08-11 14 views
145

Mam dużą witrynę, która działa w środowisku ASP.NET MVC przy użyciu mechanizmu widoku maszynki Razor.Zapytanie o media @media i składnia brzytwy ASP.NET MVC zderzenie

Mam arkusz stylów bazowych, który zawiera ogólną stylizację całej witryny. Czasami jednak mam style specyficzne dla strony, które na stronie <head> - zazwyczaj jest to jedna lub dwie linie.

Nie podoba mi się umieszczanie CSS w <head>, ponieważ nie jest to oddzielne zagadnienie, ale w przypadku jednego lub dwóch wierszy, które naprawdę dotyczą tej strony, wolę nie dołączać innego pliku i dodawać do niego pasmo.

Mam instancję choć gdzie chciałbym umieścić kwerendy strona konkretnych mediów do <head>, ale dlatego, że zapytanie o media wykorzystuje symbol @ i nawiasy {} to ścierają się ze składnią brzytwa:

@section cphPageHead{ 
    <style> 
     /* PAGE SPECIFIC CSS */ 
     ... 

     @media only screen and (max-width : 960px) <-- the @ symbol here is clashing! 
      { 
       ... } 
      } 
    </style> 
} 

Czy mogę to obejść?

+3

Nadal uważam, że 'style css' powinny znajdować się w pliku CSS, szczególnie w przypadku" dużej witryny "Liniowy css na stronie nie jest najlepszą praktyką. * PS: Moja opinia * – AlexC

Odpowiedz

330

użyć podwójnych symboli @@. Że ujdzie symbol @ i renderowanie @media poprawnie po stronie klienta

5

Należy również pamiętać, aby dodać spację po dwukrotnym @@:

@@ media only screen and (max-width : 960px) 

@@media bez przestrzeni nie działa dla mnie.

+1

Miał podobny problem z użyciem skompresowanego CSS; Myślę, że @@ był otoczony tekstem, więc Razor usiłował go zinterpretować. Zdecydowałem się dodać miejsce przed @@. Dzięki za wskazówkę. – Anthony