Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在internetexplorer中模拟文本笔划_Javascript_Internet Explorer_Css - Fatal编程技术网

Javascript 在internetexplorer中模拟文本笔划

Javascript 在internetexplorer中模拟文本笔划,javascript,internet-explorer,css,Javascript,Internet Explorer,Css,除了Internet Explorer(甚至IE9测试版)之外,所有浏览器都支持文本阴影,此外,webkit浏览器似乎理解-webkit文本笔划。但是如何在Internet Explorer中模拟文本笔划呢?我已经看过了可用的过滤器,在我看来,除了光晕之外,没有一个可以用来模拟它,但它会产生模糊的光晕,而不是实心轮廓 使用CSS和/或Microsoft过滤器/行为和/或JavaScript有什么方法可以实现这一点吗 我不需要在IE的古老版本中使用解决方案,我的布局不会针对IE7或更早版本进行优化

除了Internet Explorer(甚至IE9测试版)之外,所有浏览器都支持
文本阴影
,此外,webkit浏览器似乎理解
-webkit文本笔划
。但是如何在Internet Explorer中模拟文本笔划呢?我已经看过了可用的过滤器,在我看来,除了光晕之外,没有一个可以用来模拟它,但它会产生模糊的光晕,而不是实心轮廓

使用CSS和/或Microsoft过滤器/行为和/或JavaScript有什么方法可以实现这一点吗


我不需要在IE的古老版本中使用解决方案,我的布局不会针对IE7或更早版本进行优化。

我很久以前就发现了这个问题:


我无法测试它是否真的有效,因为我现在正在使用mac。它看起来也有点肮脏。但这可能值得一试:P

我正在寻找一种跨浏览器文本笔划解决方案,它可以在覆盖背景图像时工作。我想我有一个解决方案,它不涉及额外的标记,js,在IE7-9中工作(我还没有测试过6),并且不会引起别名问题

这是使用CSS3文本阴影的组合,除了IE之外,CSS3文本阴影具有良好的支持(http://caniuse.com/#search=text-阴影),然后为IE使用组合过滤器。CSS3文本笔划支持目前很差

IE过滤器

辉光过滤器(http://www.impressivewebs.com/css3-text-shadow-ie/)看起来很糟糕,所以我没用

David Hewitt的答案涉及在多个方向的组合中添加dropshadow过滤器。不幸的是,ClearType随后被删除,因此我们最终得到了严重的别名文本

然后,我将上面建议的一些元素与dropshadow过滤器结合起来

把它放在一起

此示例为带有白色笔划的黑色文本。顺便说一句,我正在使用条件html类


哇,这是一件有趣的事情。我无法链接阴影过滤器,因为第二个似乎覆盖了第一个。我猜它和Dropshadow一起工作。很酷,非常感谢!这对我来说很有效。向上投票,但白色是如此粗略和不尖锐:/您尝试过将textshadow和IE偏移量更改为2px吗?它不是更厚的白色吗?我正在寻找与FF相同的笔划。我知道它可能不太准确,但足够近。是的,它会使它更厚-我不确定你说的“粗略”是什么意思,我以为你的意思是部分遗漏在大纲上。事实上,使用纯css让所有浏览器版本看起来都一样是不可能的,尤其是早期的IE。根据我的经验,IE10和11看起来不错,我在早期的IE版本上妥协了——如果它看起来不完美,那没什么大不了的,以上的解决方案和我所能做到的一样好,我同意,你的方法是目前为止唯一对我有效的方法。我猜这是因为我使用的是漫画字体,所以一些白色区域比文本的其他部分延伸得更多。
#myelement {
    color: #000000;
    text-shadow:
    -1px -1px 0 #ffffff,  
    1px -1px 0 #ffffff,
    -1px 1px 0 #ffffff,
    1px 1px 0 #ffffff;
}

html.ie7 #myelement,
html.ie8 #myelement,
html.ie9 #myelement {
    background-color: white;
    filter: progid:DXImageTransform.Microsoft.Chroma(color='white') progid:DXImageTransform.Microsoft.Alpha(opacity=100) progid:DXImageTransform.Microsoft.dropshadow(color=#ffffff,offX=1,offY=1) progid:DXImageTransform.Microsoft.dropshadow(color=#ffffff,offX=-1,offY=1) progid:DXImageTransform.Microsoft.dropshadow(color=#ffffff,offX=1,offY=-1) progid:DXImageTransform.Microsoft.dropshadow(color=#ffffff,offX=-1,offY=-1);
    zoom: 1;
}