add sort & view for species

This commit is contained in:
Julie Blanc 2026-02-15 23:14:52 +01:00
parent 718ca47696
commit 6fff7422e8
26 changed files with 1448 additions and 432 deletions

View file

@ -5,7 +5,7 @@
--fs-small: 14px;
--fs-normal: 16px;
--fs-medium: 22px;
--fs-title-page: 38px;
--fs-title-page: 42px;
--spacing: 20px;
font-size: 14px;
--unit: 24px;
@ -14,7 +14,7 @@
--radius-small: 3px;
--radius-btn: 6px;
--radius-img: 6px;
--header-h: 60px;
--header-h: 80px;
--header-z: 9000;
--white: white;
--color-bg: white;
@ -33,40 +33,45 @@
--color-orange-medium: #f3a066;
--color-orange-light: #f3e7e0;
--color-green: #007953;
--color-green-medium: #a1ccbe;
--color-green-medium: #42af8c;
--color-green-light: #d5ebe4;
--color-green-x-light: #eef7f4;
--color-green-black: #016042;
--color-txt: rgb(41, 41, 41);
--color-txt-light: #a5a9a9;
--color-light: #DCDDDD;
--color-x-light: #eaebeb;
--color-xx-light: #f4f4f4;
--color: var(--color-green);
--color-medium: var(--color-green-medium);
--color-light: var(--color-green-light);
--max-width-content: 740px;
--max-width-container: 860px;
--top-target: calc(var(--spacing)*5);
}
[data-type=livrets] {
--color: var(--color-violet);
--color-medium: var(--color-violet-medium);
--color-light: var(--color-violet-light);
--data-color: var(--color-violet);
--data-color-medium: var(--color-violet-medium);
--data-color-light: var(--color-violet-light);
}
[data-type=base-connaissance] {
--color: var(--color-green);
--color-medium: var(--color-green-medium);
--color-light: var(--color-green-light);
--data-color: var(--color-green);
--data-color-medium: var(--color-green-medium);
--data-color-light: var(--color-green-light);
}
[data-type=animations] {
--color: var(--color-orange);
--color-medium: var(--color-orange-medium);
--color-light: var(--color-orange-light);
--data-color: var(--color-orange);
--data-color-medium: var(--color-orange-medium);
--data-color-light: var(--color-orange-light);
}
[data-type=methodologie] {
--color: var(--color-yellow);
--color-medium: var(--color-yellow-medium);
--color-light: var(--color-yellow-light);
--data-color: var(--color-yellow);
--data-color-medium: var(--color-yellow-medium);
--data-color-light: var(--color-yellow-light);
}
* {
@ -88,13 +93,6 @@ body {
print-color-adjust:exact !important; */
}
main:not(#main_home) {
min-height: calc(100vh - var(--header-h));
max-width: 900px;
margin-inline: auto;
/* padding: var(--padding-body); */
}
button {
background: none;
border: none;
@ -322,31 +320,70 @@ figure, picture, img {
height: 100%;
}
.see-more {
--hover-bg: var(--color-bg);
font-weight: 500;
color: var(--color-txt);
color: currentColor;
.btn-action {
border: 1px solid var(--color-txt-light);
height: calc(var(--unit) * 1.25);
background-color: var(--white);
border-radius: var(--radius-btn);
cursor: pointer;
}
.btn-action a {
display: flex;
align-items: center;
gap: 1ch;
text-decoration: none;
color: var(--color-txt);
padding: 0 1ch;
}
.see-more span {
display: none;
}
.see-more::after {
content: "→";
position: relative;
.btn-action .icon {
display: inline-block;
padding-left: 0.75ch;
left: 0;
width: 20px;
height: 20px;
}
.btn-action .icon svg {
width: 100%;
height: 100%;
}
.btn-action .text {
font-size: var(--fs-small);
font-weight: 500;
}
.btn-action:hover {
border-color: var(--color-txt);
}
label.btn-action {
display: inline-flex;
align-items: center;
gap: 1ch;
text-decoration: none;
color: var(--color-txt);
padding: 0 1ch;
}
label.btn-action .text {
font-weight: 700;
}
.link-with-arrow a {
text-decoration: none;
color: var(--color-txt);
font-size: var(--fs-small);
}
.link-with-arrow a::after {
content: "→";
font-family: var(--font-title);
font-size: 0.9em;
position: relative;
left: 1.5ch;
transition: left 0.4s ease-in-out;
-webkit-text-decoration: 1px underline transparent;
text-decoration: 1px underline transparent;
}
.see-more:hover {
text-decoration: underline;
.link-with-arrow:hover {
opacity: 0.8;
}
.see-more:hover::after {
left: 0.5ch;
-webkit-text-decoration: underline var(--hover-bg);
text-decoration: underline var(--hover-bg);
.link-with-arrow:hover a::after {
left: 2.5ch;
}
.slideshow {
@ -584,24 +621,209 @@ span.controls::after {
height: 70px;
}
.team {
display: flex;
flex-wrap: wrap;
gap: 2ch;
}
.team .member {
display: flex;
align-items: center;
gap: 2ch;
width: calc(50% - 2ch);
}
.team .member .name {
font-weight: bold;
}
.team .member .details {
font-size: var(--fs-normal);
margin-top: calc(var(--spacing) * 0.25);
}
.team .member img {
width: 60px;
width: 100px;
aspect-ratio: 1/1;
background-color: #cfcfcf;
border-radius: var(--radius-img);
float: left;
}
.sort {
display: flex;
justify-content: flex-start;
align-items: center;
gap: calc(var(--padding-inner) * 0.5);
}
.sort p {
font-weight: 500;
padding-right: 1ch;
}
.sort .is-selected {
background-color: var(--color-txt);
color: var(--white);
}
.sort .is-selected a {
color: var(--white);
}
.sort .is-selected svg {
fill: var(--white);
}
.group-sort-view {
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
margin-bottom: calc(var(--spacing) * 1.5);
}
input#view-edit,
input#view-grid,
input#view-list {
display: none;
}
.view-toggle {
display: flex;
justify-content: flex-end;
align-items: center;
gap: calc(var(--padding-inner) * 0.5);
}
.view-toggle p {
font-weight: 500;
padding-right: 1.5ch;
}
.view-toggle label .txt {
font-weight: 700 !important;
}
input#view-edit:checked ~ .group-sort-view .view-toggle label[for=view-edit],
input#view-list:checked ~ .group-sort-view .view-toggle label[for=view-list],
input#view-grid:checked ~ .group-sort-view .view-toggle label[for=view-grid],
input#view-edit:checked ~ .view-toggle label[for=view-edit],
input#view-list:checked ~ .view-toggle label[for=view-list],
input#view-grid:checked ~ .view-toggle label[for=view-grid] {
background-color: var(--color-txt);
color: var(--white);
}
input#view-edit:checked ~ .group-sort-view .view-toggle label[for=view-edit] svg,
input#view-list:checked ~ .group-sort-view .view-toggle label[for=view-list] svg,
input#view-grid:checked ~ .group-sort-view .view-toggle label[for=view-grid] svg,
input#view-edit:checked ~ .view-toggle label[for=view-edit] svg,
input#view-list:checked ~ .view-toggle label[for=view-list] svg,
input#view-grid:checked ~ .view-toggle label[for=view-grid] svg {
fill: var(--white);
}
.page-header {
margin-top: calc(var(--spacing) * 3);
margin-bottom: calc(var(--spacing) * 2);
color: var(--color-green);
background-color: var(--color-green-light);
padding: calc(var(--spacing) * 3) var(--padding-body);
}
.page-header .page-header__inner {
max-width: var(--max-width-container);
margin-inline: auto;
}
.page-header .page-title {
font-size: var(--fs-title-page);
font-family: var(--font-title);
margin-bottom: calc(var(--spacing) * 1);
}
.page-header .description {
font-size: var(--fs-medium);
line-height: 1.2;
margin: calc(var(--spacing) * 1) 0;
}
.page-header .details {
display: flex;
gap: calc(var(--padding-inner) * 5);
margin-top: calc(var(--spacing) * 3);
}
.page-header .details__item .nbr {
font-size: var(--fs-title-page);
font-family: var(--font-title);
}
.page-header .details__item .text {
font-size: var(--fs-medium);
font-weight: bold;
}
.page-header .details__item button {
margin-top: calc(var(--spacing) * 1);
}
.page-header .details__item button a {
color: var(--color-green);
}
.page-grid {
max-width: calc(var(--max-width-content) * 1.3 + var(--padding-inner) * 2 + var(--padding-body) * 2);
display: grid;
grid-template-columns: 1fr var(--max-width-content);
margin-inline: auto;
margin-top: calc(var(--spacing) * 5);
padding-inline: var(--padding-body);
}
.page-grid .page-nav {
align-self: start;
position: sticky;
top: var(--top-target);
}
.page-nav .toc {
list-style: none;
}
.page-nav .toc li {
font-size: var(--fs-normal);
line-height: 1.2;
font-weight: bold;
margin-bottom: calc(var(--spacing) * 1);
}
.page-nav .toc li a {
color: currentColor;
text-decoration: none;
}
.page-nav .toc li a:hover {
-webkit-text-decoration: 1px underline;
text-decoration: 1px underline;
text-underline-offset: 2px;
}
.page-content {
font-size: var(--fs-medium);
line-height: 1.4;
max-width: var(--max-width-content);
margin-inline: auto;
padding-inline: var(--padding-body);
margin-bottom: 30vh;
}
.page-content p {
margin: var(--spacing) 0;
}
.page-content ol, .page-content ul {
margin-left: calc(var(--spacing) * 2);
}
.page-content li {
margin: calc(var(--spacing) * 0.5) 0;
}
.page-content h3 {
font-size: 1.8em;
line-height: 1.1;
font-weight: bold;
color: var(--color-green);
padding-top: var(--top-target);
margin-bottom: calc(var(--spacing) * 1.5);
}
.page-content h4 {
font-size: 1.2em;
color: var(--color-green);
font-weight: bold;
margin-top: calc(var(--spacing) * 3.5);
margin-bottom: calc(var(--spacing) * 1.5);
}
.page-nav + .page-content > :first-child {
padding-top: 0px;
}
.page-nav + .page-content > :first-child:target {
padding-top: var(--top-target);
}
.item-nav {
@ -651,7 +873,7 @@ span.controls::after {
}
.home--section-tool {
background-color: var(--color);
background-color: var(--data-color);
}
.home--section-tool[data-type=base-connaissance], .home--section-tool[data-type=livrets] {
color: var(--white);
@ -738,8 +960,8 @@ span.controls::after {
font-size: 1rem;
min-width: 12ch;
text-align: center;
border: 1.5px solid var(--color);
color: var(--color);
border: 1.5px solid var(--data-color);
color: var(--data-color);
display: inline-flex;
align-items: center;
justify-content: center;
@ -749,19 +971,12 @@ span.controls::after {
cursor: pointer;
}
#home__hero .nav-hero li:hover {
background-color: var(--color-light);
background-color: var(--data-color-light);
}
#home__hero .nav-hero a {
text-decoration: none;
color: var(--color);
color: var(--data-color);
font-weight: bold;
/* &::after{
content: " ↓"
} */
}
#home__hero .see-more {
display: block;
padding-top: calc(var(--unit) * 1.5);
}
#home__a-propos p,
@ -868,12 +1083,10 @@ span.controls::after {
}
.species-list {
display: grid;
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: calc(var(--spacing) * 1);
gap: calc(var(--spacing) * 1.5);
margin-bottom: calc(var(--spacing) * 3);
}
.species-list .taxon {
@ -883,6 +1096,9 @@ span.controls::after {
.family {
margin-bottom: calc(var(--spacing) * 4);
}
.family:target {
padding-top: var(--top-target);
}
.family .family__header {
display: flex;
align-items: center;
@ -901,14 +1117,6 @@ span.controls::after {
font-weight: 500;
}
.species-list .taxon .btn-edit {
width: 20px;
height: 20px;
}
.species-list .taxon .btn-edit svg {
width: 100%;
height: 100%;
}
.species-list .taxon .chart-edit {
width: 40px;
height: 40px;
@ -918,13 +1126,13 @@ span.controls::after {
height: 100%;
}
.species-list .taxon .chart-edit svg circle {
fill: #cfcfcf;
fill: #efefef;
}
.species-list .taxon .chart-edit svg .filled {
fill: lightgreen;
fill: var(--color-orange-medium);
}
.species-list .taxon .chart-edit svg .verified {
fill: green;
fill: var(--color-green);
}
.species-list .taxon .chart-edit, .species-list .taxon .btn-edit {
display: none;
@ -934,16 +1142,13 @@ span.controls::after {
flex-direction: column;
position: relative;
background-color: var(--color-green-light);
padding: 20px;
padding: calc(var(--padding-inner) * 0.75);
}
.species-list .taxon .vernacular {
.species-list .taxon .name {
order: 1;
}
.species-list .taxon .latin {
order: 2;
}
.species-list .taxon figure {
order: 3;
order: 2;
}
.species-list .taxon figure {
width: 100%;
@ -967,6 +1172,8 @@ span.controls::after {
border-radius: var(--radius-small);
padding: 4px 1ch;
margin-bottom: calc(var(--spacing) * 0.25);
font-size: var(--fs-normal);
line-height: 1.1;
}
.species-list .taxon .vernacular a {
color: white;
@ -978,6 +1185,7 @@ span.controls::after {
font-style: italic;
margin-bottom: calc(var(--spacing) * 0.75);
color: var(--color-txt);
font-size: var(--fs-small);
}
.species-list .taxon .vernacular, .species-list .taxon .latin {
text-align: center;
@ -985,4 +1193,141 @@ span.controls::after {
.species-list .taxon:hover {
outline: 2px solid var(--color-green);
background-color: var(--color-green-medium);
}
#view-edit:checked ~ .family .species-list,
#view-edit:checked ~ .species-list,
#view-list:checked ~ .family .species-list,
#view-list:checked ~ .species-list {
display: block;
}
#view-edit:checked ~ .family .species-list .taxon,
#view-edit:checked ~ .species-list .taxon,
#view-list:checked ~ .family .species-list .taxon,
#view-list:checked ~ .species-list .taxon {
width: 100%;
display: flex;
flex-direction: row;
align-items: center;
background-color: transparent;
padding-inline: 0;
gap: calc(var(--padding-inner) * 1);
outline: none;
border-bottom: 1px solid var(--color-green-light);
padding-top: calc(var(--padding-inner) * 0.5);
padding-bottom: calc(var(--padding-inner) * 0.5);
}
#view-edit:checked ~ .family .species-list .taxon::before,
#view-edit:checked ~ .species-list .taxon::before,
#view-list:checked ~ .family .species-list .taxon::before,
#view-list:checked ~ .species-list .taxon::before {
content: "";
width: 100%;
border-top: 1px solid transparent;
position: absolute;
top: -1px;
}
#view-edit:checked ~ .family .species-list .taxon:first-of-type::before,
#view-edit:checked ~ .species-list .taxon:first-of-type::before,
#view-list:checked ~ .family .species-list .taxon:first-of-type::before,
#view-list:checked ~ .species-list .taxon:first-of-type::before {
border-color: var(--color-green-light);
}
#view-edit:checked ~ .family .species-list .taxon .chart-edit,
#view-edit:checked ~ .species-list .taxon .chart-edit,
#view-list:checked ~ .family .species-list .taxon .chart-edit,
#view-list:checked ~ .species-list .taxon .chart-edit {
display: block;
margin-right: var(--padding-inner);
}
#view-edit:checked ~ .family .species-list .taxon figure,
#view-edit:checked ~ .species-list .taxon figure,
#view-list:checked ~ .family .species-list .taxon figure,
#view-list:checked ~ .species-list .taxon figure {
order: 1;
}
#view-edit:checked ~ .family .species-list .taxon .name,
#view-edit:checked ~ .species-list .taxon .name,
#view-list:checked ~ .family .species-list .taxon .name,
#view-list:checked ~ .species-list .taxon .name {
order: 2;
}
#view-edit:checked ~ .family .species-list .taxon .chart-edit,
#view-edit:checked ~ .species-list .taxon .chart-edit,
#view-list:checked ~ .family .species-list .taxon .chart-edit,
#view-list:checked ~ .species-list .taxon .chart-edit {
order: 3;
}
#view-edit:checked ~ .family .species-list .taxon .btn-edit,
#view-edit:checked ~ .species-list .taxon .btn-edit,
#view-list:checked ~ .family .species-list .taxon .btn-edit,
#view-list:checked ~ .species-list .taxon .btn-edit {
order: 4;
}
#view-edit:checked ~ .family .species-list .taxon figure,
#view-edit:checked ~ .species-list .taxon figure,
#view-list:checked ~ .family .species-list .taxon figure,
#view-list:checked ~ .species-list .taxon figure {
width: 60px;
}
#view-edit:checked ~ .family .species-list .taxon .name,
#view-edit:checked ~ .species-list .taxon .name,
#view-list:checked ~ .family .species-list .taxon .name,
#view-list:checked ~ .species-list .taxon .name {
flex-grow: 1;
display: flex;
flex-direction: column;
justify-content: center;
}
#view-edit:checked ~ .family .species-list .taxon .name .vernacular, #view-edit:checked ~ .family .species-list .taxon .name .latin,
#view-edit:checked ~ .species-list .taxon .name .vernacular,
#view-edit:checked ~ .species-list .taxon .name .latin,
#view-list:checked ~ .family .species-list .taxon .name .vernacular,
#view-list:checked ~ .family .species-list .taxon .name .latin,
#view-list:checked ~ .species-list .taxon .name .vernacular,
#view-list:checked ~ .species-list .taxon .name .latin {
padding: 0;
margin: 0;
text-align: left;
}
#view-edit:checked ~ .family .species-list .taxon .name .vernacular,
#view-edit:checked ~ .species-list .taxon .name .vernacular,
#view-list:checked ~ .family .species-list .taxon .name .vernacular,
#view-list:checked ~ .species-list .taxon .name .vernacular {
background-color: transparent;
color: var(--color-green);
font-size: var(--fs-medium);
}
#view-edit:checked ~ .family .species-list .taxon .name .vernacular a,
#view-edit:checked ~ .species-list .taxon .name .vernacular a,
#view-list:checked ~ .family .species-list .taxon .name .vernacular a,
#view-list:checked ~ .species-list .taxon .name .vernacular a {
color: var(--color-green);
}
#view-edit:checked ~ .family .species-list .taxon .name .latin,
#view-edit:checked ~ .species-list .taxon .name .latin,
#view-list:checked ~ .family .species-list .taxon .name .latin,
#view-list:checked ~ .species-list .taxon .name .latin {
text-align: left;
padding-bottom: calc(var(--spacing) * 0.25);
}
#view-edit:checked ~ .family .species-list .taxon:hover,
#view-edit:checked ~ .species-list .taxon:hover,
#view-list:checked ~ .family .species-list .taxon:hover,
#view-list:checked ~ .species-list .taxon:hover {
outline: none;
background-color: var(--color-green-x-light);
border-color: var(--color-green);
}
#view-edit:checked ~ .family .species-list .taxon:hover::before,
#view-edit:checked ~ .species-list .taxon:hover::before,
#view-list:checked ~ .family .species-list .taxon:hover::before,
#view-list:checked ~ .species-list .taxon:hover::before {
border-color: var(--color-green);
}
#view-edit:checked ~ .family .species-list .taxon .btn-edit,
#view-edit:checked ~ .species-list .taxon .btn-edit {
display: block !important;
z-index: 100;
}/*# sourceMappingURL=style.css.map */