SEND all files + questionnaires + json + data_tests

This commit is contained in:
vincent_b
2025-11-19 12:12:03 +01:00
parent 71591b98f0
commit c78698f79a
197 changed files with 29115 additions and 0 deletions

View File

@@ -0,0 +1,76 @@
test {
color: orange;
}
#cibler_adjascent_avance {
min-height: 400px;
img {
height: 400px;
position: absolute;
}
.default_invisible {
opacity: 0;
visibility: hidden;
}
div#last_trigger {
/* transition: all 0.5s ease 2s; */
transition: none;
}
.go_button:hover ~ .default_invisible {
opacity: 1;
visibility: visible;
position: absolute;
/* right: 0; */
}
.go_button + div#content_trigger {
right: 500px;
z-index: 2;
}
/* 2 == #second_trigger */
.go_button + div + div#second_trigger {
right: 300px;
z-index: 3;
}
/* 3 == #last_trigger */
.go_button:hover + div + div + div#last_trigger {
right: 730px;
margin-right: 350px;
transition: margin 1s ease 0s,
opacity 0s ease 0.1s;
}
.go_button:hover + div + div + div#last_trigger img {
border: 3px solid red;
}
.go_button:hover + div + div + div#last_trigger > span > img[src*="_alt"] {
outline: 4px solid yellow;
}
.go_button:hover + div + div + div#last_trigger img[src*="_alt"],
.go_button:hover + div + div + div#last_trigger > span > img {
position: absolute;
margin-left: -540px;
transform: rotateY(180deg);
}
.go_button + div + div + div#last_trigger
+ #trigger_oublie {
left: 500px;
bottom: 0;
opacity: 1;
visibility: visible;
position: absolute;
img {
position: relative;
z-index: -3;
outline: 3px solid yellow;
height: 300px;
}
}
}

View File

@@ -0,0 +1,76 @@
test {
color: pink;
}
#cibler_adjascent_avance {
min-height: 400px;
img {
height: 400px;
position: absolute;
}
.default_invisible {
opacity: 0;
visibility: hidden;
}
div#last_trigger {
/* transition: all 0.5s ease 2s; */
transition: none;
}
.go_button:hover ~ .default_invisible {
opacity: 1;
visibility: visible;
position: absolute;
/* right: 0; */
}
.go_button + div#content_trigger {
right: 500px;
z-index: 2;
}
/* 2 == #second_trigger */
.go_button + div + div#second_trigger {
right: 300px;
z-index: 3;
}
/* 3 == #last_trigger */
.go_button:hover + div + div + div#last_trigger {
right: 730px;
margin-right: 350px;
transition: margin 1s ease 0s,
opacity 0s ease 0.1s;
}
.go_button:hover + div + div + div#last_trigger img {
border: 3px solid red;
}
.go_button:hover + div + div + div#last_trigger > span > img[src*="_alt"] {
outline: 4px solid yellow;
}
.go_button:hover + div + div + div#last_trigger img[src*="_alt"],
.go_button:hover + div + div + div#last_trigger > span > img {
position: absolute;
margin-left: -540px;
transform: rotateY(180deg);
}
.go_button + div + div + div#last_trigger
+ #trigger_oublie {
left: 500px;
bottom: 0;
opacity: 1;
visibility: visible;
position: absolute;
img {
position: relative;
z-index: -3;
outline: 3px solid yellow;
height: 300px;
}
}
}

View File

@@ -0,0 +1,77 @@
test {
color: red;
ddd
}
#cibler_adjascent_avance {
min-height: 400px;
img {
height: 400px;
position: absolute;
}
.default_invisible {
opacity: 0;
visibility: hidden;
}
div#last_trigger {
/* transition: all 0.5s ease 2s; */
transition: none;
}
.go_button:hover ~ .default_invisible {
opacity: 1;
visibility: visible;
position: absolute;
/* right: 0; */
}
.go_button + div#content_trigger {
right: 500px;
z-index: 2;
}
/* 2 == #second_trigger */
.go_button + div + div#second_trigger {
right: 300px;
z-index: 3;
}
/* 3 == #last_trigger */
.go_button:hover + div + div + div#last_trigger {
right: 730px;
margin-right: 350px;
transition: margin 1s ease 0s,
opacity 0s ease 0.1s;
}
.go_button:hover + div + div + div#last_trigger img {
border: 3px solid red;
}
.go_button:hover + div + div + div#last_trigger > span > img[src*="_alt"] {
outline: 4px solid yellow;
}
.go_button:hover + div + div + div#last_trigger img[src*="_alt"],
.go_button:hover + div + div + div#last_trigger > span > img {
position: absolute;
margin-left: -540px;
transform: rotateY(180deg);
}
.go_button + div + div + div#last_trigger
+ #trigger_oublie {
left: 500px;
bottom: 0;
opacity: 1;
visibility: visible;
position: absolute;
img {
position: relative;
z-index: -3;
outline: 3px solid yellow;
height: 300px;
}
}
}

