CSS-only distribution of Semantic UI providing comprehensive styling and JavaScript behaviors for web applications
npx @tessl/cli install tessl/npm-semantic-ui-css@2.5.0Semantic UI CSS is a comprehensive CSS-only distribution of Semantic UI that provides complete styling and JavaScript behaviors for web applications. It includes pre-compiled CSS files for 50+ UI components and corresponding JavaScript behaviors, offering a complete front-end framework without requiring custom theming or LESS compilation.
npm install semantic-ui-cssVia CDN:
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/semantic-ui-css@2.5.0/semantic.min.css">Local installation:
<link rel="stylesheet" href="node_modules/semantic-ui-css/semantic.min.css">Individual components:
<link rel="stylesheet" href="node_modules/semantic-ui-css/components/button.css">
<link rel="stylesheet" href="node_modules/semantic-ui-css/components/dropdown.css">Via CDN:
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/semantic-ui-css@2.5.0/semantic.min.js"></script>Local installation:
<script src="node_modules/jquery/dist/jquery.min.js"></script>
<script src="node_modules/semantic-ui-css/semantic.min.js"></script>Individual components:
<script src="node_modules/semantic-ui-css/components/dropdown.js"></script>
<script src="node_modules/semantic-ui-css/components/modal.js"></script>ES6 Modules (for bundlers):
import 'semantic-ui-css/semantic.min.css';
import 'semantic-ui-css/semantic.min.js';CommonJS:
require('semantic-ui-css/semantic.min.css');
require('semantic-ui-css/semantic.min.js');<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="semantic.min.css">
</head>
<body>
<!-- Basic components -->
<div class="ui primary button">Primary Button</div>
<div class="ui segment">
<h3 class="ui header">Welcome</h3>
<p>This is a basic segment with Semantic UI styling.</p>
</div>
<!-- Grid layout -->
<div class="ui grid">
<div class="four wide column">Sidebar</div>
<div class="twelve wide column">Main content area</div>
</div>
</body>
</html><!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="semantic.min.css">
</head>
<body>
<!-- Interactive dropdown -->
<div class="ui dropdown">
<div class="text">Select Option</div>
<i class="dropdown icon"></i>
<div class="menu">
<div class="item">Option 1</div>
<div class="item">Option 2</div>
<div class="item">Option 3</div>
</div>
</div>
<!-- Modal trigger -->
<div class="ui primary button" onclick="$('.ui.modal').modal('show')">
Show Modal
</div>
<div class="ui modal">
<div class="header">Modal Title</div>
<div class="content">Modal content goes here</div>
</div>
<script src="jquery.js"></script>
<script src="semantic.min.js"></script>
<script>
// Initialize components
$('.ui.dropdown').dropdown();
</script>
</body>
</html>Semantic UI CSS is organized into distinct categories:
.ui class naming conventionFoundation CSS classes and utilities for building user interfaces with consistent semantic naming.
.ui.component /* Base component class */
.ui.component.variation /* Component with variation */
.ui.component.modifier /* Component with modifier */Responsive grid system and layout components for structuring page content.
.ui.grid /* Grid container */
.ui.column /* Grid column */
.ui.row /* Grid row */
.ui.container /* Responsive container */Basic building blocks including buttons, inputs, headers, icons, and other fundamental interface elements.
.ui.button /* Interactive button */
.ui.input /* Form input */
.ui.header /* Content header */
.ui.icon /* Icon element */
.ui.label /* Content label */Grouped components like forms, menus, messages, and tables that work together as cohesive units.
.ui.form /* Form container */
.ui.menu /* Navigation menu */
.ui.message /* User message */
.ui.table /* Data table */Content presentation components including cards, comments, feeds, and statistics.
.ui.card /* Content card */
.ui.cards /* Card group */
.ui.comments /* Comment thread */
.ui.feed /* Activity feed */JavaScript-enhanced components providing dynamic behavior and user interaction.
$('.ui.dropdown').dropdown(); // Enhanced select dropdown
$('.ui.modal').modal(); // Dialog modal
$('.ui.popup').popup(); // Contextual popup
$('.ui.accordion').accordion(); // Collapsible contentComprehensive form validation system with built-in rules and custom validation support.
$('.ui.form').form({
fields: {
email: {
identifier: 'email',
rules: [
{ type: 'empty', prompt: 'Please enter your email' },
{ type: 'email', prompt: 'Please enter a valid email' }
]
}
}
});Available for most components:
.ui.red.component /* Red variation */
.ui.blue.component /* Blue variation */
.ui.green.component /* Green variation */
.ui.primary.component /* Primary color */
.ui.secondary.component /* Secondary color */Standard sizes across components:
.ui.mini.component /* Smallest size */
.ui.tiny.component /* Very small */
.ui.small.component /* Small */
.ui.medium.component /* Default size */
.ui.large.component /* Large */
.ui.big.component /* Very large */
.ui.huge.component /* Huge */
.ui.massive.component /* Largest size */.ui.active.component /* Active state */
.ui.disabled.component /* Disabled state */
.ui.loading.component /* Loading state */
.ui.error.component /* Error state */$('.ui.component').componentName();
$('.ui.component').componentName(settings);$('.ui.component').componentName('methodName');
$('.ui.component').componentName('methodName', parameter);Available on all interactive components:
$('.ui.component').componentName('destroy'); // Remove component
$('.ui.component').componentName('refresh'); // Refresh state
$('.ui.component').componentName('setting', key, value); // Get/set settingThe package includes complete asset files in the themes/default/assets/ directory:
themes/default/assets/fonts/)themes/default/assets/images/)Assets are automatically included when using the complete semantic.min.css file. For individual component usage, you may need to include assets manually:
<!-- Ensure icon fonts are available -->
<link rel="stylesheet" href="node_modules/semantic-ui-css/semantic.min.css">
<!-- Or reference individual assets -->
<style>
@font-face {
font-family: 'Icons';
src: url('node_modules/semantic-ui-css/themes/default/assets/fonts/icons.woff2') format('woff2'),
url('node_modules/semantic-ui-css/themes/default/assets/fonts/icons.woff') format('woff');
}
</style>Semantic UI CSS supports all modern browsers with: