J'ai récemment été mise à jour mon site Web et le serveur Web et l'ajout d'un nouveau site (LoveCrete.org). Je voulais avoir une image de fond sur LoveCrete et réalisé que bien sûr 1 ne convient pas à tous les écrans. Voici un résumé de ma réflexion et de ce que j'ai fait pour répondre aux nombreuses tailles et orientations d'écran..
Quelle orientation
I started by making myself a little table of all the common resolutions used on PC and tablets (in horizontal orientation). I decided to focus on this because most images are available in landscape so this is a sensible place to start.
I decided that I would place images centrally on the page and let the edges be lost off the edge of the screen in some instances. When a phone is used in portrait orientation it will load the image based on height (pas de largeur) et va perdre beaucoup à la fois bord de l'image. Doing it any other way would mean needing images cropped to a totally different shape or having a landscape image “tile” on a tall screen, qui est pas souhaitable.
The ratios of the maximum size image to make in each group were all around 1.6 with a few a bit higher. To keep things simpler I decided to use a ratio of 16:10 pour toutes les images et est venu avec des tailles pour faire en conséquence.
This means in most cases the image will not be a perfect fit to the screen size, but all screens will get something very close and no screen will end up with something too small. Cela signifie aussi une image source peut être recadrée 16:10 once and then multiple sizes easily created
groupes de résolution de paysage commun
la taille | Largeur | Image pour | Comments | ||
---|---|---|---|---|---|
4:3 | 16:10 | 16:9 | |||
2160 | 2880 | 3840 | 2400×3840 | 4k UHD | |
1600 1536 1440 | - 2048 1920 | 2560 - - | - - 2560 | 1600×2560 | |
1200 1080 1050 | 1600 1440 1400 | 1920 - 1680 | - 1920 - | 1200×1920 | Full HD 1080p |
960 900 | 1280 1200 | 1536 1440 | - 1600 | 1000×1600 | |
800 768 720 | - 1024 960 | 1280 - - | - - 1280 | 800× 1280 | 720p |
600 576 | 800 768 | 960 - | - 1024 | 640×1024 | |
480 | 640 | 768 | 480×768 |
As you can see I have grouped quite a few resolutions and will then make 1 image that will cover all heights up to the largest height in that group. I will make sure the image is also wide enough for the maximum width such a height might be paired with on a normal screen. I haven’t taken account of unusual configurations like 21:9 monitors or multiple screens — there has to be a limit somewhere!
Car CSS uses the viewport or browser size and not the screen size landscape screens need to use width rather than height — as on most systems the top and bottom lose space to title bars etc whilst the width is usually maximised. Cependant, for portrait displays it is better to use the height property. Cela peut se faire en CSS can identify the screen orientation
le CSS utilisé semble alors comme suit
corps{Répétition du fond: no-repeat; background-attachment: fixé; Position d'arrière-plan: centre; background-size: couverture;} @médias (largeur maximale: 768px) {corps { image de fond: URL(bg480.jpg); }} @médias (min-width:769px) et (largeur maximale: 1024px) {corps { image de fond: URL(bg640.jpg); }} @médias (min-width:1025px) et (largeur maximale: 1280px) {corps { image de fond: URL(bg800.jpg); }} @médias (min-width:1281px) et (largeur maximale: 1600px) {corps { image de fond: URL(bg1000.jpg); }} @médias (min-width:1601px) et (largeur maximale: 1920px) {corps { image de fond: URL(bg1200.jpg); }} @médias (min-width:1921px) et (largeur maximale: 2560px) {corps { image de fond: URL(bg1600.jpg); }} @médias (min-width:2561px) {corps { image de fond: URL(../images / bg2400.jpg); }} @médias (orientation: portrait){ @médias (hauteur maximum: 480px) {corps { image de fond: URL(bg480.jpg); }} @médias (min-height:481px) et (hauteur maximum: 640px) {corps { image de fond: URL(bg640.jpg); }} @médias (min-height:641px) et (hauteur maximum: 800px) {corps { image de fond: URL(bg800.jpg); }} @médias (min-height:801px) et (hauteur maximum: 1000px) {corps { image de fond: URL(bg1000.jpg); }} @médias (min-height:1001px) et (hauteur maximum: 1200px) {corps { image de fond: URL(bg1200.jpg); }} @médias (min-height:1201px) et (hauteur maximum: 1600px) {corps { image de fond: URL(bg1600.jpg); }} @médias (min-height:1601px) {corps { image de fond: URL(bg2400.jpg); }} }
“Hi James I realise it has been a long while, but I just checked this on windows 11 (build 23H2)…”