最近写一个用在web上的菜单,因为模仿XP风格,需要用到渐变效果,想当然的便选择了微软的渐变滤镜.
如下:filter:progid:DXImageTransform.Microsoft.gradient(startcolorstr=#E3EFFF,endcolorstr=#8EB3E7,gradientType=1);
但是由于我的表格比较复杂:每行TR由5个TD组成:可选择项,菜单项图片,一个空TD,菜单文本,下级菜单指示三角,所以相对而言每个列的宽度就比较难算,然而微软这个滤镜对宽度的精度要求比较高,稍微不准确(表格自己会根据内容改变宽度的),所以渐变滤镜就显示不出效果来了.忙了好久,我将每个TD的宽度算准了,可是不知道哪里错了,还是没有显示.
最终,还是放弃用渐变滤镜,改用PS做的渐变图片替代之.
对于尺寸比较敏感的滤镜,最好还是少用,当然,在菜单上失败的原因可能跟菜单项过多也有关系,因为此中的图片和文字的padding均会影响单元格的宽度.,如果只是单格显示渐变,这个滤镜还是比较好用的.
如下:filter:progid:DXImageTransform.Microsoft.gradient(startcolorstr=#E3EFFF,endcolorstr=#8EB3E7,gradientType=1);
但是由于我的表格比较复杂:每行TR由5个TD组成:可选择项,菜单项图片,一个空TD,菜单文本,下级菜单指示三角,所以相对而言每个列的宽度就比较难算,然而微软这个滤镜对宽度的精度要求比较高,稍微不准确(表格自己会根据内容改变宽度的),所以渐变滤镜就显示不出效果来了.忙了好久,我将每个TD的宽度算准了,可是不知道哪里错了,还是没有显示.
最终,还是放弃用渐变滤镜,改用PS做的渐变图片替代之.
对于尺寸比较敏感的滤镜,最好还是少用,当然,在菜单上失败的原因可能跟菜单项过多也有关系,因为此中的图片和文字的padding均会影响单元格的宽度.,如果只是单格显示渐变,这个滤镜还是比较好用的.