L'objectif de ce TD est de vous donnez quelques outils supplémentaires en HTML et CSS pour alimenter vos pages web.
Comme toujours, l'objectif est de vous donner le temps d'expérimenter ces différentes méthodes.
Ceci vous dégage du temps pour commencer à réfléchir en dehors des heures de TD sur votre un projet, à savoir un site web démontrant toutes vos compétences en matière de web-développement.
Ce projet sera à rendre d'ici fin décembre (les modalités exactes de rendu seront fixées par votre enseignant de TD).
Les consignes, à respecter impérativement, sont listées sur la page du projet.
Ainsi, vous arriverez au prochain TD en ayant choisi votre thème et avec un plan sur papier de votre site à présenter à votre enseignant (contenus, styles et mise en page prévus) pour qu'il puisse donner un premier avis.
Beaucoup d'entre vous ont utilisé les IFrames pour insérer une vidéo sur votre page. Il existe en HTML5 une balise dédiée : <video> (choking isn't it ?).
<video src="sample.webm"></video>
Par défaut, aucun contrôle ne permet de lancer la vidéo. Il faut pour cela ajouter quelques attributs (la plupart sont les mêmes que pour la balise <audio>) :
Tous les navigateurs ne lisent pas tous les formats de vidéos. Pour pallier ceci, vous pouvez indiquer plusieurs sources de vidéo à votre balise :
<video controls poster="sample.jpg" width="600"> <source src="sample.mp4"> <source src="sample.webm"> <source src="sample.ogv"> </video>
Pour l'audio, il s'agit de la même chose :
<audio src="musique.mp3"></audio>
Testez l'insertion d'une vidéo extérieure avec ce lien : http://download.blender.org/peach/bigbuckbunny_movies/BigBuckBunny_320x180.mp4
La déclaration d'un tableau se fait avec la balise conteneur <table>
.
Cette balise contient le tableau composé de lignes.
La balise du type conteneur <tr>
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 <th>
, elle permet d'indiquer le titre d'une colonne ou d'une ligne.
Une cellule de contenu est créée par la balise conteneur <td>
.
Pour donner un titre à un tableau, il faut utiliser la balise caption
.
<table border="1"> <tr> <th>Month</th> <th>Savings</th> </tr> <tr> <td>January</td> <td>$100</td> </tr> </table>
A Faire :
(non breaking space)Il est possible de fusionner des cellules comme dans Excel
Pour fusionner des lignes :
<table> <tr><td rowspan="2">Cellule fusionnée</td><td>cellule</td></tr> <tr><td>cellule</td></tr> </table>
Pour fusionner des colonnes :
<table> <tr><td colspan="2">Cellule fusionnée</td></tr> <tr><td>cellule</td><td>cellule</td></tr> </table>
A Faire :
tr:nth-child(2){ background:purple; width:100px; height:50px; }
Plus d'informations ici.
A Faire :
* Utiliser toutes les balises HTML5 nécessaires à l'obtention de ce formulaire.
* Mettre en forme ce formulaire avec du CSS dans l'objectif :
* Quiz final :
Vous pouvez récupérer ce code contenant un exemple de changement dynamique de feuille de style : code_projet.zip
Pour l'utiliser dans vos propres codes suivez les règles suivantes :
<script type=“text/javascript”>
jusqu'à </script>
dans votre propre head<select>
possédant l'identifiant choixCSS
et possédant l'attribut : onchange=“changeCSS()”
<option>
du select en précisant comme value
le chemin du fichier CSSVoici 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
A Faire :
En savoir plus/mieux:
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
<img src="planets.gif" width="145" height="126" alt="Planets" usemap="#planetmap"> <map name="planetmap"> <area shape="rect" coords="0,0,82,126" href="sun.htm" alt="Sun"> <area shape="circle" coords="90,58,3" href="mercur.htm" alt="Mercury"> <area shape="circle" coords="124,58,8" href="venus.htm" alt="Venus"> </map>
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).
A Faire :