十字形劈开
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| .btn { margin: 80px; width: 400px; height: 80px; position: relative; font-size: 4rem; background-color: #f2f2f2; color: black; z-index: 1; transition: 1s; }
.btn::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: #262626; transform: rotateX(90deg); transition: 1s; z-index: -1; }
.btn:hover::before { transform: rotateX(0deg); }
.btn::after { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: #262626; transform: rotateY(90deg); transition: 1s; z-index: -1; }
.btn:hover::after { transform: rotateY(0deg); }
.btn:hover { color: #fff; }
|
十字形黑到白,原理是通过旋转x和y轴得到
自上而下倒塌
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| .roate { margin: 5px; width: 400px; height: 50px; margin-top: 200px; position: relative; overflow: hidden; background-color: inherit; } .roate::before { content: ""; position: absolute; left: 0; top: 0; background-color: yellowgreen; z-index: -1; width: 100%; height: 100%; transform-origin: bottom left; transform: rotate(-90deg); transition: transform 1s ease-in-out; } .roate:hover::before { transform: rotate(0deg); }
|
原理是before里画一团颜色,用transform旋转让他塌下来
填充
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| .btn2 { margin: 5px; width: 400px; height: 50px; margin-top: 200px; position: relative; background-color: inherit; overflow: hidden; color: burlywood; transition: all 1.5s; font-size: 1rem; }
.btn2::before { content: ""; position: absolute; left: 0; top: 0; background-color: burlywood; width: 100%; height: 100%; z-index: -1; transform-origin: left; transform: translateX(-100%); transition: transform 1s ease-in-out; }
.btn2:hover::before { transform: translateX(0); } .btn2:hover { color: white; }
|
悬浮放大
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| .btn { padding: 10px; position: relative; background-color: inherit; text-transform: uppercase; color: black; transition: all 1.5s; font-size: 1.25rem; border: 3px solid black; font-weight: 300; letter-spacing: 2px; }
.btn:hover{ font-weight: 900; letter-spacing: 5px; border: 5px solid black; }
|
想不出来怎么形容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| a { font-size: 2rem; display: flex; align-items: center; justify-content: center; color: black; text-decoration: none; margin: 25px; width: 160px; height: 60px; line-height: 60px; position: relative; transition: all 0.2s; letter-spacing: 3px; user-select: none; &::before { content: ""; position: absolute; width: 160px; height: 90px; top: -15px; left: 0; border-left: 4px solid #ff717f; border-right: 4px solid #353d81; transition: all 1s; }
&:hover::before { transform: rotateY(180deg); }
&:hover::after { transform: rotateX(180deg); }
&::after { content: ""; position: absolute; width: 200px; height: 60px; top: 0; left: -15px; border-top: 4px solid #ff717f; border-bottom: 4px solid #353d81; transition: all 1s; transition-delay: 0.2s; }
|