我在IE9中遇到了一个奇怪的事情,想要显示背景渐变.
基本上我正在将多个类应用于容器对象.
<div class="gradient corners"></div>
Run Code Online (Sandbox Code Playgroud)
使用这个CSS.
.gradient {
background-color: #96A7C5;
background-image: -webkit-gradient(
linear,
left bottom,
left top,
color-stop(0.19, #6C86AD),
color-stop(0.6, #96A7C5)
);
background-image: -moz-linear-gradient(
center bottom,
#75A33A 19%,
#8DC447 60%
);
.corners {
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;
}
Run Code Online (Sandbox Code Playgroud)
为了获得IE中的渐变,我将过滤器垃圾应用于我的.gradient类.
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#8DC447', endColorstr='#75A33A');
Run Code Online (Sandbox Code Playgroud)
有了它,渐变起作用,但我的圆角消失了.
所以我尝试为过滤器声明设置条件.
<!--[if IE]>
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#8DC447', endColorstr='#75A33A');
<![endif]-->
Run Code Online (Sandbox Code Playgroud)
这带回了我的角落,但渐变消失了.
我正在尝试使用MVC4的新"捆绑和缩小".
对于IE条件注释,我仍然采用旧方法:<!--[if lt IE 9]><link href=.../><![endif]-->或者<!--[if lt IE 9]>@Styles.Render("~/foo")<![endif]-->我似乎没有得到自动调试/释放处理.
有没有内置的方法来做到这一点?其他人如何做到这一点?
编辑:
能够<noscript>在渲染输出中包含标签(用于回退)也很棒.
asp.net-mvc conditional-comments asp.net-mvc-4 bundling-and-minification asp.net-optimization
我想在XSLT中创建条件注释.
但是当我使用它时:
<!-- [If IE7] [endif] -->
Run Code Online (Sandbox Code Playgroud)
在一个中<xsl:comment>,XSLT在渲染时将其从输出中删除.
有没有办法在XSLT中创建条件注释?
IE9应该支持条件注释.我有正确的MIME类型:'type ="text/css"'.所有其他条件样式表都被读入正确的浏览器.
这是我无法阅读的内容:
<!--[if IE 9]><link rel="stylesheet" type="text/css" href="includes/ie9.css"><![endif]-->
Run Code Online (Sandbox Code Playgroud)
它与其他人一起处于领先地位,但在IE9中却不会显示出来.
我使用以下IE条件评论:
<!--[if gt IE 7]>
Here is some code.
<![endif]-->
Run Code Online (Sandbox Code Playgroud)
这非常有效,可以防止代码在任何低于8的IE中呈现.
但是,这也可以防止代码在Chrome和Firefox中呈现.
有关为什么会发生这种情况的任何想法,以及如何在IE以外的浏览器中呈现代码?
firefox internet-explorer rendering google-chrome conditional-comments
只能在带有条件注释的IE中加载脚本
<!--[if lte IE 7]>
<script type="text/javascript" src="somescript.js"></script>
<![endif]-->
Run Code Online (Sandbox Code Playgroud)
但是,如果我有什么不希望将其加载到IE 7 LTE(但仍需要它的所有其他浏览器)?
有什么简单的解决
PS我有一个SyntaxHighlighter的问题 - 太多的代码减慢了IE7的速度,因为我的时间不够,我决定暂时把它关掉IE7.
我想使用条件注释使DIV仅出现在IE7或更早版本的浏览器中,如下所示:
<!--[if lt IE 7]>
<div id="browsernotice">
<p>You are using IE7 or less</p>
</div>
<![endif]-->
Run Code Online (Sandbox Code Playgroud)
据我了解,条件注释仅适用于标题.
这不好吗?
我是否应该使用条件注释来查看构成隐形DIV的样式表visibility:visible?
我知道如果您在Internet Explorer中,可以将条件语句加载到不同的CSS文件中,但是您可以在CSS文件中执行此操作吗?
我有一种情况,我希望正确的边距为20,如果它是Internet Explorer,但如果是任何其他浏览器,则为10.
我正在尝试使用外部样式表链接到IE10,但它无法正常工作.最新发生的是IE10使用与其他浏览器相同的样式表.我为IE 9和8附加了不同的样式表,这些都很好.我甚至试图为其他浏览器设置样式表,但IE 10似乎认为它是其他浏览器之一.
<!--[if lt IE 10]>
<link rel="stylesheet" type="text/css" href="ie10.css" />
<![endif]-->
Run Code Online (Sandbox Code Playgroud) 我想css只为IE11浏览器加载一个文件.我该怎么做?
我知道我可以使用conditional comments加载样式表的IE <= 9.但不适用于IE 10和11.
我可以谷歌找到一个替代方案如下:
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
/* IE10+ CSS styles go here */
}
Run Code Online (Sandbox Code Playgroud)
但是,它加载IE10和IE11浏览器.我想只为IE11 加载样式表.可能吗?
谢谢
html css stylesheet conditional-comments internet-explorer-11
css ×3
html ×3
asp.net-mvc ×1
browser ×1
css3 ×1
firefox ×1
header ×1
javascript ×1
rendering ×1
styles ×1
stylesheet ×1
xslt ×1