最近被拉去开发一个小系统,人手不够当起了前台。 好不容易找了个美工帮忙画了个UI,结果人家图也没切,悲剧的是我本地photo shop也没装。
但是自己一看布局,基本上用颜色+圆角可以搞定,但是忽然想起了貌似圆角是css3的特性。 而我们的系统至少要支持IE8。 然后查了一下,果然,IE8不支持css3。
网上查了各种方法,最简单的是图片拼接的,什么滑动门、九宫格。这一想,前台真苦逼,用户看上去一个圆角方块,原来还得自己手工拼。 那有没有偷懒的方法?
偶然找到了:http://fetchak.com/ie-css3/
.demo {
border-radius: 15px;
behavior: url(ie-css3.htc);
}
大概是这么个意思,ie6、7、8认得 behavior ,执行ie-css3.htc的脚本,其实里面也是一段javascript,用VML画成圆角。 VML牛逼,以前用到highcharts的时候因为旧版的ie不支持SVG的原因,highcharts会把它转化成VML,虽然这个玩意儿性能很挫(相对于画上几千个点)。 但是不得不惊叹IE那么早就有一个矢量绘图标记了。 用VML画四个圆角,当然看不出卡顿。
一试,结果坑爹了,什么要注意position要relative或者absolute的,z-index要够大……
好吧,忍了,我都改了,结果尼玛画出来的圆角矩形居然偏移位置了。
但是还是不想放弃这偷懒的方式,又找到了更为出名的PIE
http://css3pie.com/
一看人家官网就专业很多,因为出了支持css3的特性,还支持css3选择器部分功能(可与jQuery之类的写作)
把ie-css3.htc换乘PIE.htc,果然ok了,也没用relative或absolute position,也没调z-index,都没问题了。 就是PIE.htc大了点,要四十几KB。 但是搞定就ok~ :D
但是自己一看布局,基本上用颜色+圆角可以搞定,但是忽然想起了貌似圆角是css3的特性。 而我们的系统至少要支持IE8。 然后查了一下,果然,IE8不支持css3。
网上查了各种方法,最简单的是图片拼接的,什么滑动门、九宫格。这一想,前台真苦逼,用户看上去一个圆角方块,原来还得自己手工拼。 那有没有偷懒的方法?
偶然找到了:http://fetchak.com/ie-css3/
.demo {
border-radius: 15px;
behavior: url(ie-css3.htc);
}
大概是这么个意思,ie6、7、8认得 behavior ,执行ie-css3.htc的脚本,其实里面也是一段javascript,用VML画成圆角。 VML牛逼,以前用到highcharts的时候因为旧版的ie不支持SVG的原因,highcharts会把它转化成VML,虽然这个玩意儿性能很挫(相对于画上几千个点)。 但是不得不惊叹IE那么早就有一个矢量绘图标记了。 用VML画四个圆角,当然看不出卡顿。
一试,结果坑爹了,什么要注意position要relative或者absolute的,z-index要够大……
好吧,忍了,我都改了,结果尼玛画出来的圆角矩形居然偏移位置了。
但是还是不想放弃这偷懒的方式,又找到了更为出名的PIE
http://css3pie.com/
一看人家官网就专业很多,因为出了支持css3的特性,还支持css3选择器部分功能(可与jQuery之类的写作)
把ie-css3.htc换乘PIE.htc,果然ok了,也没用relative或absolute position,也没调z-index,都没问题了。 就是PIE.htc大了点,要四十几KB。 但是搞定就ok~ :D