Skip to main content
/
/
/
Button styling

Button styling

React component

Basic button

Also see the <Button> React component

The .bf-button will apply bifrost button styling:

<button class="bf-button">Button element</button>

The .bf-button class, and all the combinations below can also be applied to <a> elements.

<a href="/path" class="bf-button">Link element</a>

Filled and flat variants

Another two alternative button variants are supplied:

<button class="bf-button">Basic (default)</button>
<button class="bf-button bf-button-filled">Filled</button>
<button class="bf-button bf-button-flat">Flat</button>

State colors

Another three alternative button variants are supplied:

<div class="bf-inline bf-padding">
  <button class="bf-button">Default</button>
  <button class="bf-button bf-button-alert">Alert</button>
  <button class="bf-button bf-button-inactive">Inactive</button>
</div>
<div class="bfc-inverted-bg bf-padding">
  <button class="bf-button bf-button-inverted">Inverted</button>
</div>

Combine variants and states

statevariant
default
inactive
neutral
alert
inverted

Rounded corners (pill button)

<button class="bf-button bf-button-pill">Default</button>
<button class="bf-button bf-button-pill bf-button-filled">Filled</button>
<button class="bf-button bf-button-pill bf-button-flat">Flat</button>
<button class="bf-button bf-button-pill bf-button-alert">Alert</button>
<button class="bf-button bf-button-pill bf-button-inactive">Inactive</button>
<button class="bf-button bf-button-pill bf-button-filled bf-button-inactive">
  Filled Inactive
</button>

Small size

<button class="bf-button bf-button-small">Default</button>
<button class="bf-button bf-button-small bf-button-filled">Filled</button>
<button class="bf-button bf-button-small bf-button-flat">Flat</button>
<button class="bf-button bf-button-small bf-button-alert">Alert</button>
<button class="bf-button bf-button-small bf-button-inactive">Inactive</button>
<button class="bf-button bf-button-small bf-button-filled bf-button-inactive">
  Filled Inactive
</button>

Button group

<div class="bf-button-group">
  <button class="bf-button">Rock</button>
  <button class="bf-button">Paper</button>
  <button class="bf-button bf-button-selected">Scissors</button>
</div>

Expand button

Control open state by toggling the .bf-expand-icon-open class on the icon.

<button class="bf-button-expand bf-neutral-link">
  <div class="bf-expand-icon-wrapper">
    <i class="bf-expand-icon fa-solid fa-angle-right"></i>
  </div>
  <span class="bf-neutral-link-text">Toggle (closed)</span>
</button>
<button class="bf-button-expand bf-neutral-link">
  <div class="bf-expand-icon-wrapper">
    <i class="bf-expand-icon bf-expand-icon-open fa-solid fa-angle-right"></i>
  </div>
  <span class="bf-neutral-link-text">Toggle (open)</span>
</button>

A note about type

The default type of a <button> is submit. Unless you need the button to submit a <form> you probably want <button type='button'> instead.

<form>
  <button>this button will submit the form</button>
</form>
<button type="button">button with a javascript click handler</button>