Skip to content

Forms ​

Bullframe CSS provides consistent, accessible form styling across all browsers.

Basic Form Elements ​

Text Inputs ​

html
<input type="text" placeholder="Enter text" />
<input type="email" placeholder="Enter email" />
<input type="password" placeholder="Enter password" />
<input type="number" placeholder="Enter number" />

Textarea ​

html
<textarea placeholder="Enter your message"></textarea>

Select ​

html
<select>
  <option>Choose an option</option>
  <option>Option 1</option>
  <option>Option 2</option>
</select>

Checkboxes ​

html
<input type="checkbox" id="checkbox1" /> <label for="checkbox1">Checkbox label</label>

Radio Buttons ​

html
<input type="radio" id="radio1" name="radio" />
<label for="radio1">Radio option 1</label>

<input type="radio" id="radio2" name="radio" />
<label for="radio2">Radio option 2</label>

Range Input ​

html
<input type="range" min="0" max="100" value="50" />

Form States ​

Disabled State ​

html
<input type="text" disabled placeholder="Disabled input" /> <button disabled>Disabled button</button>

Readonly State ​

html
<input type="text" readonly value="Readonly value" />

Invalid State ​

html
<input type="email" required aria-invalid="true" placeholder="Invalid email" />

Form Utilities ​

Focus State ​

Apply the .bf-focused class to simulate a focused appearance:

html
<input class="bf-focused" type="text" value="Focused input" />

Disabled State ​

Apply the .bf-disabled class to disable form elements via CSS:

html
<input class="bf-disabled" type="text" value="Disabled input" />

Invalid State ​

Apply the .bf-invalid class to mark form elements as invalid:

html
<input class="bf-invalid" type="text" value="Invalid input" />

Custom Radio and Checkbox ​

Use wrapper classes for custom-styled radio buttons and checkboxes:

html
<div class="custom-checkbox-wrapper">
  <input type="checkbox" id="custom1" />
  <label for="custom1">Custom checkbox</label>
</div>

<div class="custom-radio-wrapper">
  <input type="radio" id="custom2" name="custom" />
  <label for="custom2">Custom radio</label>
</div>

Bullframe CSSCopyright © 2026 Marco Pontili · Privacy