Table des matières
JS pour implémenter " > Utilisez JS pour implémenter
images pour implémenter " >Utilisez des images pour implémenter
Maison interface Web tutoriel CSS Implémentation qui s'adapte aux appareils de différentes tailles

Implémentation qui s'adapte aux appareils de différentes tailles

Apr 04, 2017 am 11:12 AM

Parfois, nous avons besoin de faire en sorte que le contenu occupe exactement un écran et s'adapte à des appareils de différentes tailles. Ne parlons pas de la façon dont cela entraînera un affichage insatisfaisant sur certains appareils, mais parlons directement de la façon de le mettre en œuvre.

La première chose à laquelle nous pouvons penser est que les valeurs de largeur, de hauteur et de marge (margin, padding) de tous les éléments au niveau du bloc sur le Les pages sont toutes en pourcentages chantés.
Dans la direction horizontale, la largeur et la valeur d'espacement horizontal, s'il s'agit d'une valeur en pourcentage, sa valeur est calculée par rapport à la largeur de son élément parent, qui peut s'adapter à des appareils de différentes tailles dans la direction horizontale.
Dans le sens vertical, si la valeur de la hauteur est un pourcentage, sa valeur est calculée par rapport à la hauteur de l'élément parent. Mais si la valeur d'espacement vertical est un pourcentage, sa valeur est calculée par rapport à la largeur (et non à la hauteur) de l'élément parent, haha ​​​​(impuissant~~~).

Par conséquent, nous pouvons utiliser la solution en pourcentage dans le sens horizontal pour l'adaptation. L'orientation verticale nécessite d'autres solutions.

Pouvons-nous utiliser les requêtes multimédias CSS3 ? Je ne peux pas le faire. Bien que Media Queries prenne en charge les requêtes pour les hauteurs des appareils, il nous est impossible d'énumérer les hauteurs de tous les appareils et d'écrire un ensemble de CSS pour chaque appareil avec des hauteurs différentes. Si vous n’avez besoin d’être compatible qu’avec quelques appareils en hauteur, vous pouvez envisager cette solution.

Voici quelques solutions.

Utilisez JS pour implémenter

Le principe est de définir la hauteur sur l'élément en utilisant data-style-height attribut<.>. Sa valeur est la fraction de la hauteur de l'élément parent. Lorsque la page est initialisée, JS attribuera une valeur à la hauteur de l'élément en fonction de cette valeur, de la hauteur de l'élément parent et du nombre total de hauteurs de l'élément parent. Par exemple,

<p>
  <p id="a" data-style-height="1"></p>
  <p id="b" data-style-height="2"></p>
</p>
Copier après la connexion
Dans le code ci-dessus, le nombre total de parties de la hauteur de l'élément parent est de 3, la hauteur de a occupe 1 partie et la hauteur de b occupe 2 parties. Supposons que la hauteur de l'élément parent est de 100 px, alors la hauteur de a est

et la hauteur de b est (1 / 3 * 100)px. (2 / 3 * 100)px

De même, utilisez ces attributs pour définir l'espacement : data-style-

margin-top, data-style-margin-bottom, data-style- padding-top, data-style-padding-bottom. Lorsque la page est initialisée, JS attribuera l'espacement correspondant à l'élément en fonction de la valeur de l'attribut.

Voir ici pour le code d'implémentation spécifique.

Le principe de l'utilisation de flex pour implémenter

est fondamentalement le même que celui de l'utilisation de JS. L'implémentation utilisant flex utilise simplement la fonctionnalité selon laquelle les éléments flex avec une valeur

supérieure à 0 deviendront automatiquement plus grands lorsque l'espace parent est grand, au lieu des calculs JS. flex-grow

Le principe spécifique est de définir la hauteur sur l'élément à l'aide de l'attribut data-style-height, et de définir le style sur son élément parent <a href="http://www.php.%20cn/wiki/927%20.html" target="_blank">affichage<p>:flex;flex-<a href="http://www.php.cn/wiki/873.html" target="_blank"> direction<code><a href="http://www.php.cn/wiki/927.html" target="_blank">display</a>:flex;flex-<a href="http://www.php.cn/wiki/873.html" target="_blank">direction</a>: column;: colonne;

