您的位置:知识库 » Web前端

CSS技巧之圆角背景与三角形

作者: Mr.Think  来源: 博客园  发布时间: 2010-10-28 11:54  阅读: 1449 次  推荐: 0   原文链接   [收藏]  

  前端开发中两个很不错的小技巧, CSS三角形与圆角背景. 的确, 它们都可以通过图片来实现, 但, 抛开用代码实现可以减小图片加载量不说, 当你遇到三角形或圆角背景下还有一层非纯色背景时, 你又不得不考虑IE6 png兼容问题, 嗯, IE6,万恶之源. 此时, CSS三角形及圆角背景将是上佳选择.
  查看演示: 点此查看DEMO
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

0
0
标签:CSS 圆角

Web前端热门文章

    Web前端最新文章

      最新新闻

        热门新闻