我正在尝试在dotnetnuke框架中实现媒体查询。有没有办法有条件地选择要使用的css?我正在尝试停止不支持媒体查询的IE6/7/8,使其无法访问媒体查询CSS:
下面是从我的代码中提取出来的代码,它不起作用:
<%@ 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>发布于 2012-09-06 16:43:59
您可以使用此皮肤对象来实现CSS的条件加载:
40fingers style helper skin object
发布于 2012-09-05 20:43:45
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将会采用这些风格。你可能需要调整你的语法。请阅读this article,它很旧,但仍然适用于IE6、7。
https://stackoverflow.com/questions/12246051
复制相似问题