'' permet de créer une //ligne//. Une ligne peut être composée de cellules.
Une //cellule d'entête// est créée par la balise conteneur '''', elle permet d'indiquer le titre d'une colonne ou d'une ligne.
Une //cellule de contenu// est créée par la balise conteneur '' ''.
Pour donner un titre à un tableau, il faut utiliser la balise ''caption''.
Month
Savings
January
$100
* Créer un tableau dont les colonnes correspondent à 3 jours de la semaine, les lignes aux cours (algo, web, ...), et les cases contiennent le nombre d'heures de la journée consacrées à chaque cours.
* Attention, évidemment, les cellules correspondant à //algo//, //web//... sont des cellules d'entête (Table Header)
* Si vous n'avez pas cours, laissez la case libre en utilisant '' '' (//**n**on **b**reaking **sp**ace//)
Il est possible de fusionner des cellules comme dans Excel ;-)
Pour fusionner des lignes :
Cellule fusionnée cellule
cellule
Pour fusionner des colonnes :
Cellule fusionnée
cellule cellule
Voici une image qui correspond à une copie d'écran d'un tableau obtenu avec du code html et css, reproduisez exactement le même résultat!! tout d'abord en créant la structure du tableau en html, puis en créant le css associé qui fournira les tailles et les couleurs de chaque cellule.
{{ :2013_2014:s1:docweb:approfondissementhtml:sans_titre.png?nolink&300 |}}
* Vous pouvez tester la nouvelle balise de CSS3 nth-child(exp) pour avoir le nieme enfant. Exemple :
tr:nth-child(2){
background:purple;
width:100px;
height:50px;
}
* vous pouvez spécifier paire, impaire ... très pratique pour sélectionner des lignes dans un tableau.
Plus d'informations [[https://developer.mozilla.org/fr/docs/Web/CSS/:nth-child|ici]].
===== Les formulaires 2.0 =====
L'objectif de cet exercice est de travailler le rendu d'un formulaire.
* Nous voulons créer un formulaire d'inscription, celui contiendra les informations suivantes :
* Nom (obligatoire)
* Prénom (obligatoire)
* Adresse de messagerie (obligatoire)
* Téléphone
* Mot de passe (obligatoire)
* Confirmation du mot de passe (obligatoire)
* Offre d'inscription (liste déroulante : Free, Premium, Ultimate, Chuck Norris)
* Recevoir la newsletter (case à cocher)
* Bouton "Valider"
* Bouton "Effacer"
* Utiliser toutes les balises HTML5 nécessaires à l'obtention de ce formulaire.
* Mettre en forme ce formulaire avec du CSS dans l'objectif :
* D'obtenir quelque chose qui s'approche de ça :
{{ :2017_2018:s1:webdoc:grunion-form-builder.png?300 |}}
* D'obtenir quelque chose qui ne ressemble surtout pas à ça (pas de tableau pour la mise en page notamment !) :
{{ :2017_2018:s1:webdoc:formail1.jpg?300 |}}
* Et c'est pas fini :
* Lorsqu'un champs est en train d'être modifié, appliquer "une mise en surbrillance" de ce dernier.
* Les champs contenant du texte (excepté Mot de passe) doivent être pré-rempli.
* Quiz final :
* Quelles limites sont atteintes avec le HTML5/CSS3 pour les formulaires ?
* Quelles solutions sont disponibles ?
Un peu d'aide ?
* Pseudos-formats : :required, :invalid, :focus
* [[https://developer.mozilla.org/fr/docs/Web/Guide/HTML/Formulaires/Validation_donnees_formulaire|Validation d'un formulaire]] en HTML5.
* Type de champs HTML5 : email, tel, number, url, range, color, date, search (http://www.alsacreations.com/tuto/lire/1372-formulaires-html5-nouveaux-types-champs-input.html)
===== Feuille de style dynamique =====
Vous pouvez récupérer ce code contenant un exemple de changement dynamique de feuille de style : {{:2015_2016:s1:webdoc:code_projet.zip|}}
Pour l'utiliser dans vos propres codes suivez les règles suivantes :
* copiez collez tout le code (balises incluses) de '''' dans votre propre head
* Créez une balise '''' possédant l'identifiant ''choixCSS'' et possédant l'attribut : ''onchange="changeCSS()"''
* Créez les différentes '''' du select en précisant comme ''value'' le chemin du fichier CSS
Si vous le souhaitez vous pouvez utiliser des liens au lieu d'un select, à vous de chercher comment !
==== Images d'arrière-plan ====
Voici comment positionner des images en arrière-plan :http://www.w3schools.com/css/css3_backgrounds.asp
Par défaut, l'image se place dans le coins en haut à gauche puis se reproduit horizontalement et verticalement, pour remplir tout l'espace.
Pour qu'une image ne se répète pas mettez la valeur ''no-repeat''
* démontrer votre compréhension de cette rubrique en plaçant des images en arrière-plan de sous-parties de votre partie de démonstration.
En savoir plus/mieux:
* http://www.alsacreations.com/tuto/lire/808-arriere-plans-css3-background.html
* http://www.alsacreations.com/tuto/lire/1353-etape-3-couleurs-images-de-fond.html
==== Images réactives ====
Il est possible de créer des images réactive en HTML, c'est à dire ou certaines zones sont cliquables et déclenchent une action.
Par exemple
Pour créer des cartes avancées, il existe des outils qui vous permettent de les générer
par exemple : http://www.maschek.hu/imagemap/ (Attention après chargement il faut accepter!!)
Attention c'est l'attribut "name" qui sert à faire la correspondance entre l'image et les zones (l'id généré par l'outil ne sert à rien).
* Intégrez cette image sur votre page {{ :2015_2016:s1:webdoc:plan_iut_nice.jpg?nolink&450 |prenez celle-ci}}
* Utilisez l'outil précédent pour créer une map dans cette image. lorsque l'on clique sur l'icone de Nice on est redirigé vers la page de présentation de l'iut Nice (http://www.iut.unice.fr/formations/site/id/4_site-de-nice) de même pour Sophia (http://www.iut.unice.fr/formations/site/id/5_sophia-antipolis).