diff --git a/W1/bg.png b/W1/bg.png new file mode 100644 index 0000000..4212c30 Binary files /dev/null and b/W1/bg.png differ diff --git a/W1/index.html b/W1/index.html new file mode 100644 index 0000000..5df5fa5 --- /dev/null +++ b/W1/index.html @@ -0,0 +1,136 @@ + + + + + + Sign Up • Paint Quote System + + + +
+
+

Welcome to Paint Quote System

+

+ Consequat adipisicing ea do labore irure adipisicing occaecat cupidatat + excepteur duis mo +

+
+ +
+
+

Sign Up

+

Enter details to create your account

+ +
+
+ + + +
+ +
+ + + +
+ +
+ + + +
+ + + +

+ Already have an account? + Sign in +

+
+
+
+
+ + + + + diff --git a/W1/styles.css b/W1/styles.css new file mode 100644 index 0000000..b866dcc --- /dev/null +++ b/W1/styles.css @@ -0,0 +1,170 @@ +:root{ + --bg: #f5f3ef; + --ink: #0f172a; + --muted: #64748b; + --brand: #0d6ea8; + --brand-weak: #e0f2ff; + --panel: #ffffff; + --border: #e5e7eb; + --danger: #dc2626; + --danger-weak: #fee2e2; + --radius: 16px; + --shadow: 0 14px 40px rgba(2, 8, 23, .15); +} + +*, +*::before, +*::after{ box-sizing: border-box; } + +html, body{ + height: 100%; + margin: 0; + color: var(--ink); + background: var(--bg); + font: 16px/1.5 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", + Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", + "Segoe UI Emoji", "Segoe UI Symbol"; +} + +.bg-photo{ + background-image: url("bg.png"); + background-size: cover; + background-position: center; + background-repeat: no-repeat; +} + +.shell{ + min-height: 100dvh; + display: grid; + grid-template-columns: 1.15fr 0.8fr; + align-items: center; + gap: 5px; + padding: 48px clamp(30px, 6vw, 64px); + backdrop-filter: saturate(1.05); +} + +.hero{ + max-width: 620px; + justify-self: start; +} +.hero-title{ + font-weight: 600; + font-size: clamp(28px, 2.2vw, 42px); + letter-spacing: .2px; + position: relative; + margin: 0; + display: inline-block; + color: #173b47; +} +.hero-title::after { + content: ""; + display: block; + height: 1.8px; + margin: 15px 0 15px; + width: 100%; + background: currentColor; + opacity: .35; + border-radius: 2px; +} +.hero-desc{ + margin: 0; + color: #173b47; + max-width: 46ch; +} + +.card{ + justify-self: end; + width: min(560px, 100%); + background: var(--panel); + border-radius: var(--radius); + box-shadow: var(--shadow); + border: 1px solid rgba(15,23,42,.05); + margin-right: 6vw; +} +.card-inner{ + padding: 36px clamp(24px, 4vw, 44px); +} +.card-title{ + margin: 0 0 6px; + text-align: center; + font-size: clamp(22px, 2.2vw, 30px); + font-weight: 600; +} +.card-subtitle{ + margin: 0 0 24px; + text-align: center; + color: var(--muted); +} + +.form{ display: grid; gap: 16px; } +.field{ display: grid; gap: 8px; } +.field label{ font-size: 14px; color: #374151; } + +.field input{ + width: 100%; + padding: 12px 14px; + border-radius: 10px; + border: 1px solid var(--border); + outline: none; + background: #fff; + font-size: 15px; + transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease; +} +.field input::placeholder{ color: #9aa4b2; } +.field input:focus-visible{ + border-color: var(--brand); + box-shadow: 0 0 0 3px var(--brand-weak); +} + +.error{ + display: none; + margin-top: 6px; + font-size: 13px; + color: var(--danger); +} +.error.is-visible{ display: block; } + +.field input.is-error{ + border-color: var(--danger); + box-shadow: 0 0 0 3px var(--danger-weak); +} + +.btn{ + appearance: none; + border: 0; + border-radius: 10px; + padding: 14px 18px; + font-weight: 600; + font-size: 16px; + cursor: pointer; + margin-top: 2vh; +} +.btn-primary{ + background: var(--brand); + color: #fff; + box-shadow: 0 10px 22px rgba(13,110,168,.25); + transition: filter .15s ease, transform .02s ease, box-shadow .15s ease; +} +.btn-primary:hover{ filter: brightness(1.03); } +.btn-primary:active{ transform: translateY(1px); } + +.footnote{ + margin: 12px 0 0; + text-align: center; + color: var(--muted); + font-size: 14px; +} +.link{ color: var(--brand); text-decoration: none; } +.link:hover{ text-decoration: underline; } + +/* 响应式 */ +@media (max-width: 900px){ + .shell{ + grid-template-columns: 1fr; + gap: 24px; + padding: 28px 18px 40px; + backdrop-filter: none; + } + .hero{ order: 1; max-width: 680px; justify-self: center; } + .card{ order: 2; justify-self: center; } +}