# Interaction ++Humain++ - Machine sur le Web 2 --- ## Rappels de la séance précédente ---- ### La première balise :::danger Quelle est la première instruction de toute page **HTML** ? `<!DOCTYPE html>` <!-- .element: class="fragment" --> ::: ---- ### Class ou Id ? :::danger Dans le code *incomplet* suivant: ```html <img id="photo_entete" src="../image.png" alt="..."/> ``` L'attribut `id` permet de: - identifier de manière unique l'image dans le document <!-- .element: class="fragment highlight-green" --> - dire à l'utilisateur que cette image représente une tête - inutile, sauf pour faire croire qu'on a compris. ::: ---- ### Syntaxe de lien :::danger Comment compléter le code suivant pour obtenir le lien ci dessous: ```html <... ...="https://site.ext/page"> Mon lien </...> ``` [Mon lien](https://site.ext/page) ```html <a href="https://site.ext/page"> Mon lien </a> ``` <!-- .element: class="fragment" --> ::: --- ## Le CSS Inventé le **17 décembre 1996** et présent dès le premier navigateur, le **CSS** accompagne le **HTML** depuis le début. Il permet de **définir l’apparence et la disposition des éléments HTML**. ---- ### Où définir le style ? Pour respecter le principe de séparation, les définitions de **style CSS** sont regroupées dans un fichier texte d’extension .css qui est relié au fichier source HTML par une **balise link** placée dans **l’entête du document**. On parle souvent de **feuille de style CSS**. ```html <!doctype html> <html> <head> ... <link href="mon_style.css" rel="stylesheet" type="text/css" /> </head> ``` ---- On peut aussi le définir dans une **balise** `<style> </style>` dans **l'entête du fichier HTML**. ```html <!doctype html> <html> <head> ... <style> ... </style> </head> ``` ---- Ou bien directement dans **l'attribut style** de la balise voulue. ```html <balise style="..."> ... </balise> ``` --- ### Comment définir le style ? :::info On se place ici dans le cas de la balise `<style>` ou d'un fichier **séparé** inclut dans l'entête. ::: Le CSS permet **d'appliquer un ensemble de propriétés à un ensemble d'éléments html**. ---- On utilise la syntaxe suivante: ```css sélecteur ... { propriété: valeur ; propriété autre: valeur; } ``` ---- #### Les sélecteurs Voir <https://www.w3schools.com/Css/css_combinators.asp> | Syntaxe | Sélection | Exemple | |:--------- | ----------------------------------------------------- | ------- | | ma_balise | Toutes les balises `ma_balise` | p | | p,a,img | Chaque balise du type `p`, `a` ou `img` | | | a b | Toutes les balises `b` présentent dans une balise `a` | p a | | a.b | Toutes les balises `a` avec `class="b"` | p.intro | ---- ##### Sélecteurs spéciaux | Syntaxe | Sélection | Exemple | |:------- | --------------------------------------- | -------- | | * | Toutes les balises | * | | #text | **La** balise d'attribut `id=text` | #premier | | .text | **Les** balises d'attribut `class=text` | .rouge | ---- #### Les propriétés Elles sont toujours sous la forme: `propriété: valeur ;`. ##### Exemples ```css color: red ; /*Mettre le texte en rouge */ background-color: #FF0000 ; /* Fond de la balise en rouge (hexadécimal RGB) */ border: 4px solid black ; /* une bordure de 4 pixels de large, pleine et noire */ ``` --- ## À vous de jouer ! :::info Si vous avez fait votre page web **copiez là dans le champ HTML**. L'activité **capytale** vous permet de directement modifier le CSS d'une balise `<style>`. ::: * Le TP Capytale : **93b8-1282198** * Les consignes : <https://apd.li/css> --- ## Les *devoirs* ### Demain Faire *un nouvel exercice de france-ioi* (Celles et ceux qui ne les font pas prennent du retard **difficilement rattrapable en python**). ---- ### Fin de semaine prochaine Ajouter du CSS (dans un fichier séparé) pour que votre page ressemble à ce que nous avons décrit en cours. :::warning * La frise chronologique est **très** complexe à faire. * La disposition horizontale **peut utiliser le modèle flexbox** mais n'est pas obligée. :::
{"tags":"cours, ihm, nsi, web","description":"2ème séance d'IHM sur le Web, janvier 2022","type":"slide","slideOptions":{"transition":"slide","theme":"beige"}}