一、自适应椭圆
border-radius 可以给 div 的四个角上做圆角,参数可以写椭圆的横向半径和纵向半径。
.exercise1-1 {
background: tan;
border-radius: 50% / 50%;
}
.exercise1-2 {
background: tan;
border-radius: 50% / 100% 100% 0 0;
}
.exercise1-3 {
background: tan;
border-radius: 100% 0 0 100% / 50%;
}
.exercise1-4 {
background: tan;
border-radius: 100% 0 0 0 / 100% 0 0 0;
}
二、平行四边形
transform 属性中的 skew 函数可以使元素做倾斜,它做了全部的倾斜,如果子元素想回正,就把它做反向倾斜。使用伪元素也可以达到这样的效果,需要注意的是设置一下 z-index,放在文字的下面。
.exercise2-11 {
background: tan;
transform: skewX(-45deg);
}
.exercise2-12 {
transform: skewX(45deg);
}
.exercise2-2 {
position: relative;
}
.exercise2-2:after {
position: absolute;
content: '';
background: tan;
transform: skewX(-45deg);
top: 0;
left: 0;
bottom: 0;
right: 0;
z-index: -1;
}
三、菱形图片
菱形图片可以使用 transform 中 rotate 函数做旋转 45°,也可以直接在原图上做裁剪。
.exercise3-11 {
margin: 50px;
transform: rotate(45deg);
overflow: hidden;
}
.exercise3-11 .exercise3-12 {
vertical-align: middle;
transform: rotate(-45deg) scale(1.42);
}
.exercise3-2 {
clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
}
.exercise3-3 {
clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
transition: 1s clip-path;
}
.exercise3-3:hover {
clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%)
}
「@浪里淘沙的小法师」