View File

@@ -0,0 +1,76 @@
test {
color: red;
}
#cibler_adjascent_avance {
min-height: 400px;
img {
height: 400px;
position: absolute;
}ss
.default_invisible {
opacity: 0;
visibility: hidden;
}
div#last_trigger {
/* transition: all 0.5s ease 2s; */
transition: none;
}
.go_button:hover ~ .default_invisible {
opacity: 1;
visibility: visible;
position: absolute;
/* right: 0; */
}
.go_button + div#content_trigger {
right: 500px;
z-index: 2;
}
/* 2 == #second_trigger */
.go_button + div + div#second_trigger {
right: 300px;
z-index: 3;
}
/* 3 == #last_trigger */
.go_button:hover + div + div + div#last_trigger {
right: 730px;
margin-right: 350px;
transition: margin 1s ease 0s,
opacity 0s ease 0.1s;
}
.go_button:hover + div + div + div#last_trigger img {
border: 3px solid red;
}
.go_button:hover + div + div + div#last_trigger > span > img[src*="_alt"] {
outline: 4px solid yellow;
}
.go_button:hover + div + div + div#last_trigger img[src*="_alt"],
.go_button:hover + div + div + div#last_trigger > span > img {
position: absolute;
margin-left: -540px;
transform: rotateY(180deg);
}
.go_button + div + div + div#last_trigger
+ #trigger_oublie {
left: 500px;
bottom: 0;
opacity: 1;
visibility: visible;
position: absolute;
img {
position: relative;
z-index: -3;
outline: 3px solid yellow;
height: 300px;
}
}
}

View File

@@ -0,0 +1,11 @@
* {
color: redaaaa
}
p {
color: green
}
#alt_saison {
display: none;
}
#popoesie * { background: cyan; }
#popoesie *:hover { background: yellow; }

View File

@@ -0,0 +1,109 @@
test {
color: red;ss
}
#cibler_adjascent_avance {
min-height: 400px;
img {
height: 400px;
position: absolute;
z-index: 2;
}
.go_button ~ .default_invisible {
opacity: 0;
visibility: hidden;
img {
border: 4px solid pink;
}
}
div#last_trigger {
transition: none;
}
/* TOUT .default_invisible Au meme niveau (meme parent)
... que .go_button sera affecté (quand .go_button:hover) */
.go_button:hover ~ .default_invisible {
opacity: 1;
visibility: visible;
position: absolute;
img {
border: 4px solid blue;
}
}
.go_button + div#content_trigger {
right: 500px;
z-index: 2;
}
/* 2 == #second_trigger */
.go_button + div
+ div#second_trigger {
right: 300px;
z-index: 3;
}
/* 3 == #last_trigger */
.go_button:hover + div + div
+ div#last_trigger {
right: 730px;
margin-right: 350px;
transition: margin 1s ease 0s,
opacity 0s ease 0.1s;
}
.go_button ~ .default_invisible > .sub_child {
position: relative;
right: -300px !important;
opacity: 0;
transition: all 5s ease 0.1s;
}
.go_button:hover ~ .default_invisible > .sub_child {
visibility: visible;
right: 0 !important;
opacity: 1;
transition: all 1s ease 0.1s,
right 2s ease-out 0s;
z-index: 1;
}
.go_button:hover + div + div
+ div#last_trigger img {
outline: 3px solid red;
}
.go_button:hover + div + div
+ div#last_trigger > span > img[src*="_alt"] {
outline: 4px solid yellow;
}
img[alt="cat_3"] {
right: 50px;
}
.go_button:hover + div + div
+ div#last_trigger img[src*="_alt"],
.go_button:hover + div + div
+ div#last_trigger > span > img {
position: absolute;
transform: rotateY(180deg);
}
.go_button + div + div
+ div#last_trigger
+ #trigger_oublie {
left: 500px;
bottom: 0;
opacity: 1;
visibility: visible;
position: absolute;
img {
position: relative;
z-index: 0;
outline: 3px solid yellow;
height: 300px;
}
}
}

