
關于css里面的陰影效果,我可以本能反映的使用濾鏡DropShadow,問題就是今天發生的問題,居然讓我思考了15分鐘,最初始我的樣式寫法:
filter : progid:DXImageTransform.Microsoft.DropShadow(color=#666,offX=5,offY=5,positives=true);
也搞不清楚是那里復制來的,反正我肯定背不下來,從來都是一句搞定,今天這個客戶突然提個要求說:陰影小一點。我想,那簡單啊修改參數offX和offY,于是
filter : progid:DXImageTransform.Microsoft.DropShadow(color=#666,offX=3offY=3,positives=true);
沒反映,ft,怎么搞的,然后就陷入了深入的排查樣式沖突啊,重復定義啊,加單位啊什么的。無結果,無奈拿出寶書,小雨的樣式表手冊,直接運行示例,開始看到一個顏色數值:#00404040,自做聰明認為小雨的低級錯誤,選了下邊的#003399,一切順利,又很白癡的對照了5分鐘
filter : progid:DXImageTransform.Microsoft.DropShadow(color=#003399,offX=3,offY=3,positives=true);
這時突然醒悟過來,顏色不能縮寫!也就是說我以前的#666必須寫成#666666,趕緊看color說明:可選項。字符串(String)。設置或檢索此濾鏡作用的顏色值。其格式為 #AARRGGBB 。AA 、RR 、GG 、BB 為十六進制正整數。取值范圍為 00 - FF 。 RR 指定紅色值, GG 指定綠色值, BB 指定藍色值,參閱 #RRGGBB 顏色單位。 AA 指定透明度。 00 是完全透明。 FF 是完全不透明。
默認值為 #FF404040 。
原來如此!道理很簡單,為什么一直疏忽并沒有發現,最后總結原因如下:
1,顏色值必須全寫,和我以前理解樣式定義安全色可簡寫理論相悖;
2,當顏色指派不成功時,如#666,不報錯,自動以默認方式執行,也就是默認黑色,各偏移5,恰好是我的常用樣式,故一直未被發現有問題;
3,color=#FF404040用法有概念混淆誤導,真是孤陋寡聞第一次看到,以前從未注意。
您發布的評論即表示同意遵守以下條款:
一、不得利用本站危害國家安全、泄露國家秘密,不得侵犯國家、社會、集體和公民的合法權益;
二、不得發布國家法律、法規明令禁止的內容;互相尊重,對自己在本站的言論和行為負責;
三、本站對您所發布內容擁有處置權。