diff options
Diffstat (limited to 'public/css/nav.css')
| -rw-r--r-- | public/css/nav.css | 85 |
1 files changed, 49 insertions, 36 deletions
diff --git a/public/css/nav.css b/public/css/nav.css index a9bddf2..4c276be 100644 --- a/public/css/nav.css +++ b/public/css/nav.css | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | /*-- menu principal --*/ | 1 | /*-- menu principal --*/ |
| 2 | 2 | ||
| 3 | /* version horizontale */ | 3 | /* version horizontale */ |
| 4 | @media screen and (min-width: 601px){ | 4 | @media screen and (min-width: 769px){ |
| 5 | .nav_button{ | 5 | .nav_button{ |
| 6 | display: none; | 6 | display: none; |
| 7 | } | 7 | } |
| @@ -32,21 +32,28 @@ | |||
| 32 | border-top: 3px solid #13aff0; | 32 | border-top: 3px solid #13aff0; |
| 33 | } | 33 | } |
| 34 | /* élément du menu survolé, le positionnement relatif en fait la référence du positionnement suivant */ | 34 | /* élément du menu survolé, le positionnement relatif en fait la référence du positionnement suivant */ |
| 35 | .drop-right .sub-menu | 35 | .drop-right .sub-menu, .drop-left .sub-menu |
| 36 | { | 36 | { |
| 37 | position: absolute; /* positionnement par rapport au précédent "position" en CSS */ | 37 | position: absolute; /* positionnement par rapport au précédent "position" en CSS */ |
| 38 | left: 100%; | ||
| 39 | top: -3px; /* la bordure bleue fait 3px */ | 38 | top: -3px; /* la bordure bleue fait 3px */ |
| 40 | } | 39 | } |
| 40 | .drop-right .sub-menu{ | ||
| 41 | left: 100%; | ||
| 42 | } | ||
| 43 | .drop-left .sub-menu{ | ||
| 44 | right: 100%; | ||
| 45 | } | ||
| 41 | /* 1er sous-menu, poitionnement pour ne pas aggrandir l'élément parent */ | 46 | /* 1er sous-menu, poitionnement pour ne pas aggrandir l'élément parent */ |
| 42 | nav > ul > li > ul | 47 | nav > ul > li > ul{ |
| 43 | { | ||
| 44 | position: absolute; /* retire du flux, positionnement par rapport à la fenêtre */ | 48 | position: absolute; /* retire du flux, positionnement par rapport à la fenêtre */ |
| 45 | margin-top: 5px; | 49 | margin-top: 5px; |
| 46 | margin-left: -5px; | 50 | margin-left: -5px; |
| 47 | } | 51 | } |
| 52 | nav > ul > li > ul:has(.drop-left){ | ||
| 53 | right: 0; | ||
| 54 | } | ||
| 48 | 55 | ||
| 49 | @media screen and (max-width: 1000px){ /* entre 601 et 1000 */ | 56 | @media screen and (max-width: 1024px){ /* entre 769 et 1024 */ |
| 50 | .nav_main p | 57 | .nav_main p |
| 51 | { | 58 | { |
| 52 | font-size: 90%; | 59 | font-size: 90%; |
| @@ -54,33 +61,31 @@ | |||
| 54 | } | 61 | } |
| 55 | 62 | ||
| 56 | @media (pointer: fine){ | 63 | @media (pointer: fine){ |
| 57 | .nav_main > ul > li:hover | 64 | .nav_main > ul > li:hover{ |
| 58 | { | ||
| 59 | background-color: white; | 65 | background-color: white; |
| 60 | } | 66 | } |
| 61 | .drop-right > a > p:after{ | 67 | .drop-right > a > p:after{ |
| 62 | content: " ▶"; | 68 | content: " ▶"; |
| 63 | } | 69 | } |
| 70 | .drop-left > a > p:before{ | ||
| 71 | content: "◀ "; | ||
| 72 | } | ||
| 64 | } | 73 | } |
| 65 | } | 74 | } |
| 66 | @media screen and (max-width: 450px){ | 75 | @media screen and (max-width: 480px){ |
| 67 | .sub-menu p{ | 76 | .sub-menu p{ |
| 68 | font-size: 90%; | 77 | font-size: 90%; |
| 69 | } | 78 | } |
| 70 | } | 79 | } |
| 71 | 80 | ||
| 72 | @media screen and (min-width: 1000px){ | 81 | @media screen and (min-width: 1025px){ |
| 73 | nav > ul > li > ul{ | ||
| 74 | margin-left: -7px; /* annuler le déplacement dû au padding: 7px; dans ".nav_main li" */ | ||
| 75 | margin-top: 7px; | ||
| 76 | } | ||
| 77 | .nav_main li{ | 82 | .nav_main li{ |
| 78 | padding: 7px; | 83 | padding: 7px; |
| 79 | } | 84 | } |
| 80 | } | 85 | } |
| 81 | 86 | ||
| 82 | /* version petits écrans */ | 87 | /* version petits écrans */ |
| 83 | @media screen and (max-width: 600px){ | 88 | @media screen and (max-width: 768px){ |
| 84 | #nav_zone{ | 89 | #nav_zone{ |
| 85 | display: flex; | 90 | display: flex; |
| 86 | flex-direction: column; | 91 | flex-direction: column; |
| @@ -119,31 +124,40 @@ | |||
| 119 | padding-left: 25px; | 124 | padding-left: 25px; |
| 120 | padding-right: 5px; | 125 | padding-right: 5px; |
| 121 | } | 126 | } |
| 122 | |||
| 123 | /*nav > ul > li > ul{ | 127 | /*nav > ul > li > ul{ |
| 124 | margin-left: 0; | 128 | margin-left: 0; |
| 125 | }*/ | 129 | }*/ |
| 130 | |||
| 126 | @media (pointer: fine){ | 131 | @media (pointer: fine){ |
| 127 | .nav_main > ul > li:hover{ | 132 | .nav_main > ul > li:hover{ |
| 128 | background-color: yellow; | 133 | background-color: yellow; |
| 129 | } | 134 | } |
| 130 | .drop-right > a > p:after{ | 135 | .drop-right > a > p:after, .drop-left > a > p:after{ |
| 131 | content: ' ▼'; | 136 | content: ' ▼'; |
| 132 | } | 137 | } |
| 133 | } | 138 | } |
| 139 | |||
| 140 | @media (pointer: coarse){ | ||
| 141 | .drop-down.open, .drop-right.open, .drop-left.open{ | ||
| 142 | border-radius: 5px; | ||
| 143 | } | ||
| 144 | } | ||
| 134 | } | 145 | } |
| 135 | 146 | ||
| 136 | 147 | ||
| 137 | .nav_main | 148 | .nav_main{ |
| 138 | { | ||
| 139 | border: 2px solid #13aff0; | 149 | border: 2px solid #13aff0; |
| 140 | text-wrap: nowrap; | 150 | text-wrap: nowrap; |
| 141 | } | 151 | } |
| 142 | .sub-menu{ | 152 | .sub-menu{ |
| 143 | box-shadow: 1px 1px 3px black; | 153 | box-shadow: 1px 1px 3px black; |
| 144 | } | 154 | } |
| 155 | .sub-menu:has(.drop-left), .sub-menu:has(.drop-left) .sub-menu{ | ||
| 156 | box-shadow: -1px 1px 3px black; | ||
| 157 | } | ||
| 145 | ul{ | 158 | ul{ |
| 146 | margin: 0; | 159 | margin-top: 0; |
| 160 | margin-bottom: 0; | ||
| 147 | } | 161 | } |
| 148 | 162 | ||
| 149 | .nav_main p | 163 | .nav_main p |
| @@ -166,15 +180,15 @@ li:not(.current){ | |||
| 166 | background-color: initial; | 180 | background-color: initial; |
| 167 | font-weight: initial; | 181 | font-weight: initial; |
| 168 | } | 182 | } |
| 183 | .drop-down.open, .drop-down:hover{ | ||
| 184 | position: relative; /* permet d'aligner son enfant en position absolue à droite avec un right: 0; */ | ||
| 185 | } | ||
| 169 | 186 | ||
| 170 | 187 | ||
| 171 | /* sous-menus avec PC + souris | 188 | /* sous-menus avec PC + souris |
| 172 | mettre ici tous les blocs avec :hover, les navigateurs mobiles "simulent" les :hover, cassant le JS utilisé ici */ | 189 | mettre ici tous les blocs avec :hover, les navigateurs mobiles "simulent" les :hover, cassant le JS utilisé ici */ |
| 173 | @media (pointer: fine) /* fine => précision de la souris */ | 190 | @media (pointer: fine){ /* fine => précision de la souris */ |
| 174 | { | 191 | .drop-down:hover > .sub-menu, .drop-right:hover > .sub-menu, .drop-left:hover > .sub-menu{ |
| 175 | .drop-down:hover > .sub-menu, | ||
| 176 | .drop-right:hover > .sub-menu | ||
| 177 | { | ||
| 178 | display: block; | 192 | display: block; |
| 179 | } | 193 | } |
| 180 | .sub-menu li:hover /* écrase le fond blanc placé en même temps */ | 194 | .sub-menu li:hover /* écrase le fond blanc placé en même temps */ |
| @@ -187,7 +201,7 @@ mettre ici tous les blocs avec :hover, les navigateurs mobiles "simulent" les :h | |||
| 187 | content: ' ▼'; | 201 | content: ' ▼'; |
| 188 | font-size: x-small; | 202 | font-size: x-small; |
| 189 | } | 203 | } |
| 190 | .drop-right > a > p:after | 204 | .drop-right > a > p:after, .drop-left > a > p:before |
| 191 | { | 205 | { |
| 192 | font-size: x-small; | 206 | font-size: x-small; |
| 193 | } | 207 | } |
| @@ -203,22 +217,21 @@ mettre ici tous les blocs avec :hover, les navigateurs mobiles "simulent" les :h | |||
| 203 | font-size: x-small; | 217 | font-size: x-small; |
| 204 | vertical-align: text-bottom; | 218 | vertical-align: text-bottom; |
| 205 | } | 219 | } |
| 220 | .sub-menu{ | ||
| 221 | display: none; | ||
| 222 | background-color: white; | ||
| 223 | font-size: 95%; | ||
| 224 | } | ||
| 206 | 225 | ||
| 207 | /* écran tactile */ | 226 | /* écran tactile */ |
| 208 | @media (pointer: coarse) /* coarse = grossier = précision écran tactile */ | 227 | @media (pointer: coarse){ /* coarse = grossier = précision écran tactile */ |
| 209 | { | ||
| 210 | .sub-menu-toggle{ | 228 | .sub-menu-toggle{ |
| 211 | display: inline-block; /* visible sur écran tactile */ | 229 | display: inline-block; /* visible sur écran tactile */ |
| 212 | } | 230 | } |
| 213 | .drop-down.open > .sub-menu, .drop-right.open > .sub-menu{ | 231 | .drop-down.open > .sub-menu, .drop-right.open > .sub-menu, .drop-left.open > .sub-menu{ |
| 214 | display: block; | 232 | display: block; |
| 215 | } | 233 | } |
| 216 | .drop-down.open, .drop-right.open{ | 234 | .drop-down.open, .drop-right.open, .drop-left.open{ |
| 217 | background-color: yellow; | 235 | background-color: yellow; |
| 218 | } | 236 | } |
| 219 | } | 237 | } \ No newline at end of file |
| 220 | .sub-menu{ | ||
| 221 | display: none; | ||
| 222 | background-color: white; | ||
| 223 | font-size: 95%; | ||
| 224 | } | ||
