Skip to content

CSS: form-field

.instui-form-field — یک ظرف برای فیلد فرم: یک برچسب، کنترل‌های آن، و طرح‌بندی‌های درون‌خطی، اجباری یا فقط‌فقط-خواندنی.

پیغام خطا مخفی می‌ماند تا وقتی کنترل فیلد :user-invalid شود (بعد از تعامل کاربر) یا کلاس -invalid را اضافه کنید. از -layout-inline برای قرار دادن برچسب در کنار کنترل‌ها و از -layout-stacked برای قرار دادن آن بالای کنترل‌ها استفاده کنید. همچنین بین برچسب، کنترل‌ها و پیام‌ها gap مخصوص به خود را تنظیم می‌کند؛ زنجیره‌سازی یک مودیفایر فاصله‌دهی -gap-* آن مقدار داخلی را بازنویسی می‌کند.

Source: form-field.css

دسترس‌پذیری

المان <label> کنترل را می‌پوشاند، بنابراین متن برچسب به‌صورت طبیعی نام آن را مشخص می‌کند؛ ستاره‌ی نشان‌دهندهٔ اجباری تزئینی است و باید از فناوری‌های کمکی مخفی (aria-hidden) باشد، و پیام خطا زمانی نمایش داده می‌شود که کنترل :user-invalid شود یا کلاس -invalid را اضافه کنید.

نحوه استفاده

css
@import "@pantoken/components/components.css";
@import "@pantoken/components/form-field.css";

نمونه‌ها

html
<label class="instui-form-field">
  <span class="label">Email address</span>
  <span class="controls"><input class="instui-text-input" type="email" placeholder="[email protected]"></span>
  <div class="instui-form-field-messages">
    <span class="instui-form-field-message -type-hint">We'll never share it.</span>
    <span class="instui-form-field-message -type-error">Enter a valid email address.</span>
  </div>
</label>

ساختار

text
.instui-form-field
  .label
  .controls
    text-input (component)
  form-field-messages (component)
flowchart TD n0[".instui-form-field"]:::cssdoc-root n1(".label"):::cssdoc-part n2(".controls"):::cssdoc-part n3(["text-input"]):::cssdoc-component n4(["form-field-messages"]):::cssdoc-component n0 --> n1 n2 --> n3 n0 --> n2 n0 --> n4 click n3 "/api/css/text-input.md" click n4 "/api/css/form-field-messages.md" classDef cssdoc-root stroke-width:1px; classDef cssdoc-part stroke-width:1px; classDef cssdoc-slot stroke-width:1px; classDef cssdoc-component stroke-width:1px;

تعدیل‌کننده‌ها

تعدیل‌کنندهتوضیحات
.-inlineطرح‌بندی درون‌خطی (اختصاری برای -layout-inline).
.-invalidحالت نامعتبر (خطا).
.-label-align-endتراز انتهایی متن برچسب.
.-label-align-startتراز ابتدایی متن برچسب.
.-layout-inlineطرح‌بندی درون‌خطی: برچسب در کنار کنترل‌ها.
.-layout-stackedطرح‌بندی ستونی: برچسب بالای کنترل‌ها.
.-readonlyحالت فقط‌خواندنی.
.-v-align-bottomتراز پایین برچسب با کنترل‌ها.
.-v-align-topتراز بالا برچسب با کنترل‌ها.

قسمت‌ها

قسمتتوضیحات
.controlsمنطقهٔ کنترل در کنار یا زیر برچسب.
.labelبرچسب فیلد.

نیمه‌عناصر (Pseudo-elements)

نیمه‌عنصرتوضیحات
::afterهنگامی که فیلد اجباری است، علامت ستارهٔ تزئینی اجباری را بعد از متن برچسب رندر می‌کند.

حالت‌ها

وضعیتتوضیحات
:required

توکن‌های مصرف‌شده

Tokenنوعمقدار
--instui-component-form-field-layout-asterisk-color<color>LightDarklight-dark(#CF1F24, #FA917F)
--instui-component-form-field-layout-font-family[ <font-family-name> | <generic-font-family> ]#Atkinson Hyperlegible Next, "Helvetica Neue", Helvetica, Arial, sans-serif
--instui-component-form-field-layout-font-size<length>1rem
--instui-component-form-field-layout-font-weight<integer>400
--instui-component-form-field-layout-gap-inputs<length>0.75rem
--instui-component-form-field-layout-gap-primitives<length>0.5rem
--instui-component-form-field-layout-line-height<length>1.125rem
--instui-component-form-field-layout-readonly-text-color<color>LightDarklight-dark(#576773, #AAB0B5)
--instui-component-form-field-layout-text-color<color>LightDarklight-dark(#273540, #ffffff)

پشتیبانی مرورگر

  • شامل استایل‌های عنصر خود با at-rule CSS @scope است؛ نیاز به نسخه‌های جدید Chromium، Firefox یا Safari دارد.

زیرمولفه‌ها

مرتبط

  • form-field-messages — پیغام‌های راهنما، خطا و موفقیت فیلد را رندر می‌کند.
  • form-field-group — فیلدهای مرتبط را تحت یک legend مشترک گروه‌بندی می‌کند.