个人一直提倡尽量少用hack,多研究自己的结构,多研究自己的写法,除非一些经典的IE hack。总之是在万不得已的情况下,我个人才会去使用hack这东西!
下午一点半的车,还是抽空去看看一些关注网站的动态,发现一篇关于CSS3 Solutions for Internet Explorer。其实相当一部分是使用IE的filter属性。

Opacity / Transparency
- #myElement {
- opacity: .4; /* other browsers */
- filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40); /* this works in IE6, IE7, and IE8 */
- -ms-filter: “progid:DXImageTransform.Microsoft.Alpha(opacity=40)”; /* this works in IE8 only */
- }
Rounded Corners (border-radius)
.Remiz Rahnas 写了一个在IE下的实现圆角的CSS Curved Corner的HTC文件。可以从Google code下载
- box-radius {
- border-radius: 15px;
- behavior: url(border-radius.htc);
- }
Box Shadow
- .box-shadow {
- -moz-box-shadow: 2px 2px 3px #969696; /* for Firefox 3.5+ */
- -webkit-box-shadow: 2px 2px 3px #969696; /* for Safari and Chrome */
- filter: progid:DXImageTransform.Microsoft.Shadow(color=’#969696′, Direction=145, Strength=3);
- }
Text Shadow
IE下实现文字阴影由Kilian Valkhof写的一个Jquery plugin
- .text-shadow {
- text-shadow: #aaa 1px 1px 1px;
- }
- $(document).ready(function(){
- $(“.text-shadow”).textShadow();
- });
Gradients
- #gradient {
- background: -moz-linear-gradient(top, #81a8cb, #4477a1); /* Firefox 3.6 */
- background: -webkit-gradient(linear,left bottom,left top,color-stop(0, #4477a1),color-stop(1, #81a8cb)); /* Safari & Chrome */
- filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=’#81a8cb’, endColorstr=’#4477a1′); /* IE6 & IE7 */
- -ms-filter: “progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=’#81a8cb’, endColorstr=’#4477a1′)”; /* IE8 */
- }
Multiple Backgrounds
- #multi-bg {
- background: url(images/bg-image-1.gif) center center no-repeat, url(images/bg-image-2.gif) top left repeat;
- background: transparent url(images/bg-image-1.gif) top left repeat;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader (src=’images/bg-image-2.gif’, sizingMethod=’crop’); /* IE6-8 */
- -ms-filter: “progid:DXImageTransform.Microsoft.AlphaImageLoader(src=’images/bg-image-2.gif’, sizingMethod=’crop’)”; /* IE8 only */
- }
Element Rotation (CSS Tranformations)
- #rotate {
- -webkit-transform: rotate(180deg);
- -moz-transform: rotate(180deg);
- filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
- }
The value for the rotation can be either 1, 2, 3, or 4. Those numbers represent 90, 180, 270, or 360 degrees of rotation respectively.
有2 位同学留下了脚印
请问Gradients部分
FF和IE6、7的颜色值是一样的,为什么显示器显示出来时不一样的?
background: -moz-linear-gradient(top, #81a8cb, #4477a1); /* Firefox 3.6 */
background: -webkit-gradient(linear,left bottom,left top,color-stop(0, #4477a1),color-stop(1, #81a8cb)); /* Safari & Chrome */
filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=’#81a8cb’, endColorstr=’#4477a1′); /* IE6 & IE7 */
-ms-filter: “progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=’#81a8cb’, endColorstr=’#4477a1′)”; /* IE8 */
try again!