. Lorsque la page est initialisée, JS définira flex-grow:属性值 sur l'élément en fonction de cette valeur. L'espacement est implémenté à l'aide d'éléments avec l'attribut data-style-height et un contenu vide.

Voir ici pour le code d'implémentation spécifique.

Utilisez des images pour implémenter

Si le contenu ne nécessite pas d'interaction, vous pouvez transformer la page entière en image. Bien sûr, la post-maintenance sera un peu délicate si vous faites cela.

HTML :

<img class="fullpage" src="...">
Copier après la connexion

CSS :

html,body{
  height: 100%;
}
.fullpage{
  width: 100%;
  height: 100%;
}
Copier après la connexion


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

Repo: Comment relancer ses coéquipiers
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
4 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Demystifier les lecteurs d'écran: formulaires accessibles et meilleures pratiques Demystifier les lecteurs d'écran: formulaires accessibles et meilleures pratiques Mar 08, 2025 am 09:45 AM

Ceci est le 3ème article d'une petite série que nous avons faite sur l'accessibilité. Si vous avez manqué le deuxième article, consultez "Gestion de la mise au point des utilisateurs avec: Focus-visible". Dans

Créez un formulaire de contact JavaScript avec le cadre Smart Forms Créez un formulaire de contact JavaScript avec le cadre Smart Forms Mar 07, 2025 am 11:33 AM

Ce tutoriel montre la création de formulaires JavaScript professionnels à l'aide du cadre Smart Forms (Remarque: non plus disponible). Bien que le cadre lui-même ne soit pas disponible, les principes et techniques restent pertinents pour d'autres constructeurs de formulaires.

Ajout d'ombres de boîte aux blocs et éléments WordPress Ajout d'ombres de boîte aux blocs et éléments WordPress Mar 09, 2025 pm 12:53 PM

Le CSS Box-Shadow et les propriétés de contour ont gagné le thème. Laissez regarder quelques exemples de la façon dont cela fonctionne dans des thèmes réels et des options que nous devons appliquer ces styles aux blocs et éléments WordPress.

Comparaison des 5 meilleurs constructeurs de formulaires PHP (et 3 scripts libres) Comparaison des 5 meilleurs constructeurs de formulaires PHP (et 3 scripts libres) Mar 04, 2025 am 10:22 AM

Cet article explore les meilleurs scripts de générateur de formulaires PHP disponibles sur le marché Envato, en comparant leurs fonctionnalités, leur flexibilité et leurs design. Avant de plonger dans des options spécifiques, comprenons ce qu'est un constructeur de formulaires PHP et pourquoi vous en utiliseriez un. Un formulaire PHP

Travailler avec GraphQL Caching Travailler avec GraphQL Caching Mar 19, 2025 am 09:36 AM

Si vous avez récemment commencé à travailler avec GraphQL ou examiné ses avantages et ses inconvénients, vous avez sans aucun doute entendu des choses comme "GraphQL ne prend pas en charge la mise en cache" ou

Faire votre première transition Svelte personnalisée Faire votre première transition Svelte personnalisée Mar 15, 2025 am 11:08 AM

L'API de transition Svelte fournit un moyen d'animer les composants lorsqu'ils entrent ou quittent le document, y compris les transitions Svelte personnalisées.

Show, ne dit pas Show, ne dit pas Mar 16, 2025 am 11:49 AM

Combien de temps passez-vous à concevoir la présentation de contenu pour vos sites Web? Lorsque vous écrivez un nouveau blog ou créez une nouvelle page, pensez-vous à

Barbars CSS personnalisés chics et cool: une vitrine Barbars CSS personnalisés chics et cool: une vitrine Mar 10, 2025 am 11:37 AM

Dans cet article, nous plongerons dans le monde des barres de défilement. Je sais, ça ne semble pas trop glamour, mais croyez-moi, une page bien conçue va de pair

See all articles