您當(dāng)前位置:圖趣網(wǎng)(Tuquu) >> 網(wǎng)頁設(shè)計(jì)教程 >> 移動(dòng)前端 >> 瀏覽設(shè)計(jì)教程

利用純CSS創(chuàng)建一個(gè)三角形

   網(wǎng)頁中對(duì)話氣泡框下邊的小三角是非常有用的,繪制的方法很多,想什么字體圖標(biāo)、小圖片之類的都可以,但是都不夠靈活和快捷,有了 CSS3 之后繪制一個(gè)三角形就非常簡(jiǎn)單了

利用純 CSS 創(chuàng)建一個(gè)三角形

  首先當(dāng)然是一個(gè)任意的空標(biāo)簽來當(dāng)小三角,下邊的 CSS 丟進(jìn)去即可:

 代碼如下  

.triangle{
 left:50%;
 margin-left:-5px;
 width:5px;
 height:5px;
 background:#FAFAFA;
 bottom:-4px;
 position:absolute;
 transform:rotate(45deg);
 -ms-transform:rotate(45deg);
 -moz-transform:rotate(45deg);
 -webkit-transform:rotate(45deg);
 -o-transform:rotate(45deg);
 border:1px solid #E5E5E5;
 border-top:none;
 border-left:none
}

  代碼利用 CSS3 的 2D 旋轉(zhuǎn)屬性對(duì)正方形進(jìn)行旋轉(zhuǎn),并且隱藏掉頂部左右兩邊的邊框就可以實(shí)現(xiàn)小三角了。

  例子

 代碼如下  

<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<script type="text/javascript" src="/libs/jquery/1.4.4/jquery.min.js"></script>
<title>三種純CSS實(shí)現(xiàn)三角形的方法</title>
<link rel="stylesheet" >
<style type="text/css">
.page-info { padding:8px 15px; background:#fcea9e; border-bottom:1px solid #b6bac0; font:normal 16px Georgia; }
.page-info h1 { float:left; }
.page-info a { font-weight:bold; color:#222; }  
.return-article { float:right; }
.return-article h2{ display:inline; }

/*border模擬tips*/
.message-box { position:relative; float:left; margin:80px 0 0 100px; width:240px;

height:60px; line-height:60px; background:#E9FBE4; box-shadow:1px 2px 3px #E9FBE4;

border:1px solid #C9E9C0; border-radius:4px; text-align:center; color:#0C7823; }
.triangle-border { position:absolute; left:30px; overflow:hidden; width:0; height:0;

border-width:10px; border-style:solid dashed dashed dashed; }
.tb-border { bottom:-20px; border-color:#C9E9C0 transparent transparent transparent; }
.tb-background { bottom:-19px; border-color:#E9FBE4 transparent transparent transparent; }

/*字符模擬tips*/
.triangle-character { position:absolute; left:30px; overflow:hidden; width:26px; height:26px; font:normal 26px "宋體"; }
.tc-background { bottom:-12px; color:#E9FBE4; }
.tc-border {  bottom:-13px; color:#C9E9C0;}

/*css3 transfrom 模擬tips*/
.triangle-css3 { position:absolute; bottom:-8px; bottom:-6px; left:30px; overflow:hidden; width:13px; height:13px; background:#E9FBE4; border-bottom:1px solid #C9E9C0; border-right:1px solid #C9E9C0;}
.transform { -webkit-transform:rotate(45deg); -moz-transform:rotate(45deg); -o-transform:rotate(45deg);

transform:rotate(45deg); }
/*ie7-9*/
.ie-transform-filter { 
    -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.7071067811865475, M12=-0.7071067811865477, M21=0.7071067811865477, M22=0.7071067811865475, SizingMethod='auto expand')";
    filter: progid:DXImageTransform.Microsoft.Matrix( M11=0.7071067811865475,M12=-0.7071067811865477,

M21=0.7071067811865477,M22=0.7071067811865475,SizingMethod='auto expand');
}
</style>
</head>
<body>
<div class="message-box">
  <span>我是利用 border 屬性實(shí)現(xiàn)的</span>
  <div class="triangle-border tb-border"></div>
  <div class="triangle-border tb-background"></div>
</div>

<div class="message-box">
  <span>我是利用 ◆ 字符實(shí)現(xiàn)的</span>
  <div class="triangle-character tc-border">◆</div>
  <div class="triangle-character tc-background">◆</div>
</div>

<div class="message-box">
  <span>我是利用 css transfrom 屬性實(shí)現(xiàn)的</span>
  <div class="triangle-css3 transform ie-transform-filter"></div>
</div>

</body>
</html>

[教程作者:佚名]
免責(zé)聲明:本站文章系圖趣網(wǎng)整理發(fā)布,如需轉(zhuǎn)載,請(qǐng)注明出處,素材資料僅供個(gè)人學(xué)習(xí)與參考,請(qǐng)勿用于商業(yè)用途!
本文地址:http://m.pkvc.cn/tutorial/wd2227.html
css3中flexbox伸縮盒深入理解
CSS控制ul縮進(jìn)間距和去掉li點(diǎn)的方法
圖趣網(wǎng)微信
建議反饋
×