div+css+js实现多边形线条自定义参数调整效果代码
代码语言:html
所属分类:其他
代码描述:div+css+js实现多边形线条自定义参数调整效果代码
代码标签: div css js 多边形 线条 自定义 参数 调整
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<style>
body, html {
margin: 0;
padding: 0;
height: 100%;
font-family: 'Helvetica Neue', Arial, sans-serif;
background-color: #f5f5f5;
}
#main-container {
display: flex;
height: 100%;
}
#pattern-container {
flex: 1;
position: relative;
}
#controls-container {
width: 25%;
padding: 20px;
background-color: #fff;
box-shadow: -5px 0 10px rgba(0, 0, 0, 0.1);
display: grid;
grid-template-columns: 1fr;
gap: 15px;
overflow-y: auto;
border-radius:.5em;
margin:.75em;
}
.control {
display: flex;
flex-direction: column;
}
label {
font-size: 14px;
margin-bottom: 12px;
color: #333;
}
input[type="range"] {
width: 100%;
-webkit-appearance: none;
background: #ddd;
outline: none;
height: 2px;
transition: all 0.3s ease;
}
input[type="range"]:hover {
background: #ccc;
}
input[type="range"]::-webkit-slider-thumb {
-webkit-appearance: none;
appearance: none;
width: 16px;
height: 16px;
background: #333;
cursor: pointer;
border-radius: 50%;
transition: all 0.3s ease;
}
input[type="range"]:hover::-webkit-slider-thumb {
background: #FF5722;
}
input[type="range"]:active::-webkit-slider-thumb {
background: #FF5722;
}
.switch {
position: relative;
display: inline-block;
width: 60px;
height: 34px;
}
.switch input {
opacity: 0;
width: 0;
height: 0;
}
.slider {
position: absolute;
cursor: pointer;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #ccc;
transition: .4s;
border-radius: 34px;
}
.slider:before {
position: absolute;
content: "";
height: 26px;
width: 26px;
left: 4px;
bottom: 4px;
background-color: white;
transition: .4s;
border-radius: 50%;
}
input:checked + .slider {
background-color: #333;
}
input:checked + .slider:before {
transform: translateX(26px);
}
#shuffle {
background-color: #333;
color: white;
border: none;
padding: 10px 20px;
font-size: 16px;
cursor: pointer;
transition: background-color 0.3s ease;
}
#shuffle:hover {
background-color: #555;
}
/* Dot grid background */
body::before {
content: '';
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image: radial-gradient(circle, #ccc 1px, transparent 1px);
background-size: 20px 20px;
opacity: 0.5;
z-index: -1;
}
@media (max-width: 768px) {
#main-container {
flex-direction: column;
}
#controls-container {
width: 100%;
grid-template-columns: repeat(2, 1fr);
}
}
</style>
</head>
<body translate="no">
<div id="main-container">
<div id="pattern-container"></div>
<div id="controls-container">
<div class="control">
<label for="points">Points</label>
<input type="range" id="points" min="3" max="20" value="6">
</div>
<div class="control">
<label for="chaos">Chaos</label>
<input type="range" id="chaos" min="0" max="100" value="0">
</div>
<div class="control">
<label for="rotation">Rotation</label>
<input type="range" id="rotation" min="0" max="360" value="0">
</div>
<div class="control">
<label for="hue">Hue</label>
<input type="range" id="hue" min="0.........完整代码请登录后点击上方下载按钮下载查看
网友评论0