div+css实现号角乐器效果代码
代码语言:html
所属分类:布局界面
代码描述:div+css实现号角乐器效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <style> *, *::before, *::after { box-sizing: border-box; } html { width: 100%; height: 100%; } body { width: 100%; height: 100%; margin: 0; display: flex; position: relative; justify-content: center; align-items: center; overflow: hidden; background: lightgoldenrodyellow; --unitSize: 1vmin; } img { display: block; width: 100%; } .symmetry { display: flex; justify-content: center; align-items: center; } .transform { --x: 0; --y: 0; --r: 0; --s: 0; --_scale: 1; transform: scaleX(var(--_scale)) translateX(var(--x)) translateY(var(--y)) rotate(var(--r)) skew(var(--s)); } .flipVertical { --x: 0; --y: 0; --r: 0; --s: 0; --_scale: -1; transform: scaleX(var(--_scale)) translateX(var(--x)) translateY(var(--y)) rotate(var(--r)) skew(var(--s)); } .flipHorizontal { --x: 0; --y: 0; --r: 0; --s: 0; --_scale: -1; transform: scaleY(var(--_scale)) translateX(var(--x)) translateY(var(--y)) rotate(var(--r)) skew(var(--s)); } .tracedImage { position: absolute; height: calc(var(--unitSize) * 73.2); width: unset; z-index: -1; opacity: 0.5; --r: 18deg; --y: calc(var(--unitSize) * 3); --x: calc(var(--unitSize) * 2); display: none; } .canvas { width: calc(var(--unitSize) * 80); height: calc(var(--unitSize) * 80); position: relative; /*border: calc(var(--unitSize) * 0.1) solid;*/ /*opacity: 0.4;*/ } .canvas *, .canvas *::before, .canvas *::after { position: absolute; } .trumpet { --lightGold: #ffdf42; --gold: gold; --slightlyDarkGold: #f6d000; --darkGold: #ecc700; --darkerGold: #debb00; } .bodyP1 { width: calc(var(--unitSize) * 20); height: calc(var(--unitSize) * 4); --y: calc(var(--unitSize) * -4); --x: calc(var(--unitSize) * 10.5); background: var(--gold); } .bodyP3 { width: calc(var(--unitSize) * 30); height: calc(var(--unitSize) * 4); --y: calc(var(--unitSize) * -4); --x: calc(var(--unitSize) * -14); border-radius: calc(var(--unitSize) * 1) 0 0 calc(var(--unitSize) * 1) / 50%; background: linear-gradient(90deg, var(--lightGold), var(--gold)); } .bodyP2 { width: calc(var(--unitSize) * 40); height: calc(var(--unitSize) * 12); --y: calc(var(--unitSize) * 2); border-radius: calc(var(--unitSize) * 5); border: calc(var(--unitSize) * 2) solid var(--slightlyDarkGold); border-bottom-width: calc(var(--unitSize) * 3); --x: calc(var(--unitSize) * -4); } .bodyP4 { width: calc(var(--unitSize) * 30.9); height: calc(var(--unitSize) * 6.9); --y: calc(var(--unitSize) * 4.5); border-radius: calc(var(--unitSize) * 5); border: calc(var(--unitSize) * 2) solid var(--darkGold); border-bottom-width: calc(var(--unitSize) * 1); --x: calc(var(--unitSize) * -4); } .blower { border-radius: 50%; background: var(--gold); width: calc(var(--unitSize) * 4); height: calc(var(--unitSize) * 8); --x: calc(var(--unitSize) * -28.3); --y: calc(var(--unitSize) * -4); } .valve { width: calc(var(--unitSize) * 4.5); height: calc(var(--unitSize) * 17); --y: calc(var(--unitSize) * -0.5); --x: calc(var(--unitSize) * -13.8); border-radius: 50% 50% 0 0 / calc(var(--unitSize) * 1.5) calc(var(--unitSize) * 1.5) 0 0; } .valve::before { content: ""; position: absolute; width: calc(var(--unitSize) * 4.5); height: 100%; border-radius: 50% 50% 0 0 / calc(var(--unitSize) * 1.5) calc(var(--unitSize) * 1.5) 0 0; background: var(--darkGold); z-index: 1; } .valve2 { --x: calc(var(--unitSize) * -9.5); h.........完整代码请登录后点击上方下载按钮下载查看
网友评论0