一、三角形
border邊框設定
程式碼:
width: 300px;
height: 300px;
background: red;
border: 40px solid black;
border-left-color: blue;
border-bottom-color: yellow;
border-right-color: pink;
border-top-color: #008800;複製程式碼
花特殊圖形的時候需要將寬高設定成0
效果:
程式碼:
width: 0;
height: 0;
background: transparent;
border: 40px solid black;
border-left-color: blue;
border-bottom-color: yellow;
border-right-color: pink;
border-top-color: #008800;複製程式碼
1、等腰三角形:將其他的邊的border設定成透明
程式碼:
width:0;
height: 0;
background: transparent;
border: 40px solid black;
border-left-color: transparent;
border-bottom-color: yellow;
border-right-color: transparent;
border-top-color: transparent;複製程式碼
2、直角三角形
程式碼:先寫出個完整的div,再使用border-***-width:0;來擷取三角形
border-top-width/border-bottom-width:0=》就是在中間橫著劈開一道,保留上邊或者下邊
border-left-width/border-right-width:0=》就是在中間豎著劈開一道,保留左邊或者右邊
.rightAngle{
width: 0;
height: 0;
background: transparent;
border: 40px solid black;
border-left-color: blue;
border-bottom-color: yellow;
border-right-color: pink;
border-top-color: #008800;
border-top-width: 0;
border-left-width: 0;
border-right-color: transparent;
}複製程式碼
3、梯形
綵帶圖形:
程式碼:
width: 300px;
height: 0;
background: transparent;
border: 40px solid #008800;
border-left-color: transparent;
border-bottom-color: yellow;
border-right-color: transparent;
border-top-color: #008800;複製程式碼
梯形:
程式碼:將上面綵帶圖形的寬度減少,然後將上面的梯形設定為透明
width: 100px;
height: 0;
background: transparent;
border: 40px solid #008800;
border-left-color: transparent;
border-bottom-color: #008800;
border-right-color: transparent;
border-top-color: transparent;複製程式碼
總結:通過設定長度和高度,以及設定border的透明度來拼湊成想要的圖形
4、圓形
圖形:
程式碼:使用border-radius:50%;
.circle{
width: 100px;
height: 100px;
border: 0;
border-radius: 50%;
background-color: orange;
}複製程式碼
5、橢圓
圖形:
程式碼:
.ellipse{
width: 200px;
height: 120px;
background-color: orange;
border-top-left-radius: 50%;
border-top-right-radius: 50%;
border-bottom-left-radius: 50%;
border-bottom-right-radius: 50%;
}複製程式碼
總結:
一個display:block的元素設定寬高之後表現為矩形。通過設定border-radius可以得到圓角矩形,圓形和橢圓形。
在使用border-radius時,有幾點可能需要注意一下:
- border-radius,可以分別對4個角進行設定。 例如上圖:border-top-left-radius: apx bpx;
- border-xxx-xxx-radius的兩個值分別代表著橢圓長軸和短軸長度的一半,通常簡寫的時候例如border-top-left-radius: 10px;(border-top-left-radius:10px 10px;) 表明長軸和短軸的長度均為20px,也就是半徑為10px的圓形(圓角部分)。
- 當使用百分比數值時,a 相對於width, b相對於height
6、特殊圖形
(1)斜邊三角形
圖形:
程式碼:先畫個等邊三角形,然後再轉換角度
.beveledTriangle{
margin: 50px;
width: 0;
height: 0;
border: 20px solid #2b81af;
border-top-width: 40px;
border-top-color:transparent;
border-bottom-width: 40px;
border-bottom-color: transparent;
border-left-width: 0;
border-right-color: #008800;
border-right-width: 25px;
transform-origin:center center;
transform:rotateY(-180deg) rotate(-44deg) ;
}複製程式碼
(2)繪製一條“小尾巴”
圖形:
程式碼:
.tail{
margin: 50px;
width: 100px;
height: 70px;
border-top-right-radius: 70px 70px;
border-right:6px solid #000000;
}複製程式碼
總結:當對一個角應用圓角樣式,如果這個角相鄰的兩個boeder一個有定義而一個無定義,那麼繪製的結果就是有粗到細的“小尾巴了”
7、繪製QQ圖案(取自AlloyTeam案例)
圖形:
程式碼:
<a id="qq" href="http://www.alloyteam.com" target="_blank">
<div class='head'>
<div class='left eye'>
<div class="innerLeftEye">
</div>
</div>
<div class='right eye'>
<div class="innerRightEye">
<div class="fix"></div>
</div>
</div>
<div class='mouthTopContainer'>
<div class='mouthTop'></div>
</div>
<div class="mouthBottomContainer">
<div class="mouthBottom"></div>
</div>
<div class="lipsContainer">
<div class="lips">
<div class="lipShadow left">
</div>
<div class="lipShadow right">
</div>
</div>
</div>
</div>
<div class="body">
<div class="innerWrapper">
<div class="inner">
</div>
</div>
<div class="outterWrapper">
<div class = 'outter'>
</div>
</div>
<div class="scarf">
<div class="scarfShadow">
</div>
<div class="scarfShadowRight">
</div>
</div>
<div class="scarfEnd">
<div class="scarfEndShadow">
</div>
</div>
</div>
<div class="handWrapper">
<div class="leftHandTopContainer">
<div class="leftHandTop">
</div>
</div>
<div class="leftHandBottomContainer">
<div class="leftHandBottom">
</div>
</div>
<div class="rightHandTopContainer">
<div class="rightHandTop">
</div>
</div>
<div class="rightHandBottomContainer">
<div class="rightHandBottom">
</div>
</div>
</div>
<div class='footWrapper'>
<div class="leftFootTopWrapper">
<div class="leftFootTop">
</div>
</div>
<div class="leftFootBottomWrapper">
<div class="leftFootBottom">
</div>
</div>
<div class='toe left'></div>
<div class="rightFootTopWrapper">
<div class="rightFootTop">
</div>
</div>
<div class="rightFootBottomWrapper">
<div class="rightFootBottom">
</div>
</div>
<div class='toe right'></div>
</div>
</a>
<style>
body{
margin: 0;
padding:0;
font: 12px Tahoma, arial, sans-serif;
}
#mask {
position: absolute;
opacity: 0.2;
top:0;
left:0;
}
header{
font-family: 'Segoe UI Light','Segoe UI','Microsoft Jhenghei','寰蔣闆呴粦',sans-serif;
color: #666;
font-size: 50px;
text-align: center;
margin-top:50px;
}
.team {
font-size: 0.6em;
}
.team a{
color:#5FB7E9;
text-decoration: none;
}
.team a:hover{
color:#4B9BC9;
}
/**
* LOGO
*/
#qq {
width: 420px;
height: 400px;
margin: 0 auto;
margin-top: 30px;
position: relative;
display:block;
}
.head{
position: absolute;
top:18px;
left: 96px;
width: 234px;
height: 185px;
border: 1px solid #000;
border-top-left-radius: 117px 117px;
border-top-right-radius: 117px 117px;
border-bottom-left-radius: 117px 68px;
border-bottom-right-radius: 117px 68px;
z-index:10;
background: #000;
}
.eye{
width: 44px;
height: 66px;
border:1px solid #000;
border-radius: 50% 50%;
position: absolute;
background: #fff;
}
.left.eye{
left:62px;
top:50px;
}
.right.eye{
left:123px;
top:50px;
}
.innerLeftEye{
position: absolute;
top: 20px;
left: 20px;
width: 18px;
height: 24px;
border-radius: 50%;
border: 1px solid #000;
background: #000;
}
.innerLeftEye:after{
content: "";
position: absolute;
width: 6px;
height: 8px;
background: white;
z-index: 11;
top: 6px;
left: 9px;
border-radius: 50%;
}
.innerRightEye{
position: absolute;
width: 18px;
height: 20px;
top: 20px;
left: 8px;
border-top-left-radius: 50% 90%;
border-top-right-radius: 50% 90%;
border-bottom-left-radius: 50% 10%;
border-bottom-right-radius: 50% 10%;
background: black;
box-shadow: 0 -1px 2px black;
}
.innerRightEye:after{
content: "";
position: absolute;
width: 10px;
height: 13px;
bottom: -1px;
left: 4px;
border-top-left-radius: 50% 100%;
border-top-right-radius: 35% 80%;
background: white;
}
.fix {
position: absolute;
width: 4px;
height: 4px;
border-radius: 50%;
background: black;
top: 17px;
}
.fix:after{
content: "";
position: absolute;
width: 4px;
height: 4px;
border-radius: 50%;
background: black;
top: 0;
left: 14px;
}
.mouthTopContainer {
position: absolute;
width: 158px;
height: 29px;
z-index: 1;
top: 120px;
left: 39px;
overflow: hidden;
}
.mouthTop{
width: 158px;
height: 34px;
position: absolute;
z-index: 1;
border:1px solid #FFA600;
background: #FFA600;
top: 0;
left: 0;
border-top-left-radius: 45% 34px;
border-top-right-radius: 45% 34px;
/*background-color: #FFA600; */
}
.mouthBottomContainer {
position: absolute;
width: 158px;
height: 15px;
z-index: 1;
top: 146px;
left: 39px;
overflow: hidden;
}
.mouthBottom{
width: 158px;
height: 24px;
position: absolute;
z-index: 1;
border:1px solid #FFA600;
background: #FFA600;
border-top:none;
top: -4px;
left: 0;
border-bottom-left-radius: 45% 24px;
border-bottom-right-radius: 45% 24px;
background-color: #FFA600;
}
.lips{
border: 1px solid #FFA600;
background: #FFA600;
width: 116px;
height: 24px;
position: absolute;
top: 146px;
left: 60px;
border-top: none;
border-bottom-left-radius: 50% 100%;
border-bottom-right-radius: 50% 100%;
}
.lipShadow {
width: 0px;
height: 0px;
position: absolute;
z-index: 2;
border-top: 20px solid transparent;
border-bottom: 20px solid transparent;
border-right: 8px solid black;
-webkit-transform-origin: top right;
-webkit-transform: rotate(-60deg);
-moz-transform-origin: top right;
-moz-transform: rotate(-60deg);
-o-transform-origin: top right;
-o-transform: rotate(-60deg);
transform-origin: top right;
transform: rotate(-60deg);
left: -12px;
top: 4px;
}
.lipShadow.right{
left:114px;
-webkit-transform: rotate(60deg) rotateY(180deg);
-moz-transform: rotate(60deg) rotateY(180deg);
-o-transform: rotate(60deg) rotateY(180deg);
transform: rotate(60deg) rotateY(180deg);
}
.body{
width: 326px;
height: 300px;
/*border: 1px solid black;*/
top: 135px;
left: 48px;
position: absolute;
}
.scarf {
border: 4px solid #000;
position: absolute;
background: #FB0009;
z-index: 5;
width: 258px;
height: 110px;
top: -2px;
left: 34px;
border-top-left-radius: 30px 34px;
border-top-right-radius: 38px 34px;
border-bottom-left-radius: 50% 76px;
border-bottom-right-radius: 50% 76px;
border-top: none;
}
.scarfShadow {
position: absolute;
border-top: 6px solid #000;
width: 60px;
height: 70px;
top: 0px;
left: 6px;
border-top-left-radius: 90px 120px;
border-top-right-radius: 30px 30px;
-webkit-transform: rotate(-79deg);
-moz-transform: rotate(-79deg);
-o-transform: rotate(-79deg);
transform: rotate(-79deg);
}
.scarfShadowRight {
position: absolute;
border-right: 6px solid black;
width: 100px;
height: 70px;
top: 8px;
left: 143px;
border-bottom-right-radius: 70px 70px;
z-index: 6;
}
.scarfEnd{
position: absolute;
width: 52px;
height: 64px;
z-index: 4;
top: 90px;
border: 3px solid black;
left: 74px;
border-bottom-left-radius: 50% 43%;
border-bottom-right-radius: 15px;
border-top-left-radius: 20% 57%;
background: #FB0009;
}
.scarfEndShadow{
position: absolute;
border-top: 6px solid black;
width: 20px;
height: 20px;
top: 6px;
left: 12px;
border-top-left-radius: 30px 30px;
-webkit-transform-origin: top right;
-moz-transform-origin: top right;
-o-transform-origin: top right;
transform-origin: top right;
z-index: 10;
-webkit-transform: skewX(4deg) scaleY(1.5) rotate(-60deg);
-moz-transform: skewX(4deg) scaleY(1.5) rotate(-60deg);
-o-transform: skewX(4deg) scaleY(1.5) rotate(-60deg);
transform: skewX(4deg) scaleY(1.5) rotate(-60deg);
}
.innerWrapper{
position: absolute;
overflow: hidden;
width: 280px;
height: 200px;
left: 30px;
top: 76px;
}
.inner {
border: 1px solid #000;
width: 218px;
position: absolute;
height: 210px;
border-radius: 50%;
left: 25px;
top: -71px;
z-index: 4;
background: #fff;
}
.outterWrapper{
width: 262px;
left: 32px;
height: 250px;
position: absolute;
top: 54px;
overflow: hidden;
}
.outter{
border: 1px solid #000;
width: 260px;
height: 250px;
border-radius: 125px;
position: absolute;
top: -84px;
z-index: 3;
background: #000;
}
.handWrapper{
position: absolute;
top: 219px;
left: 7px;
}
.leftHandTopContainer{
width: 118px;
height: 26px;
position: absolute;
z-index: 1;
top: 55px;
left: 50px;
-webkit-transform-origin: bottom left;
-webkit-transform: rotate(-70deg);
-moz-transform-origin: bottom left;
-moz-transform: rotate(-70deg);
-o-transform-origin: bottom left;
-o-transform: rotate(-70deg);
transform-origin: bottom left;
transform: rotate(-70deg);
overflow: hidden;
}
.leftHandTop{
width: 128px;
height: 54px;
border: 1px solid #050346;
position: absolute;
border-top-left-radius: 44% 38px;
border-top-right-radius: 56% 33px;
background: #000;
}
.leftHandBottomContainer {
width: 100px;
height: 30px;
position: absolute;
z-index: 1;
top: 78px;
left: 50px;
-webkit-transform-origin: top left;
-webkit-transform: rotate(-70deg);
-moz-transform-origin: top left;
-moz-transform: rotate(-70deg);
-o-transform-origin: top left;
-o-transform: rotate(-70deg);
transform-origin: top left;
transform: rotate(-70deg);
overflow: hidden;
}
.leftHandBottom{
width: 128px;
height: 44px;
border: 1px solid #050346;
background: #000;
border-top: none;
position: absolute;
border-bottom-left-radius: 48% 20px;
border-bottom-right-radius: 52% 23px;
top: -26px;
}
.rightHandTopContainer{
width: 118px;
height: 34px;
position: absolute;
z-index: 3;
top: 47px;
left: 240px;
-webkit-transform-origin: bottom right;
-webkit-transform: rotate(65deg);
-moz-transform-origin: bottom right;
-moz-transform: rotate(65deg);
-o-transform-origin: bottom right;
-o-transform: rotate(65deg);
transform-origin: bottom right;
transform: rotate(65deg);
overflow: hidden;
}
.rightHandTop{
width: 148px;
height: 54px;
border: 1px solid #050346;
position: absolute;
border-top-right-radius: 41% 54px;
border-top-left-radius: 59% 48px;
background: black;
left: -30px;
-webkit-transform: rotateY(-180deg);
-moz-transform: rotateY(-180deg);
-o-transform: rotateY(-180deg);
transform: rotateY(-180deg);
}
.rightHandBottomContainer{
width: 110px;
height: 58px;
position: absolute;
z-index: 1;
top: 81px;
left: 248px;
-webkit-transform-origin: top right;
-webkit-transform: rotate(90deg);
-moz-transform-origin: top right;
-moz-transform: rotate(90deg);
-o-transform-origin: top right;
-o-transform: rotate(90deg);
transform-origin: top right;
transform: rotate(90deg);
overflow: hidden;
}
.rightHandBottom{
width: 68px;
height: 28px;
border: 1px solid #000;
background: black;
border-top: none;
position: absolute;
top: 1px;
left: 38px;
border-bottom-right-radius: 100% 40px;
z-index: 999;
}
.footWrapper{
position: absolute;
top: 292px;
left: 80px;
}
.leftFootTopWrapper {
position: absolute;
width: 130px;
top: 16px;
left: -1px;
height: 37px;
overflow: hidden;
z-index: 2;
}
.leftFootTop{
position: absolute;
width: 120px;
height: 60px;
border: 4px solid black;
background: #FF9C00;
border-top-left-radius: 80% 70%;
top: -10px;
left: 3px;
}
.toe {
position: absolute;
border-top: 4px solid black;
width: 25px;
height: 20px;
top: 50px;
left: 2px;
border-top-right-radius: 30px 30px;
border-top-left-radius: 10px 10px;
-webkit-transform-origin: top left;
-moz-transform-origin: top left;
-o-transform-origin: top left;
transform-origin: top left;
z-index: 10;
-webkit-transform: rotate(-45deg);
-moz-transform: rotate(-45deg);
-o-transform: rotate(-45deg);
transform: rotate(-45deg);
}
.toe.right{
-webkit-transform: rotate(45deg) rotateY(180deg);
-moz-transform: rotate(45deg) rotateY(180deg);
-o-transform: rotate(45deg) rotateY(180deg);
transform: rotate(45deg) rotateY(180deg);
left: 264px;
}
.leftFootBottomWrapper {
position: absolute;
width: 130px;
top: 52px;
left: -1px;
height: 38px;
overflow: hidden;
z-index: 2;
}
.leftFootBottom{
position: absolute;
width: 120px;
height: 60px;
border: 4px solid #000;
background: #FF9C00;
border-top-left-radius: 50% 44%;
border-top-right-radius: 50% 44%;
border-bottom-left-radius: 50% 56%;
border-bottom-right-radius: 50% 56%;
top: -30px;
left: 3px;
}
.rightFootTopWrapper {
position: absolute;
width: 134px;
top: 22px;
left: 134px;
height: 36px;
overflow: hidden;
z-index: 2;
}
.rightFootTop{
position: absolute;
width: 120px;
height: 60px;
border: 4px solid black;
background: #FF9C00;
border-top-right-radius: 32% 65%;
top: 0px;
left: 4px;
}
.rightFootBottomWrapper {
position: absolute;
width: 134px;
top: 52px;
left: 134px;
height: 38px;
overflow: hidden;
}
.rightFootBottom{
position: absolute;
width: 120px;
height: 60px;
border: 4px solid #000;
background: #FF9C00;
border-top-left-radius: 50% 56%;
border-top-right-radius: 50% 56%;
border-bottom-left-radius: 50% 44%;
border-bottom-right-radius: 50% 44%;
top: -30px;
left: 3px;
}
.rightToe {
position: absolute;
width: 40px;
height: 10px;
border: 2px solid #000;
background: #FF9C00;
border-radius: 50%;
-webkit-transform-origin: bottom right;
-webkit-transform: rotate(34deg);
-moz-transform-origin: bottom right;
-moz-transform: rotate(34deg);
-o-transform-origin: bottom right;
-o-transform: rotate(34deg);
transform-origin: bottom right;
transform: rotate(34deg);
top: 35px;
left: 210px;
z-index: 1;
}
.copyright{
margin: 50px 0 0 0;
height: 50px;
color: #999;
font-family: Tahoma;
font-size: 12px;
text-align: center;
}
.copyright a {
color: #999;
text-decoration: none;
}
.copyright a:hover, .copyright a:focus {
outline: none;
text-decoration: underline;
}
</style>
複製程式碼