发新话题
打印

CSS滤镜之blur属性

CSS滤镜之blur属性


假如您用手在一幅还没干透的油画上迅速划过,画面就会变得模糊。CSS下的blur属性就会达到这种模糊的效果。 & O- G1 b  k. j4 R( d
  先来看一下blur属性的表达式: % S3 E" |2 z4 ?: @1 A

3 g, n' z8 _; L# [. i4 u: O- W  filter:blur(add=add,direction,strength=strength)   2 x9 X5 w& l/ L/ Q1 |3 [) g

" }+ k7 _+ }! d: t# o  我们看到blur属性有三个参数:add、direction、strength。
5 z9 w( |2 Z1 f7 ^/ W" v8 {" J  Add参数有两个参数值:true和false。意思是指定图片是否被改变成模糊效果。    Direction参数用来设置模糊的方向。模糊效果是按照顺时针方向进行的。其中0度代表垂直向上,每45度一个单位,默认值是向左的270度。角度方向的对应关系见下表:  ( U* I" d( o4 R7 x. L
" u) K- R. @5 @
# a' W/ N& _5 `! ~) h
+ s! d/ g' i2 ]6 s, ~
  
' y0 R# v2 Y) I: j% E+ c4 C% g$ ?7 _; u8 b; b, Q
  Strength参数值只能使用整数来指定,它代表有多少像素的宽度将受到模糊影响。默认值是5像素。9 ^$ F8 O: A7 K2 |/ E) f
  还是看一个例子吧。   
6 b* Y& B0 U8 r- c+ v8 H9 f% [( Y
$ x2 U- y  {" M  g2 g# D- j$ N% f===================  $ q. M3 b9 V9 R2 U1 E

% i3 _  t8 k/ V+ z% Hhtml2 q& j8 e: l8 a3 C9 U3 T# T9 w/ t
head: Q! l4 Y0 p$ R3 O% x% V" ]
titleblur css/title5 ^6 ^$ p1 ^! w/ @
script
+ `0 K! ]. A' q6 x; {) z& D! t( {/ S function handlechange(obj); L8 ~& ]5 l; h# l2 K9 l$ u
{& T- }' Z8 {7 m4 z, a9 d
with(obj.filters(0))
3 d4 _/ n: U# z2 a2 p {& h! Z: i" Z) r) M
if (strength255). J3 Q% K% {5 b9 Y7 ]
{# x6 ]& W+ c# V4 {
strength  =2;
$ f. A) w% `+ a7 w& e" b% {2 a- w5 L direction  =45;0 F# Q# k; k, c- M9 }
}+ q( k0 x; {3 x
}
/ Q( m9 v  h5 a0 M. y0 m3 L5 q$ q }' g* h: q( f4 z' Z/ r
/script' b0 \# G  |$ o3 y
/head  ; S9 n0 U  O* {0 p$ ]4 J
9 M  r. _$ [" S5 i4 h
body: {, r/ y3 Y% K6 d: O$ D& r( ]
pimg id ="img1" src="jsimg/1.jpg" style="filter:blur(strength=1)"
+ l, z' C: U  h3 L2 I$ G onfilterchange="handlechange(this)"
9 Y0 s9 U$ {+ }. J /p
7 o  A3 L9 K7 t: ]  ^8 I/body
( z$ e) f& V7 z. k2 V/html  & R5 S. G  z0 {

4 V, f8 Q0 X4 |& I" `& |=====================  看起来是不是有些像万花筒,在这个例子中加入了一些JavaScript的语句,代码如下: / o0 x: i; F  P* @0 K, S& c* s# ^4 K; h
: q" `1 `) T/ M$ x; C/ }/ f
  html
9 _: z8 n0 ]) [- z   head . T6 Z1 a% e, r1 z
   titleblur css/title " e( }. s/ P2 k4 t" y$ Q' R
   script
0 B  C! O6 W# D   function handlechange(obj) ' D! B7 A: T* Y. y* Z
   //*设置一个循环函数handlechange,对象是obj*// 0 j8 q, t4 k7 w1 k7 o- d7 V5 F
   { with(obj.filters(0))//*Obj的filter属性*//
1 Y+ T% R4 r* u, R    { if (strength255)//*设置循环条件*//
( F& ^; Y8 E/ F# u8 K' d     { strength  =1;direction  =45;}) k* T+ H6 d# v) B' ?- a
    //*每循环一次strength就加1,direction加45度*//         - @9 s8 l9 A' b( X
    }
0 q6 _8 F1 d  ~' _2 h- c   }
9 W( O  G$ c7 s+ l& c" o   /script
+ a' |. Z4 B  r. v' W/ ]   /head
0 G0 s/ R: _8 E$ O   body 7 `# N# P$ N( J& V4 U$ W
   pimg id =“img1” src=“ss01087.jpg”         0 C+ e9 ]9 q3 c* Q7 G" U
     style=“filter:blur(strength=1)”9 D- u( f/ T6 R/ q8 o  C
     onfilterchange=“handlechange(this)” : d# q% J! g6 X) i% F# I3 O8 R
   //*导入一幅图片,初始blur属性strength等于1,同时调用onfilterchange函
1 C" m' k: z; Z$ o+ O0 ]/ f   数*//
& @% Y1 u1 {. B& F   /p
* J. j2 P# B: J9 W2 N8 S3 Q    /body : s) N4 s0 y' I+ S
  /html   
7 \7 h$ ?0 S0 W2 d+ n% F% M* b6 ^* H0 V; {% I1 ]
  注:在javascript中blur属性是这样定义的: & u, Q/ [0 A$ {, E$ z
    [oBlurfilter=] object.Filters.blur  
- r, x5 O- L" j3 p
, W* T0 b; F1 C/ q  这个例子是Blur属性的一个比较复杂的例子,下一节我将向您介绍两个较简单的blur属性效果。  - W2 h2 T: I3 l8 x3 d- `

+ U1 w# g) Z: j通过blur属性还可以设置页面中的字体。如果把字体的blur属性add参数值定义为1,得出来的字体效果是这样的(如下图):  & S1 @$ E) R" ~7 w+ a) B4 J- i; S
' |" O+ H; V) W3 W

7 U+ R  R0 l9 n# y+ s  b7 U1 a4 {
+ M' D& `8 ~  [, [' P) k, }6 V  
( s+ _) s3 X" ]1 {/ `( Y
8 r7 ]4 n7 p, Q  怎么样,是不是有些印象派的意思,这种效果的实现代码如下:  / y' s: i4 f. b% `- g

* U6 G7 K* o1 c0 k  html
' t9 d( A" M7 V6 q0 g/ m4 O   head % m5 I2 D$ ~4 C' W& e5 p6 `
   titlefilter blur/title
4 F& r! k5 n5 \5 q, o1 o   style//*CSS样式定义开始*// ' |0 \6 m% |/ E
   !--
2 _) u% r% ]/ g7 v0 ~$ p0 P7 G8 j   div{width:200;
* I1 q" A1 J9 e3 H   filter:blur(add=true,direction=90,strength=25);}
5 Q$ |& P2 c5 [   //*设置DIV样式,滤镜blur属性*// $ }( L0 ]3 u/ V2 y+ e' n. g' A8 \
    -- 2 }/ s, Y6 e! W
   /style " G' m; L8 \: w
   /head ( o# G% u: {6 n" D% d, D4 u1 N
   body 9 l% D$ z8 _* E1 I* S) H! `1 t
   div style=“width:702; height: 288” # B/ O7 M0 i, _7 w
   p style=“font-family:lucida handwirting italic;
$ `# R4 X& O- {" n/ i    font-size:72;font-style:bold;color:rgb(55,72,145);”
8 P; I( z( |9 @9 q: e7 i    LEAF/p + N6 S, H3 I, e& K) C
   //*定义字体名称、大小、样式、前景色*// 5 t# d- c+ ?" V% G$ o/ w0 ^8 p
   /div
9 Y. m+ h/ }" Y4 ~   /body   V& N  q! @- G- f5 @. P1 @8 q& s
  /html   ; x/ e; e( N! k" q3 c) h

% Q0 F) l# ?2 T4 ]: d; J, G6 a2 R  我们看到strength设置为25,如果把其值再改大一些,就会达到非常夸张的效果,同时把Direction参数值为180,显示效果如下图:  3 |4 i9 D. O- M2 [! m1 G% t, z7 T
( ~, {  S3 w, d( s+ E# G! J
! G  M$ b; ?* v( `- Q

, f1 C- d1 M9 P% F3 Q  - q. h6 Z7 f( e6 X0 I6 e: F

# o. \5 q# v1 m, @$ r. W" M  y7 a9 \2 k  用blur属性设置字体可以达到很多效果,把direction和strength再做修改,还能达到多种效果,您可以自己修改试一试。



点击图标进入精品网摘收藏 欢迎大家加入网络收藏夹

TOP

发新话题