View File

@@ -0,0 +1,37 @@
<div id="cibler_adjascent_avance">
<div class="go_button">
Goss
</div>
<div id="content_trigger" class="default_invisible">
<img
src="./img/cibler_adjascent_avance.jpg"
alt="cat_1" />
</div>
<div id="second_trigger" class="default_invisible">
<img
src="./img/cibler_adjascent_avance_second.png"
alt="cat_2" />
</div>
<div id="last_trigger" class="default_invisible">
<img
src="./img/cibler_adjascent_avance_last.jpg"
alt="cat_3" />
<span class="sub_child default_invisible">
<img
src="./img/cibler_adjascent_avance_last_alt.jpg"
alt="cat_4" />
</span>
</div>
<div id="trigger_oublie" class="default_invisible">
<img
src="./img/cibler_adjascent_avance_last_oublie.jpg"
alt="cat_5" />
</div>
</div>

View File

@@ -0,0 +1,30 @@
* {
color: blue
}
p {
color: green;
}
#alt_saison,
#popoesie u#soleils {
display: none;
}
/* cibler li + tout les éléments qui sont dedans*/
li.poem,
li.poem * {
color:#000;
}
/* cibler u et i */
li.poem u,
li.poem i {
color: rgb(15, 126, 82);
}
/* avec la condition :is on cible <u> ou <i> présent dans li.poem
... pratique, on fait une pierre deux coups ! */
li.poem *:is(u,i) {
color: rgb(81, 39, 247);
padding: 3px 8px 3px 5px;
border: 1px solid #000;
}
#popoesie * { background: cyan; }
#popoesie *:hover { background: yellow; }

View File

@@ -0,0 +1,70 @@
/* neasting, ce qui est à l'intérieur (plus bas)...
cible l'élément s'il est présent dans #margin_please (enfant) */
#padding_project {
div {
border: 5px solid red;
border-width: 6px 1px 6px 1px;
border-color: red orange green blue;
margin: 10px 0px; /* top et bottom == 10px ; left et right == 0px ; */
}
#padding_all { /* neasting */
padding: 10px; /* affecte #padding_all */
border: 2px dashed blue;
/* grâce au neasting, je n'ai pas à présiser que le parent est #padding_all */
/* div#padding_all div { */
/* ici toute div enfant de #padding_all est ciblée / affectée */
div {
margin: 60px 0px; /* top et bottom == 60px ; left et right == 0px ; */
}
div#sub_wrapper {
padding: 10px;
border-color: yellow;
border-width: 10px;
}
.inline {
border-color: #000;
border-width: 1px 6px;
display: inline-block;
}
/* ici :not permet de ne pas affecter certaines div avec la class .no_margin */
div:not(.no_margin) {
margin: 30px 40px; /* top et bottom == 30px ; left et right == 40px ; */
}
/* cela évite d'avoir à écrire une nouvelle instruction spécifique, affectant .no_margin */
/* .no_margin {
margin:0
} */
}
#padding_left {
padding-left: 30px;
}
#padding_top {
padding-top: 30px;
width: 50%;
text-align: center;
}
#padding_right {
padding-right: 30px;
}
.laterales { /* blocs au début et fin, meme classe */
width: 20%;
}
.boxfix {
box-sizing: border-box;
}
.label {
width: 100%;
display: inline-block;
background: #FFF;
}
.padding_color {
background-color: #e3dcff ;
}
}

View File

