react实现svg钢笔路径编辑调整效果代码
代码语言:html
所属分类:其他
代码描述:react实现svg钢笔路径编辑调整效果代码
代码标签: react 实现 svg 钢笔 路径 编辑 调整
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <style> @import url(https://fonts.googleapis.com/css?family=Open+Sans:400,600); :root { --ad-Color-prim: #111; --ad-Color-sec: #00E676; --ad-Color-del: #E53935; } html { font-size: 16px; font-family: "Open Sans", sans-serif; } html, body { height: 100%; } .ad-App { height: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } /* main layout */ .ad-Container { height: 100%; width: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; background: #fff; } .ad-Container-main { height: 100%; -webkit-box-flex: 1; -ms-flex: 1; flex: 1; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; } .ad-Container-svg { height: 100%; -webkit-box-flex: 1; -ms-flex: 1; flex: 1; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; background: #f3f3f3; } .ad-Container-controls { overflow: hidden; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; height: 100%; width: 20rem; background: #111; background: var(--ad-Color-prim); } .ad-Container-controls ::-webkit-scrollbar { width: 6px; } .ad-Container-controls ::-webkit-scrollbar-thumb { border-radius: 30px; background: rgba(255, 255, 255, .3); } .ad-Foot { padding: 1.5rem 2rem; display: -webkit-box; display: -ms-flexbox; display: flex; background: #fff; border-top: 2px solid #eee; } .ad-Foot-list { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; } .ad-Foot-item { text-transform: uppercase; font-size: .7rem; color: #111; color: var(--ad-Color-prim); } .ad-Foot-item + .ad-Foot-item { margin-top: .5rem; } .ad-Foot-highlight { padding-bottom: .04rem; border-bottom: 2px solid #00E676; border-bottom: 2px solid var(--ad-Color-sec); font-weight: bold; } .ad-Foot-meta { margin-left: 2rem; text-align: right; line-height: 1.4; font-size: .7rem; color: #111; color: var(--ad-Color-prim); } .ad-Foot-meta a { text-decoration: underline; color: #111; color: var(--ad-Color-prim); } .ad-SVG { display: block; background: #fff; border-radius: 4px; } .ad-Grid { fill: none; stroke: #eee; stroke-width: 1px; } .ad-Grid.is-hidden { opacity: 0; } .ad-Path { fill: none; stroke: #555; stroke-width: 4px; stroke-linecap: round; } .ad-Point { cursor: pointer; fill: #fff; stroke: #555; stroke-width: 5px; -webkit-transition: fill .2s; -o-transition: fill .2s; transition: fill .2s; } .ad-Point:hover, .ad-PointGroup.is-active .ad-Point { fill: #00E676; fill: var(--ad-Color-sec); } .ad-PointGroup--first .ad-Point { stroke: #00E676; stroke: var(--ad-Color-sec); } .ad-Anchor { opacity: .5; } .ad-PointGroup.is-active .ad-Anchor { opacity: 1; } .ad-Anchor-point { cursor: pointer; fill: #fff; stroke: #888; stroke-width: 5px; } .ad-Anchor-line { stroke: #888; stroke-width: 1px; stroke-dasharray: 5 5; } /* controls on the right */ .ad-Controls { overflow: auto; -webkit-box-flex: 1; -ms-flex: 1; flex: 1; padding: 2rem; } .ad-Controls :first-child { margin-top: 0; } .ad-Controls-title { margin: 3rem 0 1.5rem; font-size: .8rem; font-weight: bold; color: #fff; } .ad-Controls-container { display: -webkit-box; display: -ms-flexbox; display: flex; } .ad-Controls-container + .ad-Controls-container { margin-top: 1.5rem; } .ad-Control { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; } .ad-Control-label { display: block; margin-bottom: .5rem; text-transform: uppercase; font-size: .6rem; font-weight: bold; color: color(#111 l(+75%)); color: color(var(--ad-Color-prim) l(+75%)); } .ad-Result { height: 5rem; padding: 1.4rem 1.6rem; background: #111; background: var(--ad-Color-prim); -webkit-box-shadow: 0 -5px 10px rgba(0, 0, 0, .4); box-shadow: 0 -5px 10px rgba(0, 0, 0, .4); } .ad-Result-textarea { height: 100%; width: 100%; resize: none; border: none; background: none; text-transform: uppercase; font-family: "Open Sans", sans-serif; font-size: .7rem; font-weight: bold; line-height: 1.8; color: #fff; } .ad-Result-textarea:focus { outline: 0; } /* control elements */ .ad-Button { padding: .8rem 1.4rem; background: #00E676; background: var(--ad-Color-sec); border: none; border-radius: 50px; cursor: pointer; -webkit-transition: background .2s; -o-transition: background .2s; transition: background .2s; text-transform: uppercase; font-family: "Open Sans", sans-serif; font-weight: bold; font-size: .6rem; letter-spacing: .08rem; color: #fff; } .ad-Button:focus, .ad-Button:hover { outline: 0; background: color(#00E676 l(+5%)); background: color(var(--ad-Color-sec) l(+5%)); } .a.........完整代码请登录后点击上方下载按钮下载查看
网友评论0