Razorビューエンジンを使用してASP.NET MVCで実行される大規模なサイトがあります。
サイト全体のすべての一般的なスタイリングを含むベーススタイルシートがあります。ただし、ページの<head>
にあるページ固有のスタイルがある場合があります。通常、これは1行または2行です。
CSSを<head>
に配置することは特に気に入らないので、1ページまたは2行の場合は実際にそのページに固有であるため、別のファイルを添付して追加する必要はありません。帯域幅。
しかし、ページ固有のメディアクエリを<head>
に配置したいインスタンスがありますが、メディアクエリは@記号と角括弧{}を使用しているため、カミソリ構文と競合しています。
@section cphPageHead{
<style>
/* PAGE SPECIFIC CSS */
...
@media only screen and (max-width : 960px) <-- the @ symbol here is clashing!
{
... }
}
</style>
}
これを回避する方法はありますか?
ダブル@@記号を使用します。それは@記号をエスケープし、クライアント側で@mediaを正しくレンダリングします
ダブル@@の後にスペースを追加することも忘れないでください:
@@ media only screen and (max-width : 960px)
@@media
はスペースなしでは機能しませんでした。
これは古い質問であることに気づきましたが、これが私にとって有効な唯一の解決策です。
@section cphPageHead{
<style type="text/css" media="screen and (max-width:959px)">
</style>
<style type="text/css" media="screen and (min-width:960px)">
</style>
}