CSS技巧之圆角背景与三角形实现方法
发布时间:2010-11-05 23:18:21 作者:佚名
我要评论
前端开发中两个很不错的小技巧, CSS三角形与圆角背景.
的确, 它们都可以通过图片来实现, 但, 抛开用代码实现可以减小图片加载量不说, 当你遇到三角形或圆角背景下还有一层非纯色背景时, 你又不得不考虑IE6 png兼容问题, 嗯, IE6,万恶之源. 此时, CSS三角形及圆角背景将是上佳选择.
查看演示
提示:您可以先修改部分代码再运行
CSS圆角背景
通过改变层叠元素的margin值实现圆角效果.当然,有人会说不用这么麻烦,CSS3几句代码就可以搞定,但目前来说不实用,支持的浏览器没几个.
css部分
.r_top, .r_bottom {display:block; background:transparent; font-size:1px}/*左上右上角和左下右下角的容器*/
.r_a, .r_b, .r_c, .r_d {display:block; overflow:hidden}/*四个圆角*/
.r_a, .r_b, .r_c{height:1px}
.r_b, .r_c, .r_d{background:#cf6}
.r_a {margin:0 5px}
.r_b {margin:0 3px; border-width:0 2px}
.r_c {margin:0 2px}
.r_d {height:2px; margin:0 1px}
html部分
<!--左上角/右上角-->
<div class="r_top"><em class="r_a"></em><em class="r_b"></em><em class="r_c"></em><em class="r_d"></em></div>
<div class="box">
.....内容容器.....
</div>
<!--左下角/右下角-->
<div class="r_bottom"><em class="r_d"></em><em class="r_c"></em><em class="r_b"></em><em class="r_a"></em></div>
CSS三角形
这个就比较简单了, 把元素定义成块级0大小(0宽0高0字号0行高)后, 通过改变元素的border-color值实现. 本文用的是em元素, 当然, 如果你项目中用em比较频繁, 为避免冲突也可以用samp,strong等元素.
当然, 即便用CSS实现的三角形, 万恶的IE6还是会给你添点麻烦: IE6不支持border-color的transparent值, 怎么办? 为ie6单独写一个border-color值, 然后用chroma滤镜实现透明, 详见代码
css部分
em{display:block;width:0;height:0;font-size:0;line-height:0;border-width:40px;border-style:solid;border-color:#cf6 #fff #39c #ffc;_filter:chroma(color=#000000)/*色度滤镜,让IE6实现透明borderColor.滤镜的颜色值不可简写*/}
em.a{border-color:transparent transparent #fff transparent;_border-color:#000 #000 #fff #000}
em.b{border-color:transparent transparent transparent #fff;_border-color:#000 #000 #000 #fff}
em.c{border-color:#fff transparent transparent transparent;_border-color:#fff #000 #000 #000}
em.d{border-color:transparent #fff transparent transparent;_border-color:#000 #fff #000 #000}
html调用
<em><em><!--它就是三角形了,哈-->
本文只是CSS实现方法只是众多CSS方法中的一种, 更多的方法, 请自行Google .
查看演示
提示:您可以先修改部分代码再运行
CSS圆角背景
通过改变层叠元素的margin值实现圆角效果.当然,有人会说不用这么麻烦,CSS3几句代码就可以搞定,但目前来说不实用,支持的浏览器没几个.
css部分
复制代码
代码如下:.r_top, .r_bottom {display:block; background:transparent; font-size:1px}/*左上右上角和左下右下角的容器*/
.r_a, .r_b, .r_c, .r_d {display:block; overflow:hidden}/*四个圆角*/
.r_a, .r_b, .r_c{height:1px}
.r_b, .r_c, .r_d{background:#cf6}
.r_a {margin:0 5px}
.r_b {margin:0 3px; border-width:0 2px}
.r_c {margin:0 2px}
.r_d {height:2px; margin:0 1px}
html部分
复制代码
代码如下:<!--左上角/右上角-->
<div class="r_top"><em class="r_a"></em><em class="r_b"></em><em class="r_c"></em><em class="r_d"></em></div>
<div class="box">
.....内容容器.....
</div>
<!--左下角/右下角-->
<div class="r_bottom"><em class="r_d"></em><em class="r_c"></em><em class="r_b"></em><em class="r_a"></em></div>
CSS三角形
这个就比较简单了, 把元素定义成块级0大小(0宽0高0字号0行高)后, 通过改变元素的border-color值实现. 本文用的是em元素, 当然, 如果你项目中用em比较频繁, 为避免冲突也可以用samp,strong等元素.
当然, 即便用CSS实现的三角形, 万恶的IE6还是会给你添点麻烦: IE6不支持border-color的transparent值, 怎么办? 为ie6单独写一个border-color值, 然后用chroma滤镜实现透明, 详见代码
css部分
复制代码
代码如下:em{display:block;width:0;height:0;font-size:0;line-height:0;border-width:40px;border-style:solid;border-color:#cf6 #fff #39c #ffc;_filter:chroma(color=#000000)/*色度滤镜,让IE6实现透明borderColor.滤镜的颜色值不可简写*/}
em.a{border-color:transparent transparent #fff transparent;_border-color:#000 #000 #fff #000}
em.b{border-color:transparent transparent transparent #fff;_border-color:#000 #000 #000 #fff}
em.c{border-color:#fff transparent transparent transparent;_border-color:#fff #000 #000 #000}
em.d{border-color:transparent #fff transparent transparent;_border-color:#000 #fff #000 #000}
html调用
复制代码
代码如下:<em><em><!--它就是三角形了,哈-->
本文只是CSS实现方法只是众多CSS方法中的一种, 更多的方法, 请自行Google .
相关文章
- 上一篇文章是用HTML特殊字符来制作三角的,今天介绍下,如何用 border 来制作三角,相对于用 border 来做三角,我更加喜欢用 html 特殊字符来制作三角,感兴趣的朋友可以参2013-03-28
- 下面的效果完全是用css 来实现的,那么是怎么实现的呢,我们知道 html 中有一些特殊的字符,通过特殊字符,利用 css 中的margin或者position方法完全可以实现以上效果,感2013-03-28
css 倒三角形 CSS 打造(此处有更多内容)的倒三角显示效果
倒三角显示效果可以隐藏更多的内容,这点可以充分利用页面有限布局,而且效果很时尚,有需要的朋友可以借鉴一下,或许可以打造出意想不到的效果,感兴趣的你可不要错过了啊2013-02-04使用css创建三角形 使用CSS3创建3d四面体原理及代码(html5实践)
今天读了篇关于如何使用css3创建3d四面体的文章,觉的相当不错,所以拿出来和大家分享一下,如何使用div+css创建三角形。在这里我先把相关代码粘贴出来,然后再为大家讲解2013-01-06- 有很多新手朋友不知道如何使用css制作带小三角的tooltip提示框,本人研究整理了一下,晒出来和大家分享,希望可以帮助你们2012-12-05
- 在 twitter 上发了一条推,给一道 CSS 题给大家做。有几位同学给了回答,@zhiyelee 同学还给出了他的具体实现方案2012-06-27
- 用CSS也可以画画了.不错哦.下面我们来画一个三角形看看2012-06-04
纯CSS画的基本图形(矩形、圆形、三角形、多边形、爱心、八卦等)
今天在css-tricks上看到一篇文章,那篇文章让我不禁心头一震,强大的CSS啊,居然能画出这么多基本的图形2012-01-21- 今天随便修几个三角形2011-08-02
- 利用CSS的border属性可以生成一些图形,例如三角或是圆角。2010-12-27


最新评论