0

dotnetnukeフレームワークにメディアクエリを実装しようとしています。使用するCSSを条件付きで選択する方法はありますか?メディアクエリCSSにアクセスしないためのメディアクエリサポートがないIE6/7/8を停止しようとしています:

ここにあり、動作しない私のコードから抽出します:

<%@ Register TagPrefix="ddn" TagName="MENU" src="~/DesktopModules/DDRMenu/Menu.ascx" %>
<%@ Register TagPrefix="ddn" TagName="MOBMENU" src="~/DesktopModules/DDRMenu/Menu.ascx" %>
<%@ Register TagPrefix="dnn" Namespace="DotNetNuke.Web.Client.ClientResourceManagement" Assembly="DotNetNuke.Web.Client" %>

<![if !(IE 6)|(IE 7)|(IE 8)]>
    <dnn:DnnCssInclude runat="server" FilePath="mq.css" PathNameAlias="SkinPath" />                    
<![endif]>


        <div id="wrapper">


            <div id="header">
                <div id="logo">
                    <dnn:LOGO runat="server" id="dnnLOGO" />
                </div>
4

2 に答える 2

0

DnnCssIncludeには「Condition」属性がありません。代わりに次のスキンオブジェクトを使用する必要があります。

<%@ Register TagPrefix="dnn" TagName="STYLES" Src="~/Admin/Skins/Styles.ascx" %>
<dnn:STYLES runat="server" ID="StylesIE7" Name="IE7Minus" StyleSheet="ie7skin.css" Condition="LT IE 8" UseSkinPath="true"/>

上記のコードは、DNN6に付属のDarkKnightスキンから取得したものです。

古いブラウザからメディアクエリを隠す必要が本当にありますか?メディアクエリをサポートしていないブラウザは、メディアクエリを無視します。

編集:メディアクエリの構文は何ですか?使用する場合

@media screen and (min-width: 300px) {.box  { background-color: red; }}

その後、IE6,7はそれを無視します、私はちょうどそれをテストしました。このようなものを使用する場合:

@media screen {.box  { background-color: red; }}

また

@media screen, all and (min-width: 300px) {.box  { background-color: red; }}

次に、IE6,7はそれらのスタイルを取得します。構文を微調整する必要があるかもしれません。この記事を読んでください。古いですが、IE6,7にも適用されます。

于 2012-09-05T12:43:45.380 に答える
0

このスキンオブジェクトを使用して、CSSの条件付き読み込みを実現できます。

40fingersスタイルのヘルパースキンオブジェクト

于 2012-09-06T08:43:59.353 に答える