@@ -0,0 +1,61 @@
li:is(.active, .superactive, .neversleep) {
background-color: red;
}
li.active [data-etat="busy"] {
background-color: orange;
}
li:not(.active) {
background-color: cyan;
}
/* tout élément présent dan li...
... qui possède l'ttribut "data-etat" */
li [data-etat] {
width: 100%;
display: inline-block;
}
li {
font-style: italic;
/* grâce au neasting... */
/* ... les spans contenues dans .state sont ciblées ainsi :
... sans neasting on autait écrit :
... li.state
*/
.state {
border-left: 15px solid pink;
/* & indique indique qu'on cible l'élément avec une class "state"
.... et (+) un attribut (ou autre propriété tel .exemple)
Si li.state a un attribut "data-etat" =égal à= "sleeping" ...
... sans neasting on autait écrit :
... li.state[data-etat="sleeping"]
*/
&.exemple, /* , affect si a la class OU l'attribut... */
&[data-etat="sleeping"],
&:is([data-etat="sleeping"],[data-etat="sleep"])
/* ... cumul de conditions pouvant être remplies
pour que cette instruction CSS soit remplie */
{
opacity: 0.4;
}
}
}
/* si une li "possède/contient" == :has(x_condition) */
/* alors li en question (parent.e) est affectée/ciblée*/
/* ... ici, si li contient un element enfant...
...... dont l'attribut est data-etat="sleeping"
........ elle a un autre background */
li:has([data-etat="sleeping"]) {
opacity: 1s;
background: #8080805e;
text-decoration: line-through;
}
li:last-of-type {
border-bottom: 3px solid blue;
}
li:nth-child(3) {
border: 5px solid pink;
}
/* https://css-tricks.com/examples/nth-child-tester/ */

View File

@@ -0,0 +1,5 @@
/* Modifier le CSS */
p {
color: blue;
margin: 0;
}

View File

@@ -0,0 +1,5 @@
/* Modifier le CSS */
p {
color: blue;
margin: 0;
}

View File

@@ -0,0 +1,49 @@
/* Ici on peut attitrer des valeurs à des variables */
/* on peut utiliser ces variables plusieures fois dans le CSS */
/* Ici on va assigner cette variable à tous les éléments */
/* normalement on utilise plutôt :root */
* {
--element_width: 200px !important;
}
#mousehover_movemargin_element {
width: var(--element_width);
height: 200px;
padding: 20px;
text-align: center;
display: block;
background: red;
color: #FFF;
}
#mousehover_movemargin:hover #mousehover_movemargin_element {
background:yellow;
color: #000;
/*
calc permet de calculer
(adition +, soustraction -, multiplication *, ....
Ici on veut que la marge à gauche soit de :
100%
-130px
-70px ( == 200px )
( la largeur "width" de #mousehover_movemargin_element )
*/
margin-left: calc(100% - 130px - 70px);
/* On peut faire plus simple en utiisant la variable */
/* Ainsi, si on la modifie, dans * ...
... la largeur de #mousehover_movemargin_element
... ainsi que la marge-left ici...
..... vont être affectées
Si je veux changer la lageure+margin-left ici
... je n'ai plus qu'à changer --element_width dans * !!!
*/
margin-left: dcalc(100% - var(--element_width)); /* 100% - 200px */
/* https://developer.mozilla.org/fr/docs/Web/CSS/Reference/Properties/transition*/
/* all pour affecter toutes les propriétés CSS */
/* transition: all 1s; */
transition:
margin-left 5s ease-in-out 0s,
color 2s ease-in-out 0s;
cursor: pointer;
}

View File

@@ -0,0 +1,5 @@
/* Modifier le CSS */
p {
color: blue;
margin: 0;
}

View File

@@ -0,0 +1,4 @@
<!-- Modifier l'HTML -->
<p>
Modifier le text ici
</p>

View File

@@ -0,0 +1,7 @@
#wrap_p_easy p {
text-decoration: underline;
font-size: 20px;
margin: 0;
color: red;
line-height: 1.9em;
}

View File

@@ -0,0 +1,6 @@
/* Modifier le CSS */
p {
color: blue;
margin: 0;
}

View File

@@ -0,0 +1,3 @@
<!-- Modifier l'HTML -->
<p>
Modifier le coucou</p>

View File

@@ -0,0 +1,49 @@
/* Ici on peut attitrer des valeurs à des variables */
/* on peut utiliser ces variables plusieures fois dans le CSS */
/* Ici on va assigner cette variable à tous les éléments */
/* normalement on utilise plutôt :root */
* {
--element_width: 300px!important;
}
#mousehover_movemargin_element {
width: var(--element_width);
height: 200px;
padding: 20px;
text-align: center;
display: block;
background: red;
color: #FFF;
}
#mousehover_movemargin:hover #mousehover_movemargin_element {
background :blue;
color: #000;
/*
calc permet de calculer
(adition +, soustraction -, multiplication *, ....
Ici on veut que la marge à gauche soit de :
100%
-130px
-70px ( == 200px )
( la largeur "width" de #mousehover_movemargin_element )
*/
margin-left: calc(100% - 130px - 70px);
/* On peut faire plus simple en utiisant la variable */
/* Ainsi, si on la modifie, dans * ...
... la largeur de #mousehover_movemargin_element
... ainsi que la marge-left ici...
..... vont être affectées
Si je veux changer la lageure+margin-left ici
... je n'ai plus qu'à changer --element_width dans * !!!
*/
margin-left: calc(100% - var(--element_width)); /* 100% - 200px */
/* https://developer.mozilla.org/fr/docs/Web/CSS/Reference/Properties/transition*/
/* all pour affecter toutes les propriétés CSS */
/* transition: all 1s; */
transition:
margin-left 3s ease-in-out 0s,
color 1s ease-in-out 0s;
cursor: pointer;
}

