Les médias


Vue d'ensemble

Les éléments HTML <video> MDN Référence et <img> MDN Référence permettent d'intégrer ces contenus dans un document. L'élément <picture> MDN Référence quant à lui, vous permettra d'adapter une image en fonction de la dimension d'affichage. Enfin l'élément <svg> MDN Référence vous permettra d'afficher des images vectorielles décrites directement dans votre code.

Les images et les vidéos

Elles adapteront automatique leur hauteur en fonction de la largeur de l'élément conteneur.

Grâce à l'élément HTML <figure> MDN Référence et à son élément enfant <figcaption> (de type "inline-flex") vous pourrez ajouter une légende à vos médias.

Vous pouvez positionner l'élément <figcaption> à l'intérieur avec l'aide de quelques classes : figcaption--top-left, figcaption--top-center, figcaption--top-right, figcaption--center, figcaption--bottom-left, figcaption--bottom-center et figcaption--bottom-right

Affichage des différents formats de média visuel

sunset in desertic land
Un coucher de soleil dans un paysage désertique
Ambiance zen
Tigre en vectoriel
tigre en vectoriel

Positionnement des libellés

sunset in desertic land
TOP LEFT
sunset in desertic land
CENTER
sunset in desertic land
BOTTOM RIGHT

Choix du fichier image à charger en fonction des dimensions de l'affichage
Redimensionnez votre navigateur, pour voir les différentes images aux différents points d'arrêt

sunset in desertic land

A noter : Il est important de trier les balises <source> de la plus grande, à la plus petite taille.

<h4>Affichage des différents formats de média visuel</h4>
<div class="grid md:cols-3 gap-2">
	<figure>
		<img src="../../assets/images/image08.jpg" width="1024" height="680" alt="sunset in desertic land">
		<figcaption>
			Un coucher de soleil dans un paysage désertique
		</figcaption>
	</figure>
	<figure>
		<video controls>
			<source src="../../assets/videos/vheader.webm" type="video/webm">
			<source src="../../assets/videos/vheader.mp4" type="video/mp4">
			<p>Votre navigateur ne prend pas en charge les vidéos HTML5.</p>
		</video>
		<figcaption>
			Ambiance zen
		</figcaption>
	</figure>
	<figure>
		<figcaption>
			Tigre en vectoriel
		</figcaption>
		<img src="../../assets/images/tiger.svg" width="512" height="512" alt="tigre en vectoriel">
	</figure>
</div>

<hr>

<h4>Positionnement des libellés</h4>
<div class="grid md:cols-3 gap-2">
	<figure>
		<img src="../../assets/images/image08.jpg" width="1200" height="797" alt="sunset in desertic land">
		<figcaption class="figcaption--top-left">
			<b>TOP LEFT</b>
		</figcaption>
	</figure>
	<figure>
		<img src="../../assets/images/image08.jpg" width="1200" height="797" alt="sunset in desertic land">
		<figcaption class="figcaption--center">
			<b>CENTER</b>
		</figcaption>
	</figure>
	<figure>
		<img src="../../assets/images/image08.jpg" width="1200" height="797" alt="sunset in desertic land">
		<figcaption class="figcaption--bottom-right">
			<b>BOTTOM RIGHT</b>
		</figcaption>
	</figure>
</div>

<hr>

<h4>
	Choix du fichier image à charger en fonction des dimensions de l'affichage<br>
	<span><small>Redimensionnez votre navigateur, pour voir les différentes images aux différents points
		d'arrêt</small></span>
</h4>

<div style="--mw:1200px">
	<picture>
		<source srcset="../../assets/images/image08.jpg" media="(min-width: 1200px)">
		<source srcset="../../assets/images/image08-tablet.jpg" media="(min-width: 600px)">
		<img src="../../assets/images/image08-mobile.jpg" alt="sunset in desertic land" />
	</picture>
</div>
</div>

Les images vectorielles SVG

Les images vectorielles, ont l'avantage d'être très petites et peuvent être personnalisées et animées avec du css. Comme les images, les SVG adapteront leurs taille en fonction des dimensions d'affichage.

