react实现一个css边框图片生成器效果代码
代码语言:html
所属分类:布局界面
代码描述:react实现一个css边框图片生成器效果代码,可自己上传图片生成一个边框图片。
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/babel.min.js"></script>
<style>
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&display=swap");
:root {
--base-space: 8px;
--color-body: #101820;
--color-accent: #f9ea00;
--color-main: #fafafa;
}
*,
*::after,
*::before {
box-sizing: border-box;
}
body {
background-color: var(--color-main);
color: var(--color-body);
margin: 0;
padding: calc(var(--base-space) * 2);
font-family: "Montserrat", sans-serif;
font-weight: 400;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
font-size: calc(var(--base-space) * 2);
}
code {
font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New", monospace;
}
p {
margin-top: 0;
}
.display-block {
display: block;
}
.txt-weight-bold {
font-weight: 700;
}
.txt-size-2 {
font-size: calc(var(--base-space) * 2);
}
.txt-size-3 {
font-size: calc(var(--base-space) * 3);
}
.margin-bottom-1 {
margin-bottom: var(--base-space);
}
.margin-bottom-2 {
margin-bottom: calc(var(--base-space) * 2);
}
.margin-bottom-3 {
margin-bottom: calc(var(--base-space) * 3);
}
.margin-bottom-4 {
margin-bottom: calc(var(--base-space) * 3);
}
h1,
h2 {
margin-bottom: 0.35em;
}
h1 {
font-size: calc(var(--base-space) * 6);
font-weight: 700;
}
h2 {
font-size: calc(var(--base-space) * 4);
font-weight: 700;
}
h3 {
font-size: calc(var(--base-space) * 2);
font-weight: 700;
}
code {
background-color: var(--color-main);
display: block;
padding: calc(var(--base-space) * 2);
white-space: normal;
}
.App {
background-color: white;
box-shadow: 0px 3px 20px 0px rgba(0, 0, 0, 0.15);
border-radius: calc(var(--base-space) * 2);
margin: 0 auto;
padding: calc(var(--base-space) * 4);
display: flex;
flex-wrap: wrap;
gap: calc(var(--base-space) * 4);
}
.App__title {
text-align: center;
flex: 0 0 100%;
}
.App__column {
flex: 1 1 45%;
}
.Section {
margin-bottom: calc(var(--base-space) * 5);
}
.HandlersWrapper {
position: relative;
display: table;
}
.DemoList {
display: flex;
gap: calc(var(--base-space) * 2);
}
.DemoList__button {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background: none;
border: none;
padding: 0;
}
.DemoList__item {
flex: 0 1 80px;
}
.DemoList__thumbnail {
display: block;
width: 100%;
}
.DemoText {
font-size: 2em;
text-align: center;
padding: 0.25em;
}
</style>
</head>
<body>
<div id="app"></div>
<script type="module">
import React, {
useEffect,
useRef,
useState } from
"https://cdn.skypack.dev/react";
import ReactDOM from "https://cdn.skypack.dev/react-dom";
import { Rnd } from "https://cdn.skypack.dev/react-rnd";
const getImageFromInput = function (input) {
if (!input) return;
return new Promise((resolve, reject) => {
const file = new FileReader();
const img = new Image();
file.onloadend = fileData => {
img.onload = () => {
resolve(img);
};
img.src = fileData.target.result;
};
img.onerror = reject;
file.onerror = reject;
file.readAsDataURL(input);
});
};
const HANDLER_STYLE = {
display: "flex",
alignItems: "center",
justifyContent: "center",
background: "rgba(0,0,0,0.3)",
border: "solid 1px black",
opacity: 0.7 };
const Handler = function ({
position,
size,
onPositionChange,
onSizeChange,
style = {},
children })
{
const handle.........完整代码请登录后点击上方下载按钮下载查看
















网友评论0