Table des matières

Semantic-UI

Comme son nom l'indique, Semantic UI est un framework CSS basé sur la sémantique, respectueux de la structure HTML d'un document (contrairement à Bootstrap par exemple, qui nécessite souvent de restructurer le document pour mettre en oeuvre des composants).

Le projet initial Semantic-ui a été abandonné par son auteur, puis repris par une équipe motivée avec le Fork Fomantic-UI

Semantic-UI utilise jQuery.

Documentation

Intégration

Via CDN

CSS

<head>
    <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/fomantic-ui@2.9.2/dist/semantic.min.css">
</head>

Javascript

Avant la fermeture du body :

<!-- You MUST include jQuery 3+ before Fomantic -->
<script src="https://cdn.jsdelivr.net/npm/jquery@3.6.3/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/fomantic-ui@2.9.2/dist/semantic.min.js"></script>
</body>

Via npm

Ne pas oublier également l'intégration de jQuery.

npm install fomantic-ui

CSS

Dans le head

<head>
<link rel="stylesheet" type="text/css" href="/dist/semantic.min.css">
</head>

Javascript

Avant la fermeture du body :

<!-- You MUST include jQuery 3+ before Fomantic -->
<script src="https://cdn.jsdelivr.net/npm/jquery@3.6.3/dist/jquery.min.js"></script>
<script src="/dist/semantic.min.js"></script>

Bases

Eléments HTML simples

La plupart des composants Semantic ne requiert que du HTML

Segment :

<div class='ui segment'>
</div>

Bouton :

<a class='ui button'>
    Ouvrir...
</a>

Eléments HTML/JS

Certains composants nécessitent une création en HTML, et une initialisation en JS :

Exemple : Dropdown

<div class="ui selection dropdown">
  <input type="hidden" name="pet">
  <i class="dropdown icon"></i>
  <div class="default text">Pet</div>
  <div class="scrollhint menu">
    <div class="item" data-value="0">Cat</div>
    <div class="item" data-value="1">Dog</div>
    <div class="item" data-value="2">Bird</div>
    <div class="item" data-value="3">Rabbit</div>
    <div class="item" data-value="4">Squirrel</div>
    <div class="item" data-value="5">Horse</div>
    <div class="item" data-value="6">Turtle</div>
    <div class="item" data-value="7">Parrot</div>
  </div>
</div>
<script>
$('.ui.dropdown').dropdown();
</script>

Eléments JS

Certains composants (beaucoup plus rares) sont 100% JS, c'est le cas par exemple du toast :

$.toast({
  title: 'Better ?',
  message: 'Hey look, I have a title !'
});