原生js实现一个自动解析json url表单配置选项测验多步骤考试代码

代码语言:html

所属分类:表单美化

代码描述:原生js实现一个自动解析json url表单配置选项测验多步骤考试代码

代码标签: 原生 js 自动 解析 json url 表单 配置 选项 测验 多步骤 考试 代码

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en" >

<head>
  <meta charset="UTF-8">
  

  
  
<style>
/* =========================
   DEFAULT QUIZ STYLES
   ========================= */
:root {
  --qz-bg: grey;
  --qz-panel: #121214;
  --qz-text: #f4f5f7;
  --qz-muted: #a8acb3;
  --qz-brand: #4da3ff;
  --qz-right: #2ecc71;
  --qz-wrong: #ff5c5c;
  --qz-border: #1f232a;
  --qz-focus: #ffe08a;
  --qz-radius: 0px;
  --qz-pad: clamp(14px, 2.2vw, 22px);
  --qz-gap: clamp(12px, 1.6vw, 18px);
  --qz-font: system-ui, "Helvetica Neue", Arial;
}
* {
  box-sizing: border-box;
}
html,
body {
  height: 100%;
}
body {
  margin: 0;
  background: var(--qz-bg);
  color: var(--qz-text);
  font: 16px/1.5 var(--qz-font);
}
.quiz {
  max-width: 860px;
  margin: 6vh auto;
  padding: var(--qz-pad);
}
.qz-stage {padding-top:30px;}
.qz-card {
  background: var(--qz-panel);
  border: 1px solid var(--qz-border);
  border-radius: var(--qz-radius);
  padding: var(--qz-pad);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);
}
.qz-title {
  margin: 0 0 0.25rem 0;
  font-weight: 750;
  font-size: clamp(1.4rem, 2.2vw + 0.6rem, 2rem);
}
.qz-subtitle {
  margin: 0;
  color: var(--qz-muted);
  font-size: 0.975rem;
}
.qz-description {
  margin: 0.6rem 0 1rem 0;
  color: var(--qz-text);
  font-size: 1rem;
}

.qz-progress-wrap {
  margin: 0.75rem 0 1rem 0;
}
.qz-progress {
  height: 10px;
  border-radius: 999px;
  background: #1a1d23;
  overflow: hidden;
}
.qz-progress > span {
  display: block;
  height: 100%;
  width: 0%;
  /* fallback keeps your original gradient if theme doesn't set one */
  background: var(
    --qz-progress-gradient,
    linear-gradient(90deg, #2ecc71, #4da3ff)
  );
  transition: width 0.35s ease;
}
.qz-count {
  margin-top: 0.5rem;
  color: var(--qz-muted);
  font-size: 0.95rem;
  
}

.qz-question {
  margin: 0 0 0.4rem 0;
  font-weight: 700;
  font-size: clamp(1.05rem, 1.4vw + 0.6rem, 1.25rem);
}
.qz-meta {
  color: var(--qz-muted);
  font-size: 0.9rem;
  margin-bottom: 0.8rem;
}

.qz-group {
  display: grid;
  gap: var(--qz-gap);
  margin: 0.6rem 0 1.2rem 0;
}
.qz-option {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  padding: 0.85rem 0.9rem;
  border: 1px solid var(--qz-border);
  border-radius: 12px;
  background: #0f1012;
  cursor: pointer;
  transition: border-color 0.2s ease, background 0.2s ease;
}
.qz-option:hover {
  border-color: #2b313b;
  background: #121316;
}
.qz-option input {
  margin-top: 0.1rem;
  accent-color: var(--qz-brand);
}

.qz-actions {
  display: flex;
  gap: 0.6rem;
  flex-wrap: wrap;
  margin-top:35px;
  margin-bottom:35px;
}
.qz-btn {
  appearance: none;
  border: 1px solid var(--qz-border);
  background: #0f0f12;
  color: var(--qz-text);
  padding: 0.72rem 1rem;
  border-radius: 12px;
  font-weight: 700;
  cursor: pointer;
}
.qz-btn.primary {
  background: linear-gradient(180deg, #3b86ff, #2467d7);
  border-color: #205ec9;
}
.qz-btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.qz-results {
  margin-top: 1rem;
}
.qz-result-item {
  border: 1px solid var(--qz-border);
  background: #0e0f11;
  border-radius: 12px;
  padding: 0.85rem 0.9rem;
  margin: 0.6rem 0;
}
.qz-result-item .qz-rq {
  font-weight: 700;
  margin-bottom:10px;
}
.qz-badge {
  display: inline-block;
  padding: 0.15rem 0.45rem;
  border-radius: 0;
  font-size: 0.8rem;
  font-weight: 700;
  margin-left: 1rem;

}
.qz-badge.ok {
  background: color-mix(in srgb, var(--qz-right) 30%, trans.........完整代码请登录后点击上方下载按钮下载查看

网友评论0