Je souhaite créer des pages HTML qui seront affichées sur différents appareils mobiles. Je veux qu'ils s'adaptent automatiquement aux différentes tailles d'écran mobile.
Les pages HTML incluent du texte et des images. Les images peuvent avoir une taille supérieure à 600 x 450, mais si l’écran du mobile est (par exemple) de 280 x 320, les images doivent alors s’ajuster automatiquement à leur taille.
Comment puis-je faire ceci?
Si les pages dont vous parlez ne contiennent que du texte et des images, je pense que tout ce que vous devez faire dans chaque page HTML est le suivant:
Ajoutez cette balise méta viewport à l'intérieur de la balise <head>
:
<meta name="viewport" content="width=device-width">
Ceci devrait rendre la page rendue à une taille raisonnable.
Ajoutez cette balise <style>
à l'intérieur de la balise <head>
:
<style>
img {
max-width: 100%;
}
</style>
I think cela garantira que toutes les images ne seront pas plus larges que la fenêtre d'affichage de l'application Web.
(Si cela ne fonctionne pas, essayez plutôt width: 100%;
. Toutes les images seront donc aussi larges que la fenêtre d'affichage, donc pas plus larges.)
Cependant, votre question est un peu trop générale: nous pourrions finir par écrire un livre couvrant toutes les possibilités. Pourriez-vous préciser davantage le code sur lequel vous travaillez?
Cette technique est connue sous le nom de disposition fluide ou adaptative, il y a une bonne introduction ici
Les requêtes multimédia sont le meilleur moyen de faire ce que vous voulez.
Configurez votre code HTML et votre feuille de style comme d'habitude, mais utilisez un code similaire à celui décrit ci-dessous à la fin de votre document CSS. Vous aurez besoin de résoudre les différentes requêtes pour les différentes largeurs et dispositions de périphérique. Commencez.
/* iPHONE 3-4 + RETINA PORTRAIT STYLES */
@media only screen and (min-device-width: 320px) and (max-device-width: 480px) and (max-device-height: 480px) and (orientation:portrait) {
/* Your adjusted CSS goes here */
}
/* iPHONE 3-4 + RETINA LANDSCAPE STYLES */
@media only screen and (max-device-width: 480px) and (min-device-width: 320px) and (max-device-height: 480px) and (orientation:landscape) {
/* Your adjusted CSS goes here */
}
Il y a beaucoup d'options ici, la plus loin détaillée à traiter dans une seule question.
Il n'y a pas de moyen "automatique" de le faire - il faudra le coder manuellement. Je peux penser à trois options, qui nécessiteront plus d'investigation:
vous pouvez utiliser l’interrogation multimédia pour rendre votre mise en page réactive, c’est-à-dire corriger tous les écrans, petits, moyens et grands.
pour plus de détails, vous pouvez visiter ce tutoriel - apprendre le responsive design en étapes faciles