一、自適應橢圓
border-radius特性:
可以單獨指定水平和垂直半徑,并且值可以是百分比,用/(斜杠)分隔這兩個值即可(可以實現自適應寬度橢圓)。 還可以單獨指定四個角度不同的水平和垂直半徑(可以實現半橢圓) 四分之一橢圓,主要是調整水平和垂直的半徑示例代碼:
| .wrap{ border-radius: 50% / 30%; width: 60px; height: 80px; background: yellow; } .wrap02{ width: 60px; height: 80px; background: yellow; border-radius: 50% / 100% 100% 0 0; } .wrap03{ width: 60px; height: 80px; background: yellow; border-radius: 100% 0 0 0; } |

二、平形四邊形
需要應用到transform的skewX進行扭曲 主要解決容器成為平形四邊形,而內部的文字和元素且垂直顯示 嵌套元素,內部元素用skew反向扭曲即可。嵌套的內部元素必須為block,因為transform不能應用在inline元素上。 利用偽元素進行扭曲(:before)
| .wrap{ width: 80px; height: 40px; transform: skewX(-45deg); background: yellow; } .wrap>div{ transform: skewX(45deg); } .btn{ position: relative; padding: 10px; } .btn:before{ content: ''; position: absolute; top: 0px; left: 0px; right: 0px; bottom: 0px; z-index: -1; background: #85a; transform: skewX(-45deg); } |

三、菱形
應用元素的嵌套,外層與內層元素相互roate旋轉,實現八角形; 設計內部元素max-width的寬度為100%,讓整個圖片最大只能充滿整個外層的div; scale屬性控制其圖片的放大倍數,默認為中心點為放大原點(會用到勾股定理,不要額外指定transform-origin)。| .wrap{ width: 200px; transform: rotate(-45deg); overflow: hidden; } .wrap > img{ transform: rotate(45deg) scale(1.42); max-width: 100%; } |

四、切角效果
利用linear-gradient可以設置角度,多值和漸變透明來實現。 還需要注意background-size和background-repeat屬性的設置,防止背景的重疊導致效果不生效新聞熱點
疑難解答