use*_*651 190 css css-selectors css-hack internet-explorer-11
我怎样才能为IE 11破解或编写CSS?我有一个在IE 11中看起来很糟糕的网站.我只是在这里搜索,但还没有找到任何解决方案.
有没有css选择器?
Pau*_*tte 270
使用Microsoft特定CSS规则的组合来过滤IE11:
<!doctype html>
<html>
<head>
<title>IE10/11 Media Query Test</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<style>
@media all and (-ms-high-contrast:none)
{
.foo { color: green } /* IE10 */
*::-ms-backdrop, .foo { color: red } /* IE11 */
}
</style>
</head>
<body>
<div class="foo">Hi There!!!</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
由于以下因素,此工作的过滤器:
当用户代理无法解析选择器(即,它不是有效的CSS 2.1)时,它必须忽略选择器和以下声明块(如果有的话).
<!doctype html>
<html>
<head>
<title>IE10/11 Media Query Test</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<style>
@media all and (-ms-high-contrast:none)
{
.foo { color: green } /* IE10 */
*::-ms-backdrop, .foo { color: red } /* IE11 */
}
</style>
</head>
<body>
<div class="foo">Hi There!!!</div>
</body>
</html>Run Code Online (Sandbox Code Playgroud)
参考
SW4*_*SW4 225
根据不断发展的主题,我更新了以下内容:
_:-ms-fullscreen, :root .foo { property:value; }
Run Code Online (Sandbox Code Playgroud)
_:-ms-lang(x), .foo { property:value; }
Run Code Online (Sandbox Code Playgroud)
要么
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
.foo{property:value;}
}
Run Code Online (Sandbox Code Playgroud)
_:-ms-lang(x), .foo { property:value\9; }
Run Code Online (Sandbox Code Playgroud)
@media screen and (min-width:0\0) and (min-resolution: +72dpi) {
//.foo CSS
.foo{property:value;}
}
Run Code Online (Sandbox Code Playgroud)
@media screen and (min-width:0\0) {
.foo /* backslash-9 removes.foo & old Safari 4 */
}
Run Code Online (Sandbox Code Playgroud)
@media screen and (min-width:0\0) and (min-resolution: .001dpcm) {
//.foo CSS
.foo{property:value;}
}
Run Code Online (Sandbox Code Playgroud)
@media screen\0 {
.foo {property:value;}
}
Run Code Online (Sandbox Code Playgroud)
.foo { property /*\**/: value\9 }
Run Code Online (Sandbox Code Playgroud)
html>/**/body .foo {property:value;}
Run Code Online (Sandbox Code Playgroud)
要么
@media \0screen {
.foo {property:value;}
}
Run Code Online (Sandbox Code Playgroud)
*+html .foo {property:value;}
Run Code Online (Sandbox Code Playgroud)
要么
*:first-child+html .foo {property:value;}
Run Code Online (Sandbox Code Playgroud)
@media \0screen\,screen\9 {
.foo {property:value;}
}
Run Code Online (Sandbox Code Playgroud)
@media screen\9 {
.foo {property:value;}
}
Run Code Online (Sandbox Code Playgroud)
要么
.foo { *property:value;}
Run Code Online (Sandbox Code Playgroud)
要么
.foo { #property:value;}
Run Code Online (Sandbox Code Playgroud)
@media \0screen\,screen\9 {
.foo {property:value;}
}
Run Code Online (Sandbox Code Playgroud)
* html .foo {property:value;}
Run Code Online (Sandbox Code Playgroud)
要么
.foo { _property:value;}
Run Code Online (Sandbox Code Playgroud)
Modernizr在页面加载时快速运行以检测功能; 然后它创建一个包含结果的JavaScript对象,并将类添加到html元素
使用Javascript:
var b = document.documentElement;
b.setAttribute('data-useragent', navigator.userAgent);
b.setAttribute('data-platform', navigator.platform );
b.className += ((!!('ontouchstart' in window) || !!('onmsgesturechange' in window))?' touch':'');
Run Code Online (Sandbox Code Playgroud)
在html元素中添加(例如)以下内容:
data-useragent='Mozilla/5.0 (compatible; M.foo 9.0; Windows NT 6.1; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C)'
data-platform='Win32'
Run Code Online (Sandbox Code Playgroud)
允许非常有针对性的CSS选择器,例如:
html[data-useragent*='Chrome/13.0'] .nav{
background:url(img/radial_grad.png) center bottom no-repeat;
}
Run Code Online (Sandbox Code Playgroud)
如果可能,请确定并修复任何问题,而不是黑客攻击.支持渐进增强和优雅降级.然而,这是一个并非总能获得的"理想世界"场景,因此 - 上述应该有助于提供一些好的选择.
Hbi*_*and 64
这里有一个两步解决方案是IE10和11的黑客攻击
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
/* IE10+ specific styles go here */
}
Run Code Online (Sandbox Code Playgroud)
因为IE10和IE11支持-ms-high-cotrast,你可以利用这个来定位这两个浏览器
如果你想从中排除IE10,你必须创建一个IE10特定代码,如下所示使用用户代理技巧你必须添加这个Javascript
var doc = document.documentElement;
doc.setAttribute('data-useragent', navigator.userAgent);
Run Code Online (Sandbox Code Playgroud)
和这个HTML标记
<html data-useragent="Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)">
Run Code Online (Sandbox Code Playgroud)
现在你可以像这样写你的CSS代码了
html[data-useragent*='MSIE 10.0'] h1 {
color: blue;
}
Run Code Online (Sandbox Code Playgroud)
欲了解更多信息,请参阅本网站,wil tutorail,Chris Tutorial
如果你想要IE11及更高版本的目标,我发现这是:
_:-ms-fullscreen, :root .selector {}
Run Code Online (Sandbox Code Playgroud)
这是获取更多信息的绝佳资源:browserhacks.com
Jef*_*ton 23
自从2013年秋天以来,我一直在写这些并将它们贡献给BrowserHacks.com - 我写的这篇文章很简单,只有IE 11支持.
<style type="text/css">
_:-ms-fullscreen, :root .msie11 { color: blue; }
</style>
Run Code Online (Sandbox Code Playgroud)
当然还有div ...
<div class="msie11">
This is an Internet Explorer 11 CSS Hack
<div>
Run Code Online (Sandbox Code Playgroud)
因此,文本显示为蓝色与Internet Explorer 11.玩得开心.
-
我的实时测试网站上有更多IE浏览器和其他浏览器CSS攻击:
更新:http://browserstrangeness.bitbucket.io/css_hacks.html
MIRROR:http://browserstrangeness.github.io/css_hacks.html
(如果您还在寻找MS Edge CSS Hacks,那就去哪里.)
您可以在样式标记内使用以下代码:
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
/* IE10+ specific styles go here */
}
Run Code Online (Sandbox Code Playgroud)
以下是一个对我有用的示例:
<style type="text/css">
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
/* IE10+ specific styles go here */
#flashvideo {
width:320px;
height:240;
margin:-240px 0 0 350px;
float:left;
}
#googleMap {
width:320px;
height:240;
margin:-515px 0 0 350px;
float:left;
border-color:#000000;
}
}
#nav li {
list-style:none;
width:240px;
height:25px;
}
#nav a {
display:block;
text-indent:-5000px;
height:25px;
width:240px;
}
</style>
Run Code Online (Sandbox Code Playgroud)
请注意,因为(#nav li)和(#nav a)在@media屏幕之外...,它们是通用样式.
| 归档时间: |
|
| 查看次数: |
347802 次 |
| 最近记录: |