Feb
25

几款浏览器对透明度的支持方式各不相同,为了保证在IE, Firefox, Chrome, Safari等主流浏览器下都能正常显示透明度的效果,我们可以定义一个透明度的class,因为一写就要写3条,省的每次都复制来复制去了。
具体代码如下:

.transparent{
filter:alpha(opacity=60);  /*支持 IE 浏览器*/
-moz-opacity:0.60; /*支持 FireFox 浏览器*/
opacity:0.60;  /*支持 Chrome, Opera, Safari 等浏览器*/
}
Dec
05

今天使用Visual Studio 2008制作前端页面的时候,将原先已经制作好的html页内容完完整整一字不差地复制到新建的Default.aspx后,用除了IE6的大部分浏览器(我测试了IE7/8,Firefox),均能够正常显示布局(我已经在静态页上进行了css hack),而唯独IE6特立独行,来了个大花脸。。囧

测试了各种可能性,最后我保证了aspx与html也输出完全一致(内容本来就一样,就是格式不同),不过仍然失败。

排除了各种可能,判断很有可能是VS在输出aspx的时候出现了问题。网上查阅了一下,发现果然如此。
[阅读全文:IE6问题:html静态页正常而使用aspx后出现严重问题]

Aug
16

今天在修改一个tab样式的时候遇到一个问题,用了span:hover,想达到一个鼠标悬停效果。可是调试了半天,hover的效果就是不出现。
之前错误的书写顺序:

span{display: block; width: 110px; height: 40px;}
span:hover{background: 0 -40px;}
span.button-1{background:url(../images/tabs/button_1.png);}

这样测试出来的结果跟我预期的不一样,我想在span.button-1定义背景图片,然后在鼠标经过时hover显示悬停效果。本应该是会移到背景的第40像素开始显示,可是仍然只显示原始图像。
经过多次测试,终于发现是由于伪类的书写顺序不正确造成的。网上查阅了一下资料,的确伪类有明确的书写顺序规定,如果错了的话就可能造成显示结果不正确。
后来分析一下我的CSS,发现可能是由于最后一行button-1的样式把hover的background又给覆盖了。于是把伪类放到最后,也就是必须将伪类写在本身选择器之后。问题解决。

虽然我的这个问题和伪类之间的顺序并不是很相关,但是这些伪类之间的顺序还是值得关注一下的,省的以后又出现同样的问题。
顺序如下:

a:link
a:visited
a:hover
a:active

总结一下就是LVHA,听说这个叫爱恨原则,LoVe/HAte,便于记忆吧呵呵。

top
45 queries. 0.266 seconds.