CSS三角形效果詳解

admin發表於2018-07-14

本章節介紹一下如何利用css實現三角形效果。

下面就通過程式碼例項做一下詳細說明,先看一個程式碼例項:

[HTML] 純文字檢視 複製程式碼執行程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<style>
.box{
  margin:20px auto;
  width:0px;
  height:0px;
  border:50px solid transparent;
  border-top-color:#2DCB70;
  border-right-color:gold;
  border-bottom-color:#333333;
  border-left-color:red;
}
</style>
</head>
<body>
<div class="box"></div>
</body>
</html>

上面的程式碼中,div元素的寬度和高度都是0,我們所看到的四個不同的顏色是div元素的邊框的顏色。

邊框通常看起來是矩形,但是如果無限的縮小元素的寬度或者高度,那麼就擠壓成了三角形,看下面的程式碼:

[HTML] 純文字檢視 複製程式碼執行程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<style>
body{text-align:center}
.box{
  margin:20px auto;
  height:0px;
  border:50px solid transparent;
  border-top-color:#2DCB70;
  border-right-color:gold;
  border-bottom-color:#333333;
  border-left-color:red;
}
</style>
<script>
window.onload=function(){
  var obt=document.getElementById("bt");
  var odiv=document.getElementById("antzone");
  var timer=null;
  obt.onclick=function(){
    timer=setInterval(function(){
      if(odiv.offsetWidth==0){
        clearInterval(timer);
      }else{
        odiv.style.width=(parseInt(odiv.style.width)-5)+"px";
      }
    },100)
  }
}
</script>
</head>
<body>
<div id="antzone" class="box" style="width:300px;"></div>
<input type="button" id="bt" value="檢視效果"/>
</body>
</html>

上面的動態程式碼是不是看起來更為直觀一些。

在實際應用中我們通常只要一個三角,那麼只要將其他的三個邊框設定為透明即可。程式碼例項如下:

[HTML] 純文字檢視 複製程式碼執行程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<style>
body{text-align:center}
.box{
  margin:20px auto;
  height:0px;
  border:50px solid red;
  border-top-color:transparent;
  border-right-color:transparent;
  border-bottom-color:transparent;
}
</style>
</head>
<body>
<div class="box"></div>
</body>
</html>

相關文章