Il est assez facile de traiter les images fluides dans des dispositions indépendantes de nos jours. Cependant, pour des interfaces plus complexes, nous devons souvent placer des images à l'intérieur d'éléments réactifs, tels que cette carte:
Supposons que cette image soit un contenu non sémantique et n'est utilisée que pour la décoration. C'est idéal pour utiliser background-image
. Et, comme cette image contient des objets, nous ne pouvons pas recadrer aucune pièce lors de la mise en page de manière réactive, nous choisissons donc background-size: contain
.
Le problème est: sur les appareils mobiles, cette orientation de la carte change et devient vertical, avec l'image en haut. Nous pouvons le faire en utilisant tout type de technologie de mise en page CSS, et il est probablement préférable d'utiliser une grille CSS ou une bo?te élastique.
Cependant, lorsque nous testons des écrans plus petits, nous obtenons les résultats suivants en raison de contain
:
Ce n'est pas idéal. L'image est redimensionnée pour maintenir son rapport d'aspect et ne recaoule aucun détail, et nous ne pouvons pas modifier background-size
pour cover
si l'image est importante et ne doit pas être recadrée.
à ce stade, notre prochaine tentative pourrait être familière: placez l'image en ligne, pas l'arrière-plan.
Sur les appareils de bureau, cela fonctionne bien:
C'est aussi bon sur les appareils mobiles:
Mais sur des écrans plus petits, la proportion de l'image sera déformée en raison de toutes les tailles fixes.
Nous pouvons passer des heures à régler les images, les cartes et les propriétés élastiques, en ajustant d'avant en arrière. Ou, nous pouvons ...
Contenu principal séparé de l'arrière-plan
C'est la base pour acquérir une plus grande flexibilité et flexibilité dans les images réactives. Bien qu'il ne soit pas possible dans tous les cas, dans de nombreux cas, il peut être réalisé avec un peu d'effort dans la conception, surtout si une telle approche est planifiée à l'avance.
Dans notre prochaine itération, nous pla?ons l'image de fraises sur un fond transparent et utilisons CSS pour définir la couleur bleue dans l'image raster. Continuez à utiliser la taille de la fenêtre dans la démo en redimensionnant l'espace d'échantillonnage!
En regardant soigneusement les styles, notez que nous ajoutons également un rembourrage à la div contenant l'image, afin que les fraises ne se rapprochent pas trop des bords. Nous pouvons contr?ler complètement à quel point nous voulons qu'ils soient proches ou loin avec ce rembourrage.
Notez que nous utilisons également des marges négatives pour compenser le rembourrage sur l'enveloppe de carte externe, sinon il y aura des blancs autour de l'image.
Utilisez l'attribut d'objet-ajustement pour les images en ligne
Bien que la démonstration précédente fonctionne, nous pouvons toujours améliorer cette approche. Jusqu'à présent, nous avons supposé que l'image était un contenu sans sémantique - mais dans cette mise en page, les illustrations d'image peuvent également être plus qu'une simple décoration.
Si tel est le cas, nous ne voulons absolument pas que l'image soit recadrée, car cela équivaut en fait à la perte de données. Pour éviter cela, il est préférable de placer l'image en ligne au lieu de l'arrière-plan, ce que nous pouvons faire avec object-fit
.
Nous avons extrait la fraise de l'arrière-plan, qui est maintenant un élément en ligne, mais nous conservons la couleur d'arrière-plan dans la même image Div.
Enfin, la combinaison object-fit: contain
avec une largeur 100%
vous permet de redimensionner la fenêtre et de maintenir le rapport d'aspect de la fraise. Cependant, l'inconvénient de cette approche est que nous devons définir une hauteur fixe pour la version de bureau de l'image - ou sinon elle suivra la proportion de la largeur du jeu (la réduisant changera la disposition). Si nous devons générer ces cartes avec une quantité variable de texte, le texte enveloppera, ce qui peut rendre les choses trop restrictives.
à venir bient?t: Ratio d'aspect
La solution au problème ci-dessus peut être rapidement mise en ?uvre via la prochaine propriété aspect-ratio
. Cela permettra de définir une échelle fixe de l'élément, par exemple:
.el { Ratio d'aspect: 16/9; }
Cela signifie que nous serons en mesure d'éliminer la hauteur fixe et de la remplacer par le rapport d'aspect que nous avons calculé. Par exemple, les dimensions du point d'arrêt du bureau de notre dernier exemple ressemblent à ceci:
.image { / * ... * / hauteur: 184px; Largeur: 318px; }
En utilisant aspect-ratio
nous pouvons supprimer la déclaration de hauteur et calculer pour obtenir l'échelle 184 la plus proche:
.image { / * ... * / Largeur: 318px; / * Largeur de référence * / Hauteur: Undet; / * Réinitialisez la hauteur définie en dehors de la requête médiatique * / Ratio d'aspect: 159/92; / * Près de 184px hauteur * / }
Si vous souhaitez en savoir plus, vous pouvez explorer les attributs à venir de cet article.
Enfin, il existe plusieurs fa?ons d'obtenir des images réactives fiables dans des dispositions à échelle variable. Mais l'astuce pour faciliter ce travail - et mieux - ne réside pas nécessairement dans CSS; Cela peut être simple, en ajustant simplement votre image, qu'il s'agisse de séparer le premier plan de l'arrière-plan (comme nous l'avons fait), ou de choisir une image spécifique qui fonctionne toujours même si une partie considérable du bord est recadrée.
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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

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

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

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds

CSS bloque le rendu de la page car les navigateurs affichent le CSS en ligne et le CSS externe comme des ressources clés par défaut, en particulier avec les feuilles de styles importées, les grandes quantités de CSS en ligne et les styles de requête multimédia non optimisés. 1. Extraire CSS critique et l'intégrez-la dans HTML; 2. Retard Chargement CSS non critique via JavaScript; 3. Utilisez des attributs multimédias pour optimiser le chargement tel que les styles d'impression; 4. Comprimer et fusionner CSS pour réduire les demandes. Il est recommandé d'utiliser des outils pour extraire les CS de clé, combiner le chargement asynchrone rel = "précharge" et utiliser le chargement retardé des médias raisonnablement pour éviter une division excessive et un contr?le de script complexe.

TheBestApproachForCSSDependSonTheproject'sspecificneeds.ForLargerProjects, externalcsisBetterDueTomaintainiabilityAndReUsability; ForsmallerProjectsorSingle-pageApplications, internecssigh

NON, CSSDOOSNOTHAVETOBEINLOWLOWERCASE.CI, USING USINGERCASERASERISROMEND pour: 1) Cohérence et réadaptation, 2) évitant les technologies de perception liées à la pertinence, 3) Potentiel PerformanceBenefits, and4) Amélioration de la collaboration.