A noter : Lors de la création de votre image SVG, il est important que votre illustration ne touche pas les bords. Il faut en effet laisser une marge de 1 ou 2px. Dans le cas contraire votre svg pourra être tronqué. C'est un bug d'affichage connu lors du redimensionnement d'un SVG "inline"

Pour utiliser un svg comme une icône, il vous suffira de spécifier la classe .icon dans votre conteneur. Vous pourrez également choisir sa couleur de fond ainsi que la couleur d'avant-plan avec les variables CSS --fill et --stroke. Par défaut la couleur des contours est celle de l'élément conteneur.

Si vous utilisez seulement quelques icônes dans votre page (max entre 10 et 12)) à plusieurs endroits. Vous pouvez les stocker directement dans votre code html dans une balise <svg> caché et non accessible. Ensuite vous devrez englober la description du SVG avec le tag <symbol>

Pour les utiliser il vous suffira de spécifier avec le tag <use> et son attribut href l'id du svg défini.


github  github 
<figure style="--mw:128px;--pl:1em;">
	<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path d="M5.118 17.523c-1.186.244-2.409.269-3.591-.923-.796-.8-1.19-1.99-1.143-3.237 3.032 3.46 6.727-.814 2.24-3.037 2.169-1.005 4.209-.059 5.293 1.896.515.923.82 1.41 1.212 1.737.07.063.146.118.223.17.169-.468.506-.855.948-1.09a1.81 1.81 0 0 1 .81-.195c.79 0 1.78.463 1.945 1.255.036-.008.073-.015.11-.015h.574a.382.384 0 0 1 .092 0c.626.06 1.134.515 1.249 1.123a.412.415 0 0 1 .175-.04h.575a.382.384 0 0 1 .091 0c.825.125 1.161.625 1.278 1.251h.638a.413.416 0 0 1 .095 0c.945.143 1.318.754 1.46 1.487 1.744-.26 3.63-1.288 5.483.567a4.277 4.3 0 0 1 1.139 3.233c-3.033-3.458-6.727.816-2.245 3.04-1.86.861-3.633.283-4.782-1.141a7.233 7.271 0 0 1-.582 1.203c-.096.15-.19.306-.315.523a.011.011 0 0 0 0 .015c-.1.17-.21.335-.327.49h.4a.619.622 0 0 1 .622.61v3.325c0 .339-.278.61-.622.61H9.135a.614.617 0 0 1-.621-.61V26.47c0-.339.278-.611.622-.611h.216a4.464 4.488 0 0 1-.223-.928l-3.105-4.984-.015-.019a5.49 5.519 0 0 1-.623-1.037 2.967 2.983 0 0 1-.267-.976 2.204 2.216 0 0 1 0-.382zm22.92-8.132a.574.577 0 0 0-.091-.183.415.417 0 0 0-.143-.111.38.383 0 0 0-.176-.055.79.794 0 0 0-.186.022h-.02l-1.829.548a.753.757 0 0 1-.905-.379c-.095-.154-.187-.309-.3-.49-.114-.176-.249-.334-.345-.485-.098-.155-.241-.299-.391-.452-.147-.151-.249-.277-.421-.446a.744.748 0 0 1-.121-.869l.975-1.796a.376.378 0 0 0 .032-.354.503.506 0 0 0-.077-.162.49.493 0 0 0-.154-.117L21.58 2.857a.672.676 0 0 0-.169-.066.647.65 0 0 0-.206.03.302.303 0 0 0-.15.08.436.438 0 0 0-.124.148l-.893 1.649a.79.794 0 0 1-.924.372 17.099 17.189 0 0 0-.563-.137 9.08 9.08 0 0 0-.59-.091 5.39 5.419 0 0 0-.597-.048c-.208-.015-.403 0-.59-.015a.747.751 0 0 1-.747-.534l-.622-1.977v-.025a.72.725 0 0 0-.077-.162.527.53 0 0 0-.311-.147.487.49 0 0 0-.205.025l-2.468.74a.487.49 0 0 0-.187.089.432.434 0 0 0-.117.14.394.396 0 0 0-.051.172.514.516 0 0 0 .021.184v.011l.561 1.797a.74.744 0 0 1-.388.891c-.158.088-.315.18-.498.29-.184.114-.344.232-.499.34a7.141 7.179 0 0 0-.475.378c-.15.132-.286.244-.455.416a.794.798 0 0 1-.897.115l-1.827-.954a.425.427 0 0 0-.187-.055.886.89 0 0 0-.172.015.38.383 0 0 0-.154.077.49.492 0 0 0-.12.155l-.099.18a5.993 6.025 0 0 0-1.678-.085l.443-.82c.129-.233.298-.438.5-.608.207-.166.445-.291.699-.367a2.156 2.167 0 0 1 .794-.082c.26.037.516.122.747.247l1.351.706.099-.08c.176-.148.363-.292.55-.434.187-.144.387-.289.574-.405l.063-.049-.374-1.233a1.762 1.772 0 0 1-.08-.773c.022-.262.098-.515.227-.747a1.969 1.979 0 0 1 .497-.603 2.09 2.09 0 0 1 .703-.366l2.49-.758c.254-.08.52-.114.784-.1.267.023.527.1.761.226.242.128.455.301.627.508.165.202.286.433.348.688l.454 1.436a.71.71 0 0 0 .11 0c.223.01.454.037.7.058.241.022.464.07.698.114a.23.23 0 0 1 .096.026l.615-1.134a1.94 1.95 0 0 1 1.2-.956h.016a1.88 1.88 0 0 1 .772-.074c.264.025.517.099.748.217l2.307 1.203c.234.126.447.291.618.49.173.203.3.438.374.688.081.25.11.516.085.778a2.126 2.126 0 0 1-.25.732l-.725 1.329c.03.025.059.07.088.096.146.172.293.353.44.537.142.184.296.379.413.563l.048.066 1.256-.372c.256-.08.523-.106.791-.077.267.022.527.1.761.221.238.122.447.287.615.49v.022c.169.203.294.434.374.688l.747 2.419h.01c.078.25.108.508.089.765a1.837 1.847 0 0 1-.23.748 2.01 2.01 0 0 1-.498.603 1.848 1.857 0 0 1-.704.343l-1.465.445v.114c0 .226-.036.449-.062.663v.037a6.539 6.573 0 0 1-.124.695l-.02.081 1.166.608a1.89 1.89 0 0 1 .974 1.17v.02c.08.242.106.499.077.757a2.006 2.006 0 0 1-.223.732l-.184.34-.329-.174a6.187 6.22 0 0 0-1.08-1.892 6.74 6.776 0 0 0-1.993-1.664 5.92 5.92 0 0 0 .063-.276c.033-.183.07-.376.09-.589v-.037c.03-.198.045-.38.06-.556.015-.177.022-.39.019-.577a.726.73 0 0 1 .542-.733l2.013-.61h.03a.587.59 0 0 0 .16-.074.37.372 0 0 0 .104-.137.455.457 0 0 0 .025-.372l-.747-2.417Zm-8.469-.758c.347.181.678.398.978.648.3.244.578.516.824.814.23.29.438.6.622.923a5.27 5.298 0 0 1 .64 2.095c.04.368.04.74 0 1.108v.066a5.59 5.62 0 0 1-.168.921c-.41.04-.816.104-1.215.172l-.37-.19a4.513 4.537 0 0 0 .249-1.028.12.122 0 0 1 0-.05 4.542 4.566 0 0 0 0-.84 4.41 4.433 0 0 0-.158-.791 3.386 3.404 0 0 0-.318-.733 4.254 4.277 0 0 0-.477-.7 3.904 3.925 0 0 0-.607-.6 4.61 4.634 0 0 0-1.546-.806 5.12 5.147 0 0 0-.784-.158.139.14 0 0 1-.054 0 4.784 4.809 0 0 0-.857 0 5.043 5.07 0 0 0-.806.155 3.925 3.946 0 0 0-.746.312 4.465 4.465 0 0 0-.714.464 4.181 4.203 0 0 0-.605.593 2.49 2.49 0 0 0-.172.213l-1.359-.71c.11-.162.228-.317.356-.468a5.7 5.7 0 0 1 .81-.798 6.99 6.99 0 0 1 .944-.616 6.197 6.197 0 0 1 1.047-.427c.356-.106.722-.18 1.095-.213a5.312 5.34 0 0 1 1.132 0c.025 0 .047.01.062 0a6.02 6.02 0 0 1 1.083.202c.378.115.744.262 1.095.438zm-9.44 5.864v5.191a.41.413 0 0 1-.198.379.43.432 0 0 1-.44 0 .41.413 0 0 1-.197-.379v-.759c-.023-.015-.044-.025-.062-.044l-.927-.626-1.08-.872a1.548 1.556 0 0 0-.363-.228h-.281a.677.68 0 0 0-.363.015.354.356 0 0 0-.194.198h-.026c-.051.166-.07.343-.051.516.025.246.095.485.2.71.148.298.323.582.532.843l.022.04 3.164 5.074a.375.377 0 0 1 .07.183c.028.394.139.777.329 1.123h6.313c.318-.239.583-.541.768-.886a23.045 23.045 0 0 1 .341-.557 7.202 7.24 0 0 0 .715-1.663v-.123l.014-.047v-1.303l-.032-1.391a.157.158 0 0 1 0-.06v-1.854a.9.905 0 0 0-.722-.733h-.398v.566c-.015.229-.03.45-.03.66a.415.415 0 0 1-.417.411.413.416 0 0 1-.417-.411c0-.21.015-.453.029-.707v-.361.132-.29c0-.615-.11-1.153-.615-1.24h-.553a.382.384 0 0 1-.091 0c0 .227 0 .467-.02.699v.243c-.014.228-.028.448-.028.658a.415.415 0 0 1-.418.412.413.416 0 0 1-.417-.411c0-.21.015-.453.029-.707v-.537c.022-.693-.055-1.334-.615-1.433h-.538a.568.571 0 0 1-.106-.015v1.583a.415.415 0 0 1-.418.412.413.416 0 0 1-.418-.412v-2.002c0-.568-.574-.81-1.11-.81-.15 0-.3.033-.435.103a1.227 1.227 0 0 0-.56.732zm-.952 2.99-.396-.159a5.298 5.326 0 0 0-.546-.184l.6.49.342.273Zm0 0"/></svg>
