决定不再潜水,浮出水面... - JavaScript & VBScript & DHTM...

来源:百度文库 编辑:神马文学网 时间:2024/04/29 16:50:11
决定不再潜水,浮出水面...

以前在无忧一直是个潜水者...唉,等到blueidea中全是充斥着“求助”,“求救”等字眼时,甚至开始有乱七八糟的广告水贴入驻的时候才发现或许论坛已经开始堕落了...唉,感慨颇多。
    还好无忧仍然算是一块净土,希望这块土地能一直净下去吧...
    几经思量,借用腾讯的一句话,“这是个艰难的决定”,我决定在无忧不再做潜水的水民了。
    浮出水面后,烦各位大侠多指教...
在无忧的第一篇帖子。各位就当作本人热热身,暂就发一个有关“三角边”的东东吧,没什么技术含量。在blue也发过,各位将就看看...
“三角边”,我想应该很多人都知道,而且如果运用熟练,很多以前我们认为只能用图片来做的东西可以通过它来实现。因此适当和熟练地使用它可以起到减少页面中图片http链接,增强页面性能的作用。本文要讲一点三角边的实际用途以及利用它来实现的一些特别的效果。希望对有需要的朋友一些帮助。
  “三角边”-- 故名思意,即可以模拟三角。先看看下面的例子:

   提示:您可以先修改部分代码再运行

没错,别怀疑你的眼睛,上面的html和css里没有任何图片,所有三角效果都是css直接模拟出来的,而且兼容所有浏览器。
其实,原理很简单,给一个最简单的例子就明白了,
css样式:

   提示:您可以先修改部分代码再运行

html:

   提示:您可以先修改部分代码再运行

这段简单的代码输出结果为:
呵呵,是不是已经看到了“三角形”冒出来的端倪了。没错。其实DOM元素的border相接的地方是以三角的方式衔接的。所以我们才可以利用这种特性完成许多特别的事。
到这一步了,我们把需要留下来的三角留下,把不需要的border透明掉,不就可以呈现出三角形了么。对的,我们让不需要的border的border-color为transparent即可。
这里还需要注意一个小问题,就是ie6下面如果transparent的border为solid的话,会出现问题的。所以,我们为了将就ie6这个娇生惯养的家伙,统一让transparent的border-style为dashed或者dotted都可以。
  比如,就用上面的代码,我们想保留下面黑色的三角的话,让其余三边透明,并且dashed或dotted即可。
css:

   提示:您可以先修改部分代码再运行

html:

   提示:您可以先修改部分代码再运行

输出结果就变成了:
好了,三角边教程差不多了,本来就是个很简单的原理,只要用过一次相信都会掌握的。再结合其他的样式就可以作出你想要的“纯css三角”或者“纯css梯形”。
【tip】这里不得不再啰嗦一下,由于ie6太不乖了,所以如果需要用到height为0或接近0的时候,请都把它的font-size设为0,并且overfolw:hidden掉,不然你在ie6下会发现总有缝隙的。
cenanhongru





UID 94937
精华 0
积分 15
帖子 3
威望 3
阅读权限
注册 2010-9-18
状态 在线 #2   大 中 小 使用道具   发表于 2010-11-12 14:59  资料  个人空间  短消息  加为好友  回复 #1 cenanhongru 的帖子

【献礼】下面是一个js写的焦点图,也是周末时一时兴起做的,它特殊的一点就是用到了“三角边”来做图片切换的效果,做到了滚轴的效果。目前本人好像还没发现有哪个网站用的是这种效果的焦点图。。。

   提示:您可以先修改部分代码再运行

上面焦点图代码在做变换的时候有点臃肿...惭愧,我只能想到这种办法了。然后在ie6下会有闪烁的斑点,一时也没什么办法解决...