Files
wordpress-theme-aksrt/assets/css/core/forms.css
T

143 lines
2.8 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* AKSRT Forms — 1:1 Zibll Alignment
*
* 对齐 zibll .form-control:
* - 灰色背景 (#f5f6f7)
* - 透明边框
* - 34px 高度
* - 8px 圆角
* - focus 时粉色边框 + 光晕
*/
/* ===== Field Wrapper ===== */
.field {
display: flex;
flex-direction: column;
gap: 6px;
margin-bottom: var(--space-4);
}
.field-label {
font-size: var(--text-sm);
font-weight: 600;
color: var(--color-ink);
}
.field-help {
font-size: var(--text-xs);
color: var(--color-ink-3);
}
.field-error {
font-size: var(--text-xs);
color: var(--color-error);
}
/* ===== Input / Textarea / Select — 对齐 zibll .form-control ===== */
.input,
.textarea,
.select,
input[type="text"].form-input,
input[type="email"].form-input,
input[type="password"].form-input,
input[type="search"].form-input,
input[type="url"].form-input,
input[type="tel"].form-input,
textarea.form-textarea,
select.form-select {
width: 100%;
height: 34px;
padding: 6px 12px;
font-size: 14px;
color: var(--color-ink);
background: var(--surface-page);
border: 1px solid transparent;
border-radius: var(--radius);
transition: border-color var(--dur-fast) var(--ease),
box-shadow var(--dur-fast) var(--ease);
}
.textarea,
textarea.form-textarea {
height: auto;
min-height: 120px;
padding: 12px;
line-height: var(--leading-snug);
resize: vertical;
}
.input:hover,
.textarea:hover,
.select:hover {
border-color: var(--color-primary);
}
.input:focus,
.textarea:focus,
.select:focus {
outline: none;
border-color: var(--color-primary);
box-shadow: 0 0 2px 3px rgba(253, 83, 161, 0.4);
}
.input::placeholder,
.textarea::placeholder {
color: var(--color-ink-4);
}
/* ===== Select ===== */
.select,
select.form-select {
appearance: none;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23777' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 12px center;
padding-right: 32px;
}
/* ===== Checkbox / Radio ===== */
.checkbox,
.radio {
display: inline-flex;
align-items: center;
gap: 8px;
cursor: pointer;
font-size: var(--text-sm);
color: var(--color-ink-2);
}
.checkbox input,
.radio input {
width: 16px;
height: 16px;
accent-color: var(--color-primary);
cursor: pointer;
}
/* ===== Input Group ===== */
.input-group {
display: flex;
align-items: stretch;
}
.input-group .input {
border-radius: var(--radius) 0 0 var(--radius);
}
.input-group .btn {
border-radius: 0 var(--radius) var(--radius) 0;
}
/* ===== Form Layout ===== */
.form-row {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: var(--space-4);
}
.form-actions {
display: flex;
gap: var(--space-3);
margin-top: var(--space-5);
}