</figure>
<hr>
<svg aria-hidden="true" style="display:none">
	<symbol id="icon-github" viewBox="0 0 24 24">
		<path d="M12 .5C5.646.5.5 5.78.5 12.292c0 5.211 3.295 9.63 7.863 11.188.575.11.786-.254.786-.567 0-.28-.01-1.022-.014-2.005-3.2.711-3.874-1.582-3.874-1.582-.523-1.361-1.28-1.725-1.28-1.725-1.041-.73.081-.716.081-.716 1.155.082 1.762 1.215 1.762 1.215 1.025 1.803 2.692 1.282 3.349.98.103-.762.4-1.282.728-1.577-2.554-.295-5.238-1.309-5.238-5.827 0-1.287.446-2.339 1.184-3.164-.13-.298-.518-1.497.1-3.121 0 0 .963-.317 3.163 1.208.92-.262 1.897-.392 2.875-.398a10.77 10.77 0 0 1 2.875.398c2.185-1.525 3.148-1.208 3.148-1.208.618 1.624.23 2.823.115 3.12.733.826 1.179 1.878 1.179 3.165 0 4.53-2.689 5.527-5.247 5.817.402.354.776 1.077.776 2.182 0 1.578-.014 2.846-.014 3.229 0 .31.2.678.79.56 4.601-1.547 7.893-5.969 7.893-11.172C23.5 5.78 18.35.5 12 .5"/>
	</symbol>