View File

@@ -0,0 +1,38 @@
* {
color: blue;
}
p {
color: blue;
}
a ,
.poem.last span {
display: none;
}
#alt_saison,
#popoesie u#soleils {
display: inline;
}
#saisons span:not(#alt_saison){
display: none;
}
/* cibler li + tout les éléments qui sont dedans*/
li.poem,
li.poem * {
color:#000;
}
/* cibler u et i */
li.poem u,
li.poem i {
color: blue;
}
/* avec la condition :is on cible <u> ou <i> présent dans li.poem
... pratique, on fait une pierre deux coups ! */
li.poem *:is(u,i) {
color: rgb(81, 39, 247);
padding: 0px 0px 0px 0px;
border: 1px solid #000;
}
#popoesie * { background: cyan; }
#popoesie *:hover { background: green; }

View File

@@ -0,0 +1,90 @@
/* neasting, ce qui est à l'intérieur (plus bas)...
cible l'élément s'il est présent dans #margin_please (enfant) */
#padding_project {
div {
border: 3px solid red;
border-width: 6px 1px 6px 1px;
border-color: red orange green blue;
margin: 10px 0px; /* top et bottom == 10px ; left et right == 0px ; */
}
#padding_top {
padding: 30px;
width :400px;
tex-align:center;
}
#padding_left {
padding:10px;
width :400p;
tex-align:center;
}
#padding_right {
padding:10px;
width :400px;
tex-align:center;
}
#padding_bottom {
padding:20px;
width :400px;
tex-align:center;
}
#padding_all { /* neasting */
padding: 10px; /* affecte #padding_all */
border: 2px dashed blue;
/* grâce au neasting, je n'ai pas à présiser que le parent est #padding_all */
/* div#padding_all div { */
/* ici toute div enfant de #padding_all est ciblée / affectée */
div {
margin: 60px 0px; /* top et bottom == 60px ; left et right == 0px ; */
}
div#sub_wrapper {
padding: 10px;
border-color: yellow;
border-width: 10px;
}
.inline {
border-color: #000;
border-width: 1px 6px;
display: inline-block;
}
/* ici :not permet de ne pas affecter certaines div avec la class .no_margin */
div:not(.no_margin) {
margin: 30px 40px; /* top et bottom == 30px ; left et right == 40px ; */
}
/* cela évite d'avoir à écrire une nouvelle instruction spécifique, affectant .no_margin */
/* .no_margin {
margin:0
} */
}
#padding_left {
padding-left: 30px;
}
#padding_top {
padding-top: 30px;
width: 50%;
text-align: center;
}
#padding_right {
padding-right: 30px;
}
.laterales { /* blocs au début et fin, meme classe */
width: 20%;
}
.boxfix {
box-sizing: border-box;
}
.label {
width: 100%;
display: inline-block;
background: #FFF;
}
.padding_color {
background-color: #e3dcff ;
}
}

View File

@@ -0,0 +1,16 @@
p {
text-decoration: underline;
color:blue;
font-size:18px;
margin:0;
}
span{
background:green;
}
#wrap_p_easy p span span {
}
.last_p.important {
font-style: italic;
}

View File

@@ -0,0 +1,6 @@
span span {
COLOR;
}
p .important {
color: red;
}

View File

