天天看點

css3切角文本框_CSS3樣式linear-gradient的使用(切角效果)

缺角效果

先看效果圖

css3切角文本框_CSS3樣式linear-gradient的使用(切角效果)

這是内容

.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;

}

補角效果

先看效果圖

css3切角文本框_CSS3樣式linear-gradient的使用(切角效果)

這是内容

.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修改為#f00

帶邊框的效果

先看效果圖

css3切角文本框_CSS3樣式linear-gradient的使用(切角效果)

這是内容

.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,當然加邊框可以有多種方式,可自行選擇。

開關效果

效果圖

css3切角文本框_CSS3樣式linear-gradient的使用(切角效果)

OFF ON

.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沒有找到解決方法,如有方案,請在評論下給出方案。以下是其中一種解決方式

效果圖

css3切角文本框_CSS3樣式linear-gradient的使用(切角效果)

.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: 15px;

border-top-color: #000;

border-right-color: #000;

top: -1px;

right: -1px;

}

考慮到相容性問題,可以通過:before和:after實作同樣的效果,給出一個栗子

.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;

}