</svg>
<button class="icon">
	github&nbsp;
	<svg>
		<use href="#icon-github"/>
	</svg>
</button>
<span class="icon" style="--fs:2em; --clr:var(--primary-color);">
	github&nbsp;
	<svg>
		<use href="#icon-github"/>
	</svg>
</span>
<span class="icon" style="--fs:5em;--clr:var(--color-swing); --stroke:var(--color-swing-light); --fill:var(--color-swing-dark);">
	github&nbsp;
	<svg>
		<use href="#icon-github"/>
	</svg>
</span>

Pour optimiser vos SVG vous pouvez vous servir de l'excellent outil en ligne svgomg

Allez plus loin...

Pour contrôler la taille de vos medias, vous pouvez faire appel à la variable utilitaire CSS --ar. Celle-ci permet d'ajuster le ratio d'aspect. Pour vous aider à choisir Sass Swing met a disposition des variables prédéfinies : --ratio-square: 1, --ratio-letterbox, --ratio-portrait, --ratio-wide, --ratio-ultrawide, --ratio-golden et --ratio-perfectFourth

sunset in desertic land
Square
sunset in desertic land
Letter-box
sunset in desertic land
Portrait
sunset in desertic land
Wide
sunset in desertic land
Ultra-wide
sunset in desertic land
Cinema Scope
sunset in desertic land
TV
sunset in desertic land
Golden
sunset in desertic land
Golden square
<figure>
	<img src="../../assets/images/image08.jpg" width="1200" height="797" alt="sunset in desertic land" style="--ar:var(--ratio-square);">
	<figcaption class="figcaption--top-left">
		<b>Square</b>
	</figcaption>
