圆角头像的制作

好多sns的头像都使用圆角了,昨天在校内上看到了圆角头像,今天在Qzone的也看到了圆角头像,圆角头像看上去比直角的美观。

2009-08-19_1731512009-08-20_122313

圆角头像的制作原理就是在头像上覆盖一张透明的图片,把四个角颜色设置成页面的背景颜色,中间透明,

假设我的页面底色是纯黑色的,那么这个透明图片可以做成这样,如图:

2009-08-20_123344

这里需要注意的是需要把图片保存成24位的png,虽然IE6支持8位的png的透明,但是8位的png做透明圆弧图片存在效果上的问题,就是存在白色的杂边或锯齿,如图:

2009-08-20_124016

,24位的png或32位的png的圆弧透明(半透明)图片则非常光滑,但是该死的IE6不支持24位的png或32位的png透明(其他浏览器都支持),需要我们额外的一下处理;

IE6下处理24位的png或32位的png方方法有很多,我做了2种:

第一种:使用 AlphaImageLoader 筛选器:

html代码:

[code=”html”]

[/code]

CSS代码:

[code=”css”]

#circular-box{ margin: 50px;}

#circular-box li{ float:left; margin:0 20px; position:relative}

#circular-box li img{display:block}

#circular-box li span{position:absolute; top:0; left:0;width:200px; height:200px; background:url(circular.png) no-repeat; _background:none;_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=’circular.png’,sizingMethod=’crop’); cursor:pointer}

[/code]

这里需要注意的是:

  1. 使用?AlphaImageLoader 筛选器的元素必须有宽高,width:XXpx; height:XXpx;
  2. ie6下必须充值背景为none,_background:none

查看demo:https://www.html.cn/demo/circular-img/circular-img1.html


第二种:使用widgetfx的方法:

你可以在这里获取最新的widgetfx:http://code.google.com/p/widgetfx/source/browse/widgetfx.org/?r=122

html代码:

[code=”html”]

[/code]

CSS代码:

[code=”css”]

#circular-box{ margin: 50px;}

#circular-box li{ float:left; margin:0 20px; position:relative}

#circular-box li img{display:block}

#circular-box li span{position:absolute; top:0; left:0;width:200px; height:200px; background:url(circular.png) no-repeat; behavior:url(“iepngfix.htc”); cursor:pointer}

[/code]

这里需要注意的是:

  1. 页面头部需要引用iepngfix_tilebg.js;
  2. 在透明图片的元素上加:behavior:url(“iepngfix.htc”);

查看demo:https://www.html.cn/demo/circular-img/circular-img.html

更多方法请访问:

https://www.html.cn/archives/577,

http://blog.gulu77.com/?p=147;

http://blog.bingo929.com/png-transparency-in-ie6.html;

另:校内最新的该效果制作有的特别,在支持html5的浏览器上使用了Canvas,IE下是用VML,HTML 5画图基本上都靠canvas,而且需要js的支持。相关信息可以查看http://byzuo.com/blog/html5-canvas

赞(0) 打赏
未经允许不得转载:WEB前端开发 » 圆角头像的制作

评论 6

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #-49

    码头哥哥好棒!!

    丸子10年前 (2009-08-20)回复
  2. #-48

    学习并关注着

    Max10年前 (2009-08-21)回复
  3. #-47

    伪类:after进行后续空制的高度位零的伪类层清除

    萝卜的痕迹9年前 (2009-12-26)回复
  4. #-46

    png-8的毛边可以解决的 存储时 把仿色那里改成 图案就可以啦

    萝卜的痕迹9年前 (2009-12-26)回复
    • 不可以吧,我试过,出来的效果不细腻

      liaolan8年前 (2010-12-22)回复
      • 加上img{border:0}试试。

        林潇8年前 (2011-04-12)回复

前端开发相关广告投放 更专业 更精准

联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