Skip to content

CSS: number-input

.instui-number-input — อินเทอร์เฟซสำหรับป้อนตัวเลขที่มีคอลัมน์ลูกตุ้ม +/-

ปุ่ม .arrows เป็นเพียง aria-hidden และมีวัตถุประสงค์เชิงนำเสนอเท่านั้น — การเพิ่ม/ลดค่าต่อคลิกต้องเป็นการผูกเหตุการณ์ด้วย JS ของผู้ใช้

Source: number-input.css

การเข้าถึง

วางชื่อที่เข้าถึงได้บน <input> (เช่น aria-label) เพื่อให้ฟิลด์เป็นเจ้าของค่า; ปุ่มลูกตุ้ม +/- เป็นองค์ประกอบตกแต่งและถูกทำเครื่องหมายเป็น aria-hidden="true"

การใช้งาน

css
@import "@pantoken/components/components.css";
@import "@pantoken/components/number-input.css";

ตัวอย่าง

html
<span class="instui-number-input">
  <input id="qty" type="number" value="1" aria-label="Quantity">
  <span class="arrows">
    <button type="button" id="up" aria-hidden="true"></button>
    <button class="down" type="button" id="down" aria-hidden="true"></button>
  </span>
</span>

โครงสร้าง

text
.instui-number-input
  input
  .arrows
    button
    .down
flowchart TD n0[".instui-number-input"]:::cssdoc-root n1("input"):::cssdoc-part n2(".arrows"):::cssdoc-part n3("button"):::cssdoc-part n4(".down"):::cssdoc-part n0 --> n1 n2 --> n3 n2 --> n4 n0 --> n2 classDef cssdoc-root stroke-width:1px; classDef cssdoc-part stroke-width:1px; classDef cssdoc-slot stroke-width:1px; classDef cssdoc-component stroke-width:1px;

ตัวปรับแต่ง

ตัวปรับแต่งคำอธิบาย
.-disabledสถานะปิดใช้งาน.
.-invalidสถานะไม่ถูกต้อง (ข้อผิดพลาด).
.-readonlyสถานะอ่านอย่างเดียว.
.-size-largeใหญ่. ชื่อยาวของ -size-lg.
.-size-lgใหญ่.
.-size-md(ค่าเริ่มต้น) ขนาดกลาง
.-size-medium(ค่าเริ่มต้น) ขนาดกลาง — รูปแบบยาวของชื่อเรียก -size-md
.-size-smเล็ก.
.-size-smallเล็ก. ชื่อยาวของ -size-sm.
.-successสถานะสำเร็จ (ถูกต้อง).

ส่วนประกอบ

ส่วนคำอธิบาย
.arrowsคอลัมน์ลูกตุ้ม +/- ที่ปลายแบบอินไลน์
.downปุ่มลดค่า; ปุ่มที่ไม่มีคลาสจะเป็นปุ่มเพิ่มค่า

องค์ประกอบเทียม

องค์ประกอบเทียมคำอธิบาย
::beforeไอคอนเชฟรอนที่ปิดบังบนแต่ละปุ่มลูกตุ้ม: ขึ้นเพื่อเพิ่มค่า ลงเพื่อ .down
::placeholderข้อความตัวอย่างของอินพุตภายใน เป็นสีจาง.

สถานะ

สถานะคำอธิบาย
:disabled

โทเค็นที่ใช้

Tokenชนิดค่า
--instui-color-icon-interactive-action-secondary-base<color>LightDarklight-dark(#1D354F, #ffffff)
--instui-component-text-input-arrows-background-active-color<color>LightDarklight-dark(#44709F, #2E5177)
--instui-component-text-input-arrows-background-color<color>LightDarklight-dark(#44709F, #86A8D5)
--instui-component-text-input-arrows-background-disabled-color<color>LightDarklight-dark(#DFE1E3, #334450)
--instui-component-text-input-arrows-background-hover-color<color>LightDarklight-dark(#44709F, #86A8D5)
--instui-component-text-input-background-color<color>LightDarklight-dark(#ffffff, #171B21)
--instui-component-text-input-background-disabled-color<color>LightDarklight-dark(#E8EAEC, #334450)
--instui-component-text-input-background-hover-color<color>LightDarklight-dark(#ffffff, #171B21)
--instui-component-text-input-background-readonly-color<color>LightDarklight-dark(#C7CACD, #6A7883)
--instui-component-text-input-border-color<color>LightDarklight-dark(#7E8792, #5F6E7A)
--instui-component-text-input-border-disabled-color<color>LightDarklight-dark(#C7CACD, #4A5B68)
--instui-component-text-input-border-hover-color<color>LightDarklight-dark(#334450, #7E8792)
--instui-component-text-input-border-radius<length>0.75rem
--instui-component-text-input-border-readonly-color<color>#8D959F
--instui-component-text-input-border-width<length>0.0625rem
--instui-component-text-input-error-border-color<color>LightDarklight-dark(#CF1F24, #F56050)
--instui-component-text-input-font-family[ <font-family-name> | <generic-font-family> ]#Atkinson Hyperlegible Next, "Helvetica Neue", Helvetica, Arial, sans-serif
--instui-component-text-input-font-size-lg<length>1.25rem
--instui-component-text-input-font-size-md<length>1rem
--instui-component-text-input-font-size-sm<length>0.875rem
--instui-component-text-input-gap-content<length>0.75rem
--instui-component-text-input-height-lg<length>3rem
--instui-component-text-input-height-md<length>2.5rem
--instui-component-text-input-height-sm<length>2rem
--instui-component-text-input-padding-horizontal-lg<length>0.75rem
--instui-component-text-input-padding-horizontal-md<length>0.75rem
--instui-component-text-input-padding-horizontal-sm<length>0.5rem
--instui-component-text-input-placeholder-color<color>LightDarklight-dark(#5F6E7A, #7E8792)
--instui-component-text-input-success-border-color<color>LightDarklight-dark(#037D37, #3EA75B)
--instui-component-text-input-text-color<color>LightDarklight-dark(#273540, #ffffff)
--instui-component-text-input-text-disabled-color<color>LightDarklight-dark(#8D959F, #9EA6AD)
--instui-component-text-input-text-readonly-color<color>LightDarklight-dark(#273540, #ffffff)
--instui-focus-outline-colorauto | <color>
--instui-focus-outline-color-dangerauto | <color>
--instui-focus-outline-color-successauto | <color>
--instui-focus-outline-offset<length>
--instui-focus-outline-radius<length-percentage [0,∞]>{1,4} [ / <length-percentage [0,∞]>{1,4} ]?
--instui-focus-outline-styleauto | <outline-line-style>
--instui-focus-outline-width<line-width>
--instui-icon-chevron-down<image>url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m6%209%206%206%206-6%22%2F%3E%3C%2Fsvg%3E')
--instui-icon-chevron-up<image>url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m18%2015-6-6-6%206%22%2F%3E%3C%2Fsvg%3E')

ที่เกี่ยวข้อง

  • text-input — ใช้ครอน (chrome) อินเทอร์เฟซเดียวกับ input facade
  • range-input — ตัวควบคุมอินพุตเชิงตัวเลขอีกแบบหนึ่ง