CSS-only distribution of Semantic UI providing comprehensive styling and JavaScript behaviors for web applications
—
Basic building blocks including buttons, inputs, headers, icons, and other fundamental interface elements that form the foundation of user interfaces.
Interactive buttons with comprehensive styling variations and states.
.ui.button /* Basic button */
/* Button types */
.ui.primary.button /* Primary brand button */
.ui.secondary.button /* Secondary button */
.ui.basic.button /* Basic outline button */
.ui.inverted.button /* Inverted color button */
/* Button states */
.ui.active.button /* Active/pressed state */
.ui.disabled.button /* Disabled non-interactive state */
.ui.loading.button /* Loading state with spinner */
/* Button variations */
.ui.fluid.button /* Full-width button */
.ui.circular.button /* Circular button */
.ui.labeled.button /* Button with attached label */
.ui.icon.button /* Button with icon only */
.ui.animated.button /* Button with hover animation */
/* Button groups */
.ui.buttons /* Button group container */
.ui.labeled.icon.buttons /* Labeled icon button group */
.ui.vertical.buttons /* Vertical button group */Usage Examples:
<!-- Basic buttons -->
<div class="ui button">Default Button</div>
<div class="ui primary button">Primary Button</div>
<div class="ui secondary button">Secondary Button</div>
<!-- Button states -->
<div class="ui active button">Active Button</div>
<div class="ui disabled button">Disabled Button</div>
<div class="ui loading button">Loading...</div>
<!-- Icon buttons -->
<div class="ui icon button">
<i class="settings icon"></i>
</div>
<div class="ui labeled icon button">
<i class="settings icon"></i>
Settings
</div>
<!-- Button groups -->
<div class="ui buttons">
<div class="ui button">One</div>
<div class="ui button">Two</div>
<div class="ui button">Three</div>
</div>Form input elements with enhanced styling and validation states.
.ui.input /* Input container */
.ui.input > input /* Actual input element */
/* Input types */
.ui.fluid.input /* Full-width input */
.ui.mini.input /* Mini size input */
.ui.small.input /* Small size input */
.ui.large.input /* Large size input */
.ui.huge.input /* Huge size input */
/* Input states */
.ui.disabled.input /* Disabled input */
.ui.error.input /* Error state input */
.ui.success.input /* Success state input */
.ui.loading.input /* Loading state input */
.ui.focus.input /* Focused state input */
/* Input variations */
.ui.transparent.input /* Transparent background input */
.ui.inverted.input /* Inverted color input */
.ui.labeled.input /* Input with attached label */
.ui.action.input /* Input with attached action button */
.ui.icon.input /* Input with icon */
.ui.left.icon.input /* Input with left-side icon */
.ui.right.icon.input /* Input with right-side icon */Usage Examples:
<!-- Basic inputs -->
<div class="ui input">
<input type="text" placeholder="Enter text...">
</div>
<!-- Fluid input -->
<div class="ui fluid input">
<input type="text" placeholder="Full width input">
</div>
<!-- Input with icon -->
<div class="ui left icon input">
<input type="text" placeholder="Search...">
<i class="search icon"></i>
</div>
<!-- Input with action -->
<div class="ui action input">
<input type="text" placeholder="Enter domain...">
<div class="ui button">Search</div>
</div>
<!-- Input states -->
<div class="ui error input">
<input type="text" placeholder="Error input">
</div>
<div class="ui success input">
<input type="text" placeholder="Success input">
</div>Content headers and titles with semantic hierarchy and styling options.
.ui.header /* Basic header */
/* Header sizes */
.ui.huge.header /* Largest header size */
.ui.large.header /* Large header size */
.ui.medium.header /* Medium header size (default) */
.ui.small.header /* Small header size */
.ui.tiny.header /* Smallest header size */
/* Header types */
.ui.dividing.header /* Header with bottom border */
.ui.block.header /* Header with background block */
.ui.attached.header /* Header attached to content */
.ui.top.attached.header /* Header attached to top */
.ui.bottom.attached.header /* Header attached to bottom */
/* Header content */
.ui.icon.header /* Header with icon */
.ui.sub.header /* Sub-header text */
/* Header states */
.ui.disabled.header /* Disabled header appearance */
.ui.inverted.header /* Inverted color header */Usage Examples:
<!-- Basic headers -->
<h1 class="ui header">Main Page Title</h1>
<h2 class="ui header">Section Header</h2>
<h3 class="ui header">Subsection Header</h3>
<!-- Sized headers -->
<h1 class="ui huge header">Huge Header</h1>
<h2 class="ui large header">Large Header</h2>
<h3 class="ui small header">Small Header</h3>
<!-- Icon header -->
<h2 class="ui icon header">
<i class="settings icon"></i>
Account Settings
<div class="sub header">Manage your account preferences</div>
</h2>
<!-- Dividing header -->
<h2 class="ui dividing header">Section Title</h2>
<!-- Attached headers -->
<div class="ui top attached header">
Attached Header
</div>
<div class="ui attached segment">
Content attached to header above.
</div>Icon system providing hundreds of scalable vector icons.
.ui.icon /* Basic icon */
.icon /* Short form icon class */
/* Icon sizes */
.ui.mini.icon /* Mini size icon */
.ui.tiny.icon /* Tiny size icon */
.ui.small.icon /* Small size icon */
.ui.large.icon /* Large size icon */
.ui.big.icon /* Big size icon */
.ui.huge.icon /* Huge size icon */
.ui.massive.icon /* Massive size icon */
/* Icon states */
.ui.disabled.icon /* Disabled icon appearance */
.ui.loading.icon /* Loading/spinner icon */
.ui.fitted.icon /* Icon without spacing */
.ui.link.icon /* Clickable icon */
/* Icon groups */
.ui.corner.icon /* Corner positioned icon */
.ui.icons /* Icon group container */
/* Common icon classes (examples) */
.home.icon /* Home icon */
.user.icon /* User icon */
.settings.icon /* Settings icon */
.search.icon /* Search icon */
.edit.icon /* Edit icon */
.delete.icon /* Delete icon */
.save.icon /* Save icon */
.close.icon /* Close icon */
.menu.icon /* Menu icon */
.dropdown.icon /* Dropdown arrow icon */Usage Examples:
<!-- Basic icons -->
<i class="home icon"></i>
<i class="user icon"></i>
<i class="settings icon"></i>
<!-- Sized icons -->
<i class="small home icon"></i>
<i class="large user icon"></i>
<i class="huge settings icon"></i>
<!-- Icon groups -->
<div class="ui icons">
<i class="big home icon"></i>
<i class="corner add icon"></i>
</div>
<!-- Icons in buttons and text -->
<div class="ui button">
<i class="save icon"></i>
Save Changes
</div>
<p>Click the <i class="settings icon"></i> icon to configure.</p>Content labels for categorization, status indication, and metadata display.
.ui.label /* Basic label */
/* Label types */
.ui.image.label /* Label with image */
.ui.pointing.label /* Label with pointing arrow */
.ui.corner.label /* Corner positioned label */
.ui.tag.label /* Tag-style label */
.ui.basic.label /* Basic outline label */
/* Label states */
.ui.active.label /* Active label state */
.ui.disabled.label /* Disabled label state */
/* Label variations */
.ui.circular.label /* Circular label */
.ui.empty.circular.label /* Empty circular label (dot) */
.ui.floating.label /* Floating positioned label */
.ui.horizontal.label /* Horizontal label */
/* Label content */
.ui.detail /* Label detail text */
.ui.delete.icon /* Delete icon in label */
/* Label groups */
.ui.labels /* Label group container */Usage Examples:
<!-- Basic labels -->
<div class="ui label">Default</div>
<div class="ui red label">Error</div>
<div class="ui green label">Success</div>
<!-- Labels with details -->
<div class="ui label">
Emails
<div class="detail">23</div>
</div>
<!-- Deletable labels -->
<div class="ui label">
Tag Name
<i class="delete icon"></i>
</div>
<!-- Pointing labels -->
<div class="ui form">
<div class="field">
<input type="text" placeholder="Enter value">
<div class="ui pointing red basic label">
Please enter a value
</div>
</div>
</div>
<!-- Image labels -->
<div class="ui image label">
<img src="avatar.jpg">
John Doe
<div class="detail">Admin</div>
</div>Lists and menus for displaying collections of related items.
.ui.list /* Basic list */
/* List types */
.ui.bulleted.list /* Bulleted list */
.ui.ordered.list /* Numbered list */
.ui.link.list /* Clickable link list */
.ui.horizontal.list /* Horizontal list layout */
/* List variations */
.ui.inverted.list /* Inverted color list */
.ui.selection.list /* Selectable list items */
.ui.animated.list /* Animated list interactions */
.ui.relaxed.list /* Extra spacing between items */
.ui.divided.list /* Divided list with separators */
.ui.celled.list /* Celled list with borders */
/* List items */
.ui.list > .item /* List item */
.ui.list .header /* List item header */
.ui.list .description /* List item description */
.ui.list .content /* List item content */
/* List item states */
.ui.list > .disabled.item /* Disabled list item */
.ui.list > .active.item /* Active list item */Usage Examples:
<!-- Basic list -->
<div class="ui list">
<div class="item">Item 1</div>
<div class="item">Item 2</div>
<div class="item">Item 3</div>
</div>
<!-- List with content structure -->
<div class="ui list">
<div class="item">
<div class="header">Header Text</div>
<div class="description">Description text goes here.</div>
</div>
<div class="item">
<div class="header">Another Header</div>
<div class="description">More description text.</div>
</div>
</div>
<!-- Horizontal list -->
<div class="ui horizontal list">
<div class="item">About</div>
<div class="item">Contact</div>
<div class="item">Help</div>
</div>
<!-- Bulleted list -->
<div class="ui bulleted list">
<div class="item">Bullet point one</div>
<div class="item">Bullet point two</div>
<div class="item">Bullet point three</div>
</div>Loading indicators for showing progress and activity states.
.ui.loader /* Basic loader/spinner */
/* Loader sizes */
.ui.mini.loader /* Mini loader */
.ui.tiny.loader /* Tiny loader */
.ui.small.loader /* Small loader */
.ui.medium.loader /* Medium loader (default) */
.ui.large.loader /* Large loader */
.ui.big.loader /* Big loader */
.ui.huge.loader /* Huge loader */
.ui.massive.loader /* Massive loader */
/* Loader types */
.ui.text.loader /* Loader with text */
.ui.inverted.loader /* Inverted color loader */
.ui.inline.loader /* Inline loader */
.ui.centered.inline.loader /* Centered inline loader */
/* Loader states */
.ui.active.loader /* Active/visible loader */
.ui.disabled.loader /* Disabled/hidden loader */Usage Examples:
<!-- Basic loader in segment -->
<div class="ui segment">
<div class="ui active loader"></div>
<p>Loading content...</p>
</div>
<!-- Text loader -->
<div class="ui segment">
<div class="ui active text loader">Loading data</div>
<p>Content placeholder</p>
</div>
<!-- Inline loaders -->
<p>Processing <div class="ui active inline loader"></div> please wait...</p>
<!-- Different sized loaders -->
<div class="ui segment">
<div class="ui active small loader"></div>
<p>Small loading indicator</p>
</div>All elements support the standard size scale:
.ui.mini.element /* Smallest size */
.ui.tiny.element /* Very small */
.ui.small.element /* Small */
.ui.medium.element /* Default size */
.ui.large.element /* Large */
.ui.big.element /* Very large */
.ui.huge.element /* Huge */
.ui.massive.element /* Largest size */All elements support the color palette:
.ui.red.element /* Red colored element */
.ui.blue.element /* Blue colored element */
.ui.green.element /* Green colored element */
.ui.primary.element /* Primary brand color */
.ui.secondary.element /* Secondary color */Common states across elements:
.ui.active.element /* Active/selected state */
.ui.disabled.element /* Disabled/non-interactive */
.ui.loading.element /* Loading state */Install with Tessl CLI
npx tessl i tessl/npm-semantic-ui-css