</figure>
<figure>
	<img src="../../assets/images/image08.jpg" width="1200" height="797" alt="sunset in desertic land" style="--ar:var(--ratio-letterbox);">
	<figcaption class="figcaption--top-left">
		<b>Letter-box</b>
	</figcaption>
</figure>
<figure>
	<img src="../../assets/images/image08.jpg" width="1200" height="797" alt="sunset in desertic land" style="--ar:var(--ratio-portrait);">
	<figcaption class="figcaption--top-left">
		<b>Portrait</b>
	</figcaption>
</figure>
<figure>
	<img src="../../assets/images/image08.jpg" width="1200" height="797" alt="sunset in desertic land" style="--ar:var(--ratio-wide);">
	<figcaption class="figcaption--top-left">
		<b>Wide</b>
	</figcaption>
</figure>
<figure>
	<img src="../../assets/images/image08.jpg" width="1200" height="797" alt="sunset in desertic land" style="--ar:var(--ratio-ultraWide);">
	<figcaption class="figcaption--top-left">
		<b>Ultra-wide</b>
	</figcaption>
</figure>
<figure>
	<img src="../../assets/images/image08.jpg" width="1200" height="797" alt="sunset in desertic land" style="--ar:var(--ratio-cinemaScope);">
	<figcaption class="figcaption--top-left">
		<b>Cinema Scope</b>
	</figcaption>
</figure>
<figure>
	<img src="../../assets/images/image08.jpg" width="1200" height="797" alt="sunset in desertic land" style="--ar:var(--ratio-tv);">
	<figcaption class="figcaption--top-left">
		<b>TV</b>
	</figcaption>
</figure>
<figure>
	<img src="../../assets/images/image08.jpg" width="1200" height="797" alt="sunset in desertic land" style="--ar:var(--ratio-golden);">
	<figcaption class="figcaption--top-left">
		<b>Golden</b>
	</figcaption>
</figure>
<figure>
	<img src="../../assets/images/image08.jpg" width="1200" height="797" alt="sunset in desertic land" style="--ar:var(--ratio-goldenSquare);">
	<figcaption class="figcaption--top-left">
		<b>Golden square</b>
	</figcaption>
</figure>

Pour vous aider à créer une bannière type hero, vous pouvez utiliser la classe .grid-stacked dans grilles