CSS技巧之圓角背景與三角形

作者: Mr.Think  來源: 博客園  發布時間: 2010-10-28 11:54  閱讀: 1244 次  推薦: 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 圓角
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()