Pages

before/after

 /* On ajoute un coeur avant les liens */

a::before {
  content: "♥";
}

 lien

DM

 


QCM


La répons est NON !

Pour vous en convaincre tapez

.flex-conteneur {
display:flex
;} .flex-conteneur *{ flex:auto; } #it1:before {content: attr(data-blabla);} #it2:before {content: attr(data-blabla);}



La largueur dépend du contenu.

semaine 12+13

 

Programme

Cours


MyBootstrap


TD

codage de MyBootstrap


QCM

Mercredi 14 8H30


DM

L'idée est de proposer 
Etude de cas : myVidéo
En Action : howTO



Pour aller plus loin : 

HELP

 


A) Donner le résultat du code Simulateur

.conteneur { display:flex; flex-wrap:wrap; } .conteneur> *{ flex:0 0 25%}

#it1 { border:1px solid; }

Avez vous compris pourquoi nous n'avons pas 4 blocs en ligne (4*25%+2px > 100%) !

Help : box-sizing

B)  Nous avons vu en cours en inspectant le menu de bootstrap qu'il y a du flex dans du flex dans du flex ... 

Dans le test : http://dupontl1.blogspot.com/2021/04/quizz-flex.html

La dernière question est surprenante !






Relisez comment centrer les blocs 

https://docs.google.com/document/d/1sDsYJA5do3jRYDyGDD_mSSjqjTg3Zx__mzhkYeIEzeY/edit?usp=sharing

Code https://github.com/mdn/css-examples/tree/master/flexbox/use-cases allez dans center.html

Bilan : 

La solution n'est pas ! 

.flex-conteneur { display: flex; align-items: center; justify-content: center; }

👍 Flex dans du Flex ...

Il faut centrer le texte  à l'intérieur du bloc 1 et 2.

Ecrirez pour simuler le bloc rouge #it1 carré :

#it1 { height: 200px; width: 200px !important; }

Et considérez maintenant que le bloc #it1 est un bloc conteneur de son texte. Autrement dit, appliquez lui les règles que l'on a appliquées précédemment au bloc .flex-conteneur (you got it !).



Les deux plaies de flex !

 Dans le simulateur http://dupontcss.blogspot.com/p/test-grill.html écrire le CSS

.conteneur { display:flex; flex-wrap:wrap; } .conteneur> *{ flex:0 0 33.333333%}

👍Jusque là tout va bien ! Les trois blocs se partagent les 100% de largeur avec chacun une taille de 33.3333%. 


 La galère des bordures 

Ajouter une bordure de 1px à un des blocs. La largeur va donc passer à 33.3333%+2px.

#it1 { border:1px solid; }

👎 l'ajout de la bordure a une conséquence évidente. 

Il est hors de question de diminuer la largeur des blocs à 30% pour corriger ce débordement.

La solution consiste à écrire la règle box-sizing: border-box;

.conteneur> *{ 👍 box-sizing: border-box; flex:0 0 33.333333%}

La bordure fait maintenant partie de la boite et ne s'ajoute pas aux 33.3333%.


Autre galère la Marge !

Nous voulons simplement espacer nos blocs. Pour cela nous ajoutons une marge.


.conteneur> *{ box-sizing: border-box; margin-left:10px; flex:0 0 33.333333%}



👎Si on ajoute une marge pour espacer les boîtes il y a augmentation de la largeur.

Le problème de la marge est plus délicat. C'est un problème devenu classique et traité dans la littérature. La solution consiste à intégrer une gouttière.

Les gouttières


X-gap !


Tester ces solutions avec des %


Correction ++

Chalenge

 Cloner https://github.com/dupontdenis/teamFlex


Votre équipe de foot a un comportement intéressant en redimensionnant le média.



Adapter votre CSS (on ne touche pas au HTML)  pour prendre en compte l'arrivée de SUPERDUPONT dans le fichier superDUPONT.html




Sujet du DS


le sujet de la première question :

 

QCM flex

 

Quizz : flex

 Donner le code CSS à écrire dans le simulateur (donner en dessous) pour obtenir les figures suivantes.


Par exemple pour la figure suivante :
on pourrait écrire :
.flex-conteneur { display :flex; padding : 10px 0; } .flex-conteneur *{ flex : 100%; }


Figure1
Figure 2




Figure 3

















Figure 4 : les numéro sont centrés dans leur conteneurs (help)




Utiliser le simulateur ! 





1
2

Programme : Semaine 10

 semaine 10

Cours


Cours FLEX : après le placement vient le temps de la flexibilité

QCM à 8H30

TD/ DM

TD flex

QCM

8H30 sur e-campus

QCM

Pour révision du QCM du 31

La question suivante est inspirée des exemples de Mozilla.

breadcrumb-navigation

Pour télécharger ces exemples : vidéo 


 @Sans modifier le HTML : 

