css3實現小箭頭,各種圖形

https://segmentfault.com/a/1190000002780453#articleHeader18

css實現各種圖形真是太讚了,再也不用切圖了,直接用css就可以實現。

最常用的就是用css實現的小三角了

#triangle-up{
	display:inline-block;
	width:0;
	height:0;
	border-left:30px solid transparent;
	border-right: 30px solid transparent;
	border-bottom:50px solid red;}
#triangle-down {
	display:inline-block;
	width:0;
	height:0;
	border-left:30px solid transparent;
	border-right: 30px solid transparent;
	border-top:50px solid red;}
#triangle-left {
	display:inline-block;
	width:0;
	height:0;
	border-top: 30px solid transparent;
	border-right: 50px solid red;
	border-bottom: 30px solid transparent;}
#triangle-right{
	display:inline-block;
	width:0;
	height:0;
	border-top: 30px solid transparent;
	border-left: 50px solid red;
	border-bottom: 30px solid transparent;}


#triangle-topleft {
    display:inline-block;
    width: 0;
    height: 0;
    border-top: 50px solid red;
    border-right: 50px solid transparent;
}
#triangle-topright {
    display:inline-block;
    width: 0;
    height: 0;
    border-top: 50px solid red;
    border-left: 50px solid transparent;
}
#triangle-bottomleft {
    display:inline-block;
    width: 0;
    height: 0;
    border-bottom: 50px solid red;
    border-right: 50px solid transparent;
}
#triangle-bottomright {
    display:inline-block;
    width: 0;
    height: 0;
    border-bottom: 50px solid red;
    border-left: 50px solid transparent;
}

通過這樣的小箭頭在項目中我們可以實現驗證提示層箭頭這樣的樣式,非常的實用,再也不用爲提示層樣式發愁啦。吐舌頭


我們看到了實現css小箭頭的style樣式中都用到了transparent這樣的一個屬性,transparent到底是什麼意思?於是查看了css參考手冊,定義是:

用來指定全透明色彩。

  • transparent是全透明黑色(black)的速記法,即一個類似rgba(0,0,0,0)這樣的值。
  • 在CSS1中,transparent被用來作爲background-color的一個參數值,用於表示背景透明。
  • 在CSS2中,border-color也開始接受transparent作爲參數值。
  • 在CSS3中,transparent被延伸到任何一個有color值的屬性上。

transparent我總結意思就是透明,無顏色的。


看圖,三角形的實現實際上是一個寬度和高度都爲0的div的四個邊框實現的,如果我們要實現朝下的箭頭,那就要讓div的左~右 邊框都爲透明(透明但左右邊框還佔位置)。


左上箭頭 實現思路是什麼呢?div的右邊框和底部邊框都爲透明,這樣左上角的箭頭就露出來了。


css3實現心形

#heart {
    position: relative;
    width: 100px;
    height: 90px;
}
#heart:before,
#heart:after {
    position: absolute;
    content: "";
    left: 50px;
    top: 0;
    width: 50px;
    height: 80px;
    background: red;
    -moz-border-radius: 50px 50px 0 0;
    border-radius: 50px 50px 0 0;
    -webkit-transform: rotate(-45deg);
       -moz-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
         -o-transform: rotate(-45deg);
            transform: rotate(-45deg);
    -webkit-transform-origin: 0 100%;
       -moz-transform-origin: 0 100%;
        -ms-transform-origin: 0 100%;
         -o-transform-origin: 0 100%;
            transform-origin: 0 100%;
}
#heart:after {
    left: 0;
    -webkit-transform: rotate(45deg);
       -moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
         -o-transform: rotate(45deg);
            transform: rotate(45deg);
    -webkit-transform-origin: 100% 100%;
       -moz-transform-origin: 100% 100%;
        -ms-transform-origin: 100% 100%;
         -o-transform-origin: 100% 100%;
            transform-origin :100% 100%;
}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章