Skip to content

Commit 8bf8722

Browse files
committed
infos sur les mediaqueries et javascript
1 parent 61f77f7 commit 8bf8722

File tree

1 file changed

+71
-0
lines changed

1 file changed

+71
-0
lines changed

420-mediaqueries.md

+71
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
---
2+
layout: page
3+
title: MediaQueries
4+
permalink: /js/mediaqueries/
5+
---
6+
7+
Comment faire pour appliquer un code JavaScript à une certaine résolution d'écran ?
8+
9+
Les Media Queries que nous utilisons en CSS, existent-elles en JavaScript ?
10+
11+
Oui, il existe différentes méthodes pour obtenir le même effet en JavaScript. Voici différentes méthodes pour obtenir la largeur actuelle de la fenêtre:
12+
13+
* document.documentElement.clientWidth
14+
* document.body.clientWidth
15+
* window.innerWidth
16+
17+
Ces trois méthodes devraient retourner le même nombre de pixels.
18+
19+
Un exemple d'utilisation:
20+
21+
```javascript
22+
23+
if (document.documentElement.clientWidth < 900) {
24+
// scripts
25+
}
26+
27+
if (document.documentElement.clientWidth > 680 && document.documentElement.clientWidth < 1260) {
28+
// scripts
29+
}
30+
```
31+
32+
* screen.width = donne la largeur totale de l'écran, pas toujours égale à la fenêtre du navigateur.
33+
34+
Voici un exemple utilisant cette méthode:
35+
36+
```javascript
37+
if (screen.width >= 600) {
38+
// complicated script
39+
}
40+
```
41+
42+
## méthode: matchMedia
43+
44+
Une autre méthode consiste à utiliser window.matchMedia() :
45+
46+
```javascript
47+
if (window.matchMedia("(min-width: 400px)").matches) {
48+
// the view port is at least 400 pixels wide
49+
} else {
50+
// the view port is less than 400 pixels wide
51+
}
52+
```
53+
54+
On peut aussi tester l'orientation:
55+
56+
```javascript
57+
var mql = window.matchMedia("(orientation: portrait)");
58+
if (mql.matches) {
59+
/* La zone d'affichage/viewport est en portrait */
60+
} else {
61+
/* La zone d'affichage/viewport est en paysage */
62+
}
63+
```
64+
65+
[Voir documentation MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Testing_media_queries)
66+
67+
## Méthode subtile
68+
69+
On peut souhaiter suivre les breakpoints du CSS, sans redéfinir les mêmes unités dans le JavaScript. Voici une technique utilisée par Jeremy Keith:
70+
71+
[Conditional CSS](https://adactio.com/journal/5429/)

0 commit comments

Comments
 (0)