<ul>
<li><a href="">Home</a></li>
<li><a href="">Category</a></li>
<li><a href="">Sub-Category</a></li>
<li><span aria-current="page">Product</span></li>
</ul>

Donner le CSS pour afficher le résultat 



Pour comprendre la différence entre inline et inline-block, je vous propose d'écrire : 
li {
  display:inline;
  border:1px solid;
  width:200px;
}

et ensuite
li {
  display:inline-block;
  border:1px solid;
  width:200px;
}

Nous verrons l'intérêt de donner, comme sur l'exemple de Mozilla, au conteneur ul la propriété display:flex.


@Qui sélectionne le dernier p


  1. .Y.Z
  2. p ~ p + p ~ p
  3. p.YZ
  4. p
  5. #last.Z
  6. div ~ article :nth-of-type(4)
  7. article > p#last\.Z
  8. p.last-child
Bonnes réponses : 
1. sélectionne les balises de classe Y et Z donc le dernier p 
2. le dernier p a un précédent p qui a un précédent immédiat p qui a un précédent p
6. le dernier p est en 4 position dans un article qui a un div comme précédent.
7. recherche du dernier p par son identifiant last.Z (attention au .)

Pour
3. il faudrait que la classe du dernier p soit class="YZ"
5) cela sélectionnerait un id de nom #last avec la classe Z, la bonne écriture est #last\.Z. Il faut éviter des noms d’identifiant avec un point, sinon, il faut les echapper par l'utilisation de \.
8) la bonne réponse serait p:last-child et non p de classe last-child.


 @<li>Item 1</li>

    <li data-code="codeA">Item 2</li>

    <li data-code="codeA codeB">Item 3</li>

    <li data-code="codeAB">Item 4</li> 


Quel sélecteur d'attribut permet de sélectionner les items possédant l'attribut data-code="codeA" ( à savoir les Item = 2 et 3)


La réponse est [data-code~="codeA"]

si vous mettez [data-code*="codeA"], nous aurions également item4.
li[data-code="codeA"] ne sélectionne que Item2.


Entrainement :Auto-revision

Semaine 9


Cours

Cours

l'outil indispensable : l'inspecteur à la découverte de FLEX

Cours FLEX


TD

Passage à la version V3 : bureau

QCM

8H30 sur e-campus


Révision : test

GitHub

 


🆒How to : Après avoir cloné https://github.com/mdn/css-examples.git .

🔩Lancez le server sur /learn/selectors/attribute.html. 

Vous testerez, par exemple, votre compréhension des sélecteurs d'attribut. 

Correction : menu déroulant

Correction

Voici un exemple de code pour le projet : menu déroulant.

💥Travail personnel


Modifier le CSS pour afficher des menus doublement imbriqués puis modifiez le CSS.




https://codepen.io/dupontcodepen/pen/oNYGGWB


DM : Github

 Voici une correction du DM :gitHub & Co

Semaine 8 : les sélecteurs

 Voici un td sur les sélecteurs TD

Test

Voici un test de base sur les sélecteurs : durée 5'.

 

fichier entrainement

Fichier Test


Entraînez vous ( ici )

Quizz sélecteurs

first-chid : how to

 En cours, j'ai insisté sur le fait que les sélecteurs doivent répondre à une problématique précise.

Nous allons découvrir l'intérêt de disposer du sélecteur first-child

L'utilisation des speudo-classes first est particulièrement efficace dans la construction de menu. Elle permet de distinguer le premier élément de la liste et de lui affecter un style particulier.

La figure ci-dessus montre le résultat de l'application d'un bord arrondi au premier <a> de la liste du menu.


nav li:first-child a {
    border-bottom-left-radius10px;
    border-bottom-right-radius0;
    border-top-left-radius10px;
    border-top-right-radius0;
}



Semaine 7

  

Cours

CSS : sélecteurs

TD

Le TD porte sur le positionnement des blocs :  menu


Un point sur le TD menu : 

Nous avons mis l'accent la semaine dernière sur les prérequis indispensables au projet.

HTML

Création d'une liste dans une liste (nested list)

CSS : visibilité

La propriété display et en particulier la propriété display-box 

CSS  : positionnement

Les éléments positionnés de façon absolue ou relative (disparition/apparition)

CSS : apparence

La pseudo classe :hover


Nous devons être capable d'analyser la problématique et de déterminer les techniques utiles au projet.


Nous devrions être capable d'implémenter le code HTML et CSS.



Création de la liste dans la liste



Déplacement de la liste interne (ul ul) en position relative !


Déplacement de la liste interne en position absolue


Effet 1 : Disparition


Effet 2 : Apparition





Centrer avec position absolue

 

See the Pen centrer by dupont (@dupontcodepen) on CodePen.

Autre exemple d’utilisation de position absolue : https://codepen.io/dupontcodepen/pen/VwmMXEg