← Revenir vers le homepage

Demo 6

Exercice de la semaine

Lien vers le devoir 6 en CSS

À propos des éditeurs de texte: encore

Je vous invite à lire ceci, qui pourrait grandement vous faciliter la vie pour ce devoir et les prochains à venir.

Aides mémoires + ressources de la semaine

Validateur CSS


W3Schools: Le CSS (excellente source, à utiliser BEAUCOUP, tout le temps, tout le long de votre carrière :))

Mini demo flexbox interactive :)

Aide memoire (en anglais, vraiment cool car interactif)

Aide memoire (francais)

Le CSS: pourquoi?

Ça serait quoi le monde sans CSS? (demo)

www.google.com

www.umontreal.ca

Oeuvres d'art css :)

https://wanderful.index.studio/fr/

https://argor-heraeus.com/

Les selecteurs: la base du CSS

 

Important à savoir (j'avais oublié durant la démo): classes vs. id vs. nom de balise

CSS:

HTML:

Ce qui s'appliquera seulement sur le img qui contient la photo photoA.jpg.

 

Notez que techniquement si vous utilisez un #id pour plusieurs elements... ca pourrait marcher MAIS ca va briser bien de choses a long terme. Faites attention hihi

 

Les propriétés d'éléments

color, fontSize, background-color, etc.

Encore une fois, parce que ça doit vous rentrer:

Allez sur W3Schools: Le CSS et apprenez sur les différentes propriétés possibles que vous pouvez ajouter à vos éléments.

Les margin et padding

(demo)

Les importations externes

Les url('...')

Exemple: background-image:

On peut utiliser url() pour importer un font dans css!

Astuce: Google font

https://fonts.google.com/

Tutoriel W3Schools sur l'importation de fonts

Google icons

https://fonts.google.com/icons

Utiliser google icons: sur votre HTML, importer ceci dans le head

Plus tard dans votre html

(Par exemple, pour faire un icône de nuage, vous pouvez écrire cloud dans nom-de-votre-icône!)

Autres sources cool de fonts: Dafont.com (attention aux droits d'auteur!)

L'ordre de vos propriétés

Last in first out? :) Dernier arrivé, premier servi. (demo)

Le html suivant:

Couplé avec le CSS suivant:

Affiche:

 

Allo

 

Parce qu'on redéfinit plus bas dans le css que p doit être de couleur verte, même si originalement son contenu était rouge.

 

Plus d'info sur l'ordre de "précedence " sur ce lien

 

Le mot !important: donner priorité

Le keyword !important peut faire qu'une propriété prenne toujours le dessus, peu importe son ordre. Si l'on reprend l'exemple ci-dessus, mais l'on change légèrement le CSS:

Cela affiche maintenant:

Allo

Car color: red !important dit au CSS de prioriser la couleur rouge, peu importe son positionnement. Par contre, si vous avez deux !important (pas recommandé), le dernier !important prend le dessus.

Certains sélecteurs, comme des #id, ne sont pas affectés par les !important, car ils sont plus spécifiques et ont de la priorité plus grande.

Essayez d'utiliser !important le moins possible et priorisez la bonne structure de votre CSS lorsque possible.

Importations d'autres stylesheets

Les inline styles, les spans

C'est important de comprendre: les inline style prennent le dessus sur les CSS "externes"

Le HTML:

Affiche

Je suis un texte plate sauf pour cette partie-ci! et la je suis plate encore :-(

 

Les flexbox

Comment aligner vos éléments sur la même ligne? Comment handle les changements de fenêtre?

Flexbox simple:

HTML:

CSS:

(Notez que je rajoute du padding et margin pour donner de l'espace entre les divs enfants et parent)

Ce qui fait:

Changer l'ordre de nos elements:

Avec le même exemple, l'on peut rajouter les attributs order: 1, order: 2, etc à un élément spécifique (par exemple, à travers un id qui va sélectionner un élément précis), ce qui permet de changer l'ordre dans lequel les éléments viennent de gauche à droite (si le flex est horizontal, ce qui est le cas par défaut) ou du haut vers le bas (si le flex est vertical)

HTML:

CSS:

Ce qui change l'ordre des mots:

Indiquer la proportion à prendre

En reprennant l'exemple ci-dessus, on peut rajouter les attributs flex-grow: 1 et flex-grow: 2, qui vont donner des proportions de taille que les éléments enfants peuvent prendre dans l'espace qui leur est alloué par leur parent.

HTML

CSS:

Ce qui change la proportion (remarquez que l'attribut #deux est donné à l'élément qui contient le mot "un"):

 

Autres lectures: W3Schools sur le flexbox

(Particulièrement, je vous recommande la lecture sur comment faire un flexbox vertical et un flexbox responsive)