@@ -0,0 +1,41 @@
* {
color: red
}
p {
color: green;
}
#saisons span:first-of-type,
a,
.poem.last span {
display: none;
}
:is(p,u,li){
padding: 0px 0px 0px 0px;
margin: 0px 0px 0px 0px;
}
/* cibler li + tout les éléments qui sont dedans*/
li.poem,
li.poem * {
color:#000;
}
/* cibler u et i */
li.poem u,
li.poem i {
color: rgb(15, 126, 82);
}
/* avec la condition :is on cible <u> ou <i> présent dans li.poem
... pratique, on fait une pierre deux coups ! */
li.poem *:is(u,i) {
color: green;
padding: 3px 8px 3px 5px;
border: 1px solid #000;
}
#popoesie * { background: cyan; }
#popoesie *:hover { background: yellow; }

View File

@@ -0,0 +1,73 @@
/* neasting, ce qui est à l'intérieur (plus bas)...
cible l'élément s'il est présent dans #margin_please (enfant) */
#padding_project {
div {
border: 3px solid red;
border-width: 6px 1px 6px 1px;
border-color: red orange green blue;
margin: 10px 0px; /* top et bottom == 10px ; left et right == 0px ; */
}
#padding_all { /* neasting */
padding: 10px; /* affecte #padding_all */
border: 2px dashed blue;
/* grâce au neasting, je n'ai pas à présiser que le parent est #padding_all */
/* div#padding_all div { */
/* ici toute div enfant de #padding_all est ciblée / affectée */
div {
margin: 60px 0px; /* top et bottom == 60px ; left et right == 0px ; */
}
div#sub_wrapper {
padding: 10px;
border-color: yellow;
border-width: 10px;
}
.inline {
border-color: #000;
border-width: 1px 6px;
display: inline-block;
}
/* ici :not permet de ne pas affecter certaines div avec la class .no_margin */
div:not(.no_margin) {
margin: 30px 40px; /* top et bottom == 30px ; left et right == 40px ; */
}
/* cela évite d'avoir à écrire une nouvelle instruction spécifique, affectant .no_margin */
/* .no_margin {
margin:0
} */
}
#padding_left {
padding-left: 10px;
}
#padding_top {
padding-top: 30px;
width: 50%;
text-align: center;
}
#padding_right {
padding-right:10px;
}
#padding_bottom {
padding-bottom: 20px;
}
.laterales { /* blocs au début et fin, meme classe */
width: 20%;
}
.boxfix {
box-sizing: border-box;
}
.label {
width: 100%;
display: inline-block;
background: #FFF;
}
.padding_color {
background-color: #e3dcff ;
}
}

View File

@@ -0,0 +1,19 @@
/* Modifier le CSS ici */
#wrap_p_easy span span {
color: red;
Font-size: 13;
Font-style: italic;
text-decoration: underline;
text-decoration-style: dotted;
}
.last_p.important {
color: blue;
font-style: oblique;
}

View File

@@ -0,0 +1,5 @@
/* Modifier le CSS */
p {
color: blue;
margin: 0;
}

View File

@@ -0,0 +1,49 @@
/* Ici on peut attitrer des valeurs à des variables */
/* on peut utiliser ces variables plusieures fois dans le CSS */
/* Ici on va assigner cette variable à tous les éléments */
/* normalement on utilise plutôt :root */
* {
--element_width: 200px !important;
}
#mousehover_movemargin_element {
width: var(--element_width);
height: 200px;
padding: 20px;
text-align: center;
display: block;
background: red;
color: #FFF;
}
#mousehover_movemargin:hover #mousehover_movemargin_element {
background:yellow;
color: #000;
/*
calc permet de calculer
(adition +, soustraction -, multiplication *, ....
Ici on veut que la marge à gauche soit de :
100%
-130px
-70px ( == 200px )
( la largeur "width" de #mousehover_movemargin_element )
*/
margin-left: calc(100% - 130px - 70px);
/* On peut faire plus simple en utiisant la variable */
/* Ainsi, si on la modifie, dans * ...
... la largeur de #mousehover_movemargin_element
... ainsi que la marge-left ici...
..... vont être affectées
Si je veux changer la lageure+margin-left ici
... je n'ai plus qu'à changer --element_width dans * !!!
*/
margin-left: calc(100% - var(--element_width)); /* 100% - 200px */
/* https://developer.mozilla.org/fr/docs/Web/CSS/Reference/Properties/transition*/
/* all pour affecter toutes les propriétés CSS */
/* transition: all 1s; */
transition:
margin-left 5s ease-in-out 0s,
color 2s ease-in-out 0s;
cursor: pointer;
}

View File

