缺角效果
先看效果圖
css
<div class="div1"> 這是內容 </div>
.div1 { width: 100px; height: 40px; line-height: 40px; background:linear-gradient(-135deg, transparent 15px, #162e48 0); color: #fff; padding: 5px 15px; text-align: center; margin-bottom: 30px; }
補角效果
先看效果圖
html
<div class="div2"> 這是內容 </div>
.div2 { width: 100px; height: 40px; line-height: 40px; background:linear-gradient(-135deg, #f00 15px, #162e48 0); color: #fff; padding: 5px 15px; text-align: center; margin-bottom: 30px; }
只是在栗子1的基礎上修改了linear-gradient,將transparent修改成#f00css3
帶邊框的效果
先看效果圖
chrome
<div class="div3"> 這是內容 </div>
.div3 { width: 100px; height: 40px; line-height: 40px; background:linear-gradient(-135deg, #f00 15px, #162e48 0); color: #fff; padding: 5px 15px; text-align: center; margin-bottom: 30px; box-shadow: 0 0 1px 1px #fff inset; }
在栗子2的基礎上增長了box-shadow,固然加邊框能夠有多種方式,可自行選擇。ide
開關效果
效果圖
ui
<div class="div4"> <div class="div4-1">OFF</div> <div class="div4-2 active">ON</div> </div>
.div4 { width: 144px; height: 30px; line-height: 30px; background: #162e48; color: #FFF; text-align: center; margin-bottom: 30px; } .div4-1, .div4-2 { width: 86px; float: left; } .div4-1.active { margin-right: -28px; background:linear-gradient(-135deg, transparent 20px, #f00 0); } .div4-2.active { margin-left: -28px; background:linear-gradient(45deg, transparent 20px, #f00 0); }最終效果可根據須要自行調整
在栗子3的基礎上作到如下效果,單純使用linear-gradient沒有找到解決方法,若有方案,請在評論下給出方案。如下是其中一種解決方式
效果圖
spa
.div5 { width: 100px; height: 40px; line-height: 40px; background:linear-gradient(-135deg, #fff 15px, #162e48 0); color: #fff; padding: 5px 15px; text-align: center; box-shadow: 0 0 1px 1px #fff; margin-bottom: 30px; position: relative; } .div5:after { content: ' '; border: solid transparent; position: absolute; border-width: 12px; border-top-color: #000; border-right-color: #000; top: -2px; right: -2px; }
考慮到兼容性問題,能夠經過:before
和:after
實現一樣的效果,給出一個栗子
css .div6 { width: 100px; height: 40px; line-height: 40px; background:#162e48; color: #fff; padding: 5px 15px; text-align: center; position: relative; border: 1px solid #fff; margin-bottom: 30px; } .div6:before { content: ' '; border: solid transparent; position: absolute; border-width: 15px; border-top-color: #fff; border-right-color: #fff; right: 0px; top: 0px; } .div6:after { content: ' '; border: solid transparent; position: absolute; border-width: 15px; border-top-color: #000; border-right-color: #000; top: -1px; right: -1px; }
code