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