@@ -0,0 +1,30 @@
* {
color: red
}
p {ddd
color: green;
}
#alt_saison,
#popoesie u#soleils {
display: none;
}
/* cibler li + tout les éléments qui sont dedans*/
li.poem,
li.poem * {
color:#000;
}
/* cibler u et i */
li.poem u,
li.poem i {
color: rgb(15, 126, 82);
}
/* avec la condition :is on cible <u> ou <i> présent dans li.poem
... pratique, on fait une pierre deux coups ! */
li.poem *:is(u,i) {
color: rgb(81, 39, 247);
padding: 3px 8px 3px 5px;
border: 1px solid #000;
}
#popoesie * { background: cyan; }
#popoesie *:hover { background: yellow; }

View File

@@ -0,0 +1,70 @@
/* neastzzzzing, ce qui est à l'intérieur (plus bas)...
cible l'élément s'il est présent dans #margin_please (eddnfant) */
#padding_project {
div {
border: 3px solid red;
border-width: 6px 1px 6px 1px;
border-color: red orange green blue;
margin: 10px 0px; /* top et bottom == 10px ; left et right == 0px ; */
}
#padding_all { /* neasting */dd
padding: 10px; /* affecte #padding_all */
border: 2px dashed blue;
/* grâce au neasting, je n'ai pas à présiser que le parent est #padding_all */
/* div#padding_all div { */
/* ici toute div enfant de #padding_all est ciblée / affectée */
div {
margin: 60px 0px; /* top et bottom == 60px ; left et right == 0px ; */
}
div#sub_wrapper {
padding: 10px;
border-color: yellow;
border-width: 10px;
}
.inline {
border-color: #000;
border-width: 1px 6px;
display: inline-block;
}
/* ici :not permet de ne pas affecter certaines div avec la class .no_margin */
div:not(.no_margin) {
margin: 30px 40px; /* top et bottom == 30px ; left et right == 40px ; */
}
/* cela évite d'avoir à écrire une nouvelle instruction spécifique, affectant .no_margin */
/* .no_margin {
margin:0
} */
}
#padding_left {
padding-left: 30px;
}
#padding_top {
padding-top: 30px;
width: 50%;
text-align: center;
}
#padding_right {
padding-right: 30px;
}
.laterales { /* blocs au début et fin, meme classe */
width: 20%;
}
.boxfix {
box-sizing: border-box;
}
.label {
width: 100%;
display: inline-block;
background: #FFF;
}
.padding_color {
background-color: #e3dcff ;
}
}

View File

@@ -0,0 +1,61 @@
li:is(.active, .superactive, .neversleep) {
background-color: red;
}zzz
li.active [data-etat="busy"] {
background-color: orange;
}
li:not(.active) {
background-color: cyan;
}
/* tout élément présent dan li...
... qui possède l'ttribut "data-etat" */
li [data-etat] {
width: 100%;
display: inline-block;
}
li {
font-style: italic;
/* grâce au neasting... */
/* ... les spans contenues dans .state sont ciblées ainsi :
... sans neasting on autait écrit :
... li.state
*/
.state {
border-left: 15px solid pink;
/* & indique indique qu'on cible l'élément avec une class "state"
.... et (+) un attribut (ou autre propriété tel .exemple)
Si li.state a un attribut "data-etat" =égal à= "sleeping" ...
... sans neasting on autait écrit :
... li.state[data-etat="sleeping"]
*/
&.exemple, /* , affect si a la class OU l'attribut... */
&[data-etat="sleeping"],
&:is([data-etat="sleeping"],[data-etat="sleep"])
/* ... cumul de conditions pouvant être remplies
pour que cette instruction CSS soit remplie */
{
opacity: 0.4;
}
}
}
/* si une li "possède/contient" == :has(x_condition) */
/* alors li en question (parent.e) est affectée/ciblée*/
/* ... ici, si li contient un element enfant...
...... dont l'attribut est data-etat="sleeping"
........ elle a un autre background */
li:has([data-etat="sleeping"]) {
opacity: 1;
background: #8080805e;
text-decoration: line-through;
}
li:last-of-type {
border-bottom: 3px solid blue;
}
li:nth-child(3) {
border: 5px solid pink;
}
/* https://css-tricks.com/examples/nth-child-tester/ */

View File

@@ -0,0 +1 @@
/* Modifier le CSS ici */

View File

@@ -0,0 +1,5 @@
/* Modifier le CSS */
p {ee
color: red;
margin: 0;
}