• 3

    Number Field

    Styled native number input -- no classes needed.

    Default

    <input type="number" pattern="[0-9]*" placeholder="0" />

    With suffix

    Wrap the input and a suffix in a <label> and add data-suffix to the adornment. Works with text, icons, or buttons.

    <label>
      <svg data-prefix>...</svg>
      <input type="number" pattern="[0-9]*" placeholder="0.00" />
      <small data-suffix>USD</small>
    </label>
    
    <label>
      <input type="number" pattern="[0-9]*" placeholder="0" />
      <small data-suffix>kg</small>
    </label>

    Constraints

    Use the native min, max, and step attributes to constrain the value.

    <!-- integer 0-100 -->
    <label>
      <input
        type="number"
        pattern="[0-9]*"
        min="0"
        max="100"
        step="1"
        placeholder="0-100"
      />
      <small data-suffix>%</small>
    </label>
    
    <!-- decimal with cent precision -->
    <label>
      <input
        type="number"
        pattern="[0-9]*"
        min="0"
        step="0.01"
        placeholder="0.00"
      />
      <small data-suffix>EUR</small>
    </label>

    In a Field

    Use div.field as the outer wrapper (instead of label.field) when the inner <label> handles adornments, to avoid nesting labels.

    Price Enter the total amount including tax.
    <div class="field">
      <span>Price</span>
      <label style="width: 100%">
        <svg data-prefix>...</svg>
        <input
          type="number"
          pattern="[0-9]*"
          placeholder="0.00"
          min="0"
          step="0.01"
        />
        <small data-suffix>USD</small>
      </label>
      <small>Enter the total amount including tax.</small>
    </div>

    Search 5021 icons

    Type a name to find icons from the Tabler icon set.