CSSismostlyCase-insensible, buturlsandfontfamilyNamesaSaSase-sensible.1) Propriéties andvaluesLikEcolor: Red; arenotcase-sensible.2) UrlSMustMatchTheServer'scase, par exemple, / images / Logo.png.3) FontFamilyNamesliNe'apensans's'mUstBeexact.

AutoPrefixer est un outil qui ajoute automatiquement les préfixes des fournisseurs aux attributs CSS en fonction de la portée du navigateur cible. 1. Il résout le problème de maintenir manuellement les préfixes avec des erreurs; 2. Travaillez le formulaire de plug-in PostCSS, analyse CSS, analysez les attributs qui doivent être préfixés et générer du code en fonction de la configuration; 3. Les étapes d'utilisation incluent l'installation de plug-ins, la définition de la liste de navigateurs et leur permettant dans le processus de construction; 4. Les notes ne comprennent pas manuellement les préfixes, le maintien des mises à jour de la configuration, les préfixes pas tous des attributs, et il est recommandé de les utiliser avec le préprocesseur.

CSSCOUNTERSCANAUTOMAMATIQUE UNEUXESECTIONS ET LISTS.1) USECOUNTER-RESEDTOINITINALIALIALISE, COMPTENDREMENTTOINCREAD, andCounter () Orcounters () toDisplayValues.2) combinewithjavascriptfordynamiccontentoenSureAcurateupdates.

Dans CSS, les noms de sélecteur et d'attribut sont sensibles à la casse, tandis que les valeurs, les couleurs nommées, les URL et les attributs personnalisés sont sensibles à la casse. 1. Les noms de sélecteur et d'attribut sont insensibles à la casse, tels que la couleur arrière et la couleur arrière-plan sont les mêmes. 2. La couleur hexadécimale de la valeur est sensible à la casse, mais la couleur nommée est sensible à la casse, comme le rouge et le rouge n'est pas valide. 3. Les URL sont sensibles à la casse et peuvent causer des problèmes de chargement de fichiers. 4. Les propriétés personnalisées (variables) sont sensibles à la caisse, et vous devez faire attention à la cohérence du cas lorsque vous les utilisez.

THECONCON-GRADIENT () FURMATINGEnSSSCREATSCICLULARD GRODIENTSTHATATATECOLORSTOPSAROUNDacentralpoint.1.IiSIDEALFORPIECHARTS, PROGRESSINDICATEURS, Colorweels, andDecorativeBackgrounds.2.itworksByDefiningColOrStopSatSpiecificangles, FactuallylyTartingfromadefinin
