Maison interface Web js tutoriel Explication détaillée du pourcentage de remplissage CSS pour créer une mise en page d'image adaptative

Explication détaillée du pourcentage de remplissage CSS pour créer une mise en page d'image adaptative

Dec 26, 2017 am 09:39 AM
padding 百分比

<p>Cet article partage principalement avec vous une explication détaillée du pourcentage de remplissage CSS pour créer une mise en page d'image adaptative Point de connaissance CSS : Lorsque le remplissage/marge prend une valeur sous la forme d'un pourcentage, qu'elle soit gauche/droite ou haut/. en bas, il est basé sur l'élément parent. La largeur est la référence !

<p>1. Le pourcentage de remplissage CSS est calculé par rapport à la largeur

<p>Dans le sens de flux horizontal par défaut du document, les valeurs de pourcentage vertical des attributs CSS margin et padding sont relatives. Pour le calcul de la largeur, ceci est différent de la valeur en pourcentage des attributs tels que top et bottom.

<p>Les raisons de cette conception seront expliquées dans mon nouveau livre (qui devrait paraître dans quelques mois), je n'entrerai donc pas dans les détails ici.

<p>Pour l'attribut padding, le pourcentage padding dans n'importe quelle direction est calculé pour la largeur, ce qui nous permet d'implémenter facilement un conteneur au niveau du bloc à proportion fixe. Par exemple, supposons qu'il y ait un élément :<p>

p { padding: 50%; }
Copier après la connexion
<p>

ou : <p>

p { padding: 100% 0 0; }
Copier après la connexion
<p>

ou : <p>

p { padding-bottom: 100%; }
Copier après la connexion
<p>

Ensuite, la taille de cet <p> élément est un carré avec une largeur et une hauteur de 1:1, quelle que soit sa largeur. Le conteneur parent est, cet élément <p> peut toujours garder les mêmes proportions. <p>

Quelle est la fonction de cette fonctionnalité qui permet de fixer la proportion ? <p>

Pour la plupart des mises en page, nous n'exigeons pas de proportion fixe, mais il y a une exception, et c'est l'image, car la taille originale de l'image est fixe. Dans la mise en page traditionnelle à largeur fixe, nous définirons des valeurs de largeur et de hauteur spécifiques pour l'image afin de garantir que notre image occupe une zone stable mais sur le terminal mobile ou dans le cas d'un développement réactif, la largeur finale de l'image ; est très petit Cela peut être incertain. Par exemple, pour une bannière publicitaire sur un téléphone mobile, la largeur sous l'iPhone 7 est de 375, sous l'iPhone 7 Plus elle est de 414, et il existe d'autres tailles comme 360. Ce qu'il faut pour cela. le temps n’est pas un paramètre de taille fixe pour l’image, mais un paramètre de proportion. <p>

a généralement les implémentations suivantes : <p>

<p>

<p>

1. Fixez une hauteur, puis utilisez le contrôle d'attribut <p>, comme suit : <. 🎜>background-size

.banner {
 height: 40px;
 background-size: cover;
}
Copier après la connexion
<p>L'effet en temps réel est le suivant :

<p>Vous pouvez voir qu'à mesure que la largeur change, il y aura toujours une image zones (largeur ou hauteur) qui ne peuvent pas être affichées. Ce n'est pas une approche parfaite.

<p>2. Utilisez l'unité de largeur de fenêtre

, comme suit : <p>vw

.banner {
 height: 15.15vw;
 background-size: cover;
}
Copier après la connexion
<p>Si les exigences de compatibilité ne sont pas très élevées, utiliser

C’est aussi une bonne idée, au moins c’est plus facile à comprendre. <p>vwCependant, si notre image n'est pas une bannière, mais doit être

éloignée des côtés gauche et droit, à ce moment-là, notre code CSS sera un peu encombrant si nous voulons maintenir le. proportion parfaite, nous pouvons utiliser CSS3 <p> Calcul : 1remcalc()

.banner {
 height: calc(0.1515 * (100vw - 2rem));
 background-size: cover;
}
Copier après la connexion
<p>Si la largeur de l'image des deux côtés est dynamiquement incertaine, alors

est également étendu en ce moment, cependant, ce n'est qu'un attribut <p> ordinaire et banal, mais sa compatibilité et son adaptabilité sont de premier ordre. calc()padding3. Utilisez le pourcentage

, comme suit : <p>padding

.banner {
 padding: 15.15% 0 0;
 background-size: cover;
}
Copier après la connexion
<p>À ce moment, peu importe la façon dont les éléments externes du changement d'image, la proportion sera constante.

<p>2. Remplissage en pourcentage CSS et disposition d'image adaptative en largeur

<p>Mais parfois, nos images ne sont pas pratiques pour être présentées comme images d'arrière-plan, mais sont en ligne

, pourcentage <p>Cela peut également être facilement géré. La routine de recherche est relativement fixe. Un élément conteneur à proportion fixe est requis en dehors de l'élément image, comme la structure HTML suivante : <img>padding

<br/>
Copier après la connexion
Copier après la connexion

< L'élément 🎜>
<p class="banner">
 <img src=""banner.jpg>
</p>
Copier après la connexion
<p> est également chargé de contrôler la proportion, puis l'image est remplie avec l'élément

Le code CSS est le suivant : <p>.banner.banner

.

.banner {
 padding: 15.15% 0 0;
 position: relative;
}
.banner > img {
 position: absolute;
 width: 100%; height: 100%;
 left: 0; top: 0;
}
Copier après la connexion
effet C'est fait ! <p>

Voir, c'est croire. L'année dernière, les bannières publicitaires sur de nombreuses pages de la version mobile du site Web chinois de Qidian ont été mises en œuvre de cette manière. Pour l'effet final, veuillez voir la capture d'écran gif ci-dessous (si l'image ne peut pas être affichée, vous pouvez laisser un commentaire) : <p>

<p>

<p>Comme vous pouvez le constater, peu importe la largeur de l'écran, le ratio de nos images publicitaires est fixe, il n'y aura pas de détourage , aucune zone ne manquera et l'aménagement sera très soigné et plus robuste.

————-<p>

En fait, j'ai toujours sous-estimé la valeur d'application pratique du pourcentage <p> en raison de l'existence de

unité Après tout, comprendre <p> semble. mieux C'est plus simple, donc je n'ai pas introduit les techniques pertinentes. Cependant, à mesure que de plus en plus de mises en page liées aux images sont traitées, j'ai constaté que la valeur pratique du pourcentage padding est supérieure à ce que l'on imaginait. Il est applicable à plus de scénarios que l'unité vw et a une meilleure compatibilité (fonction de pourcentage prise en charge par IE6+, L'image couvre 100 % du support IE8+). vwpaddingPour les mises en page complexes, si la largeur de l'image n'est pas fixe et adaptative, on pense généralement à une astuce, qui consiste à définir uniquement la largeur de l'image, par exemple : vw

<p>

<p>此时浏览器默认会保持图片比例显示,图片宽度大了,高度也跟着一起变大;图片宽度小了,高度也跟着一起变小。开发人员似乎无需关心图片真实比例是怎样的。

<p>然而这种技巧有一个非常不好的体验问题,那就是随着页面加载的进行,图片占据的高度会有一个从0到计算高度的图片变化,视觉上会有明显的元素跳动,代码层面会有布局重计算。

<p>所以对图片高宽进行同时约定还是有必要的,但是同时要保证宽度自适应,似乎有点难度。记住,如果遇到这种需求场景,没有比百分比padding布局更好的做法!

<p>缩小浏览器宽度可以看到不同宽度下的布局效果,Gif效果截图如下:

<p>

<p>此demo难点就是图片自适应同时保持比例,以及页面刷新的时候没有布局稳固不晃动,其核心HTML和CSS代码如下:

<br/>
Copier après la connexion
Copier après la connexion

<p class="works-item-t">
  <img src="./150x200.png">
</p>
Copier après la connexion
<p>

.works-item-t {
 padding-bottom: 133%;
 position: relative;
}
.works-item-t > img {
 position: absolute;
 width: 100%; height: 100%;
}
Copier après la connexion
<p>

<p>可以看到,当把垂直方向padding值只使用padding-bottom表示的时候,如果没有text-align属性干扰,<img>元素的left:0;top:0是可以省略的。

<p>对于这种图片宽度100%容器,高度按比例的场景,padding-bottom的百分比值大小就是图片元素的高宽比,就这么简单。

<p>但,有时候,图片宽度并不是100%容器的,例如,图片宽度50%容器宽度,图片高宽比4:3,此时,CSS垂直方向百分比就666了,如下:

.img-box {
 padding: 0 50% 66.66% 0;
}
Copier après la connexion
<p>相关推荐:

<p>一个CSS+div高度自适应布局模型_html/css_WEB-ITnose

<p>CSS3自适应全屏焦点图切换的特效怎么做

<p>响应式和自适应有什么区别

<p>

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.

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)

Comment convertir une fraction en pourcentage en Python ? Comment convertir une fraction en pourcentage en Python ? Aug 25, 2023 pm 01:25 PM

Les fractions et les pourcentages sont deux concepts mathématiques de base utilisés dans divers domaines tels que la finance, l'analyse de données et les statistiques. Convertir une fraction en pourcentage est une opération simple mais nécessaire qui nous permet de représenter les valeurs fractionnaires de manière plus compréhensible. Python, l'un des langages de programmation les plus populaires, propose plusieurs méthodes pour convertir des fractions en pourcentages, et la compréhension de ces méthodes est cruciale pour quiconque travaille avec des données en Python. Cet article examine en profondeur la conversion de fractions en pourcentages en Python. Nous explorerons différentes façons de procéder et fournirons des exemples pour vous aider à comprendre chaque méthode. Que vous soyez débutant ou programmeur Python expérimenté, cet article vous donne les clés pour réaliser cela en Python

Explication détaillée des propriétés de bordure CSS : padding, margin et border Explication détaillée des propriétés de bordure CSS : padding, margin et border Oct 21, 2023 am 11:07 AM

Propriétés des bordures CSS expliquées en détail : padding, margin et borderCSS est un langage de feuille de style utilisé pour contrôler et mettre en page les éléments d'une page Web. Dans la conception Web, l’attribut border est l’un des éléments les plus importants. Cet article présentera en détail comment utiliser l'attribut border en CSS et fournira des exemples de code spécifiques. padding La propriété padding est utilisée pour définir le remplissage d'un élément, qui est l'espace entre le contenu de l'élément et les bordures de l'élément. Nous pouvons définir le remplissage en utilisant des nombres positifs ou des valeurs en pourcentage

Programme Python pour obtenir le pourcentage de fréquence des mots Programme Python pour obtenir le pourcentage de fréquence des mots Sep 08, 2023 pm 06:29 PM

Dans cet article, nous apprendrons comment obtenir la fréquence des mots en pourcentage en Python. Supposons que nous ayons obtenu une liste d’entrées de chaîne. Maintenant, nous trouverons le pourcentage de chaque mot dans la liste donnée de chaînes d’entrée. La méthode utilisée par la formule (OccurrenceofXword/Totalwords)*100 consiste à utiliser les fonctions sum(), Counter(), join() et split() pour utiliser les fonctions join(), split() et count() à utiliser la fonction countOf() du module opérateur. Méthode 1 : utilisez les fonctions sum(), Counter(), join() et split() join() est Py

Explication détaillée des propriétés de mise en page du texte CSS : débordement de texte et espace blanc Explication détaillée des propriétés de mise en page du texte CSS : débordement de texte et espace blanc Oct 20, 2023 am 11:19 AM

Explication détaillée des propriétés de mise en page du texte CSS : débordement de texte et espace blanc Dans la conception Web, la mise en page du texte est un lien très important. Une mise en page raisonnable peut rendre le texte plus lisible et plus beau. CSS fournit plusieurs propriétés pour contrôler la façon dont le texte est affiché, notamment le débordement de texte et l'espace blanc. Cet article détaillera l'utilisation et un exemple de code de ces deux propriétés. 1. texte d'attribut de débordement de texte

Comment utiliser l'attribut padding en CSS Comment utiliser l'attribut padding en CSS Dec 07, 2023 pm 02:58 PM

En CSS, la propriété padding est utilisée pour définir le remplissage d'un élément. Cela signifie qu'il définit l'espace entre le contenu de l'élément et sa bordure. La syntaxe de base est « padding : value ; ».

Explication détaillée de la commande Linux Top Explication détaillée de la commande Linux Top Feb 20, 2024 am 09:20 AM

Appuyez sur 1 pour voir l'utilisation de chaque processeur. La première ligne est l'heure actuelle. La durée d'exécution est l'équilibrage de charge actuellement connecté (1 minute, 5 minutes, 10 minutes). toutes les 5 secondes et calcule la valeur. Si le nombre divisé par le nombre de CPU logiques dépasse 5, le système est surchargé. La deuxième ligne contient un total de 248 processus, 1 en cours d'exécution, 247 en veille, 0 arrêté, 0 processus zombie. La troisième ligne us (userspace) : le pourcentage de CPU occupé par l'espace utilisateur sy (sysctl) : le pourcentage de CPU occupé par. espace noyau ni() — Le pourcentage de CPU occupé par le processus qui a modifié l'identifiant de priorité (idolt) : pourcentage de CPU inactif wa (attendre) : IO en attente de CP occupé

Comment activer l'affichage du pourcentage de batterie sur iPhone ? Comment activer l'affichage du pourcentage de batterie sur iPhone ? May 08, 2023 pm 12:07 PM

Comment afficher le pourcentage de batterie sur iPhone Auparavant, vous deviez faire glisser votre doigt vers le bas pour ouvrir le Centre de contrôle afin de trouver le pourcentage exact de charge restante de la batterie. Cependant, la possibilité de voir le pourcentage précis de batterie sur le bord supérieur de l'écran de verrouillage est de retour. Pour afficher le pourcentage de batterie sur votre iPhone : ouvrez l'application Paramètres depuis l'écran d'accueil de votre iPhone. Faites glisser le menu Paramètres vers le bas et appuyez sur Batterie dans la liste. Ensuite, mettez le bouton de pourcentage de batterie en position marche. Enfin, vous verrez le pourcentage exact de puissance restante au-dessus de l'icône de la batterie dans le coin supérieur droit de l'écran. Lorsque la fonctionnalité est activée, des pourcentages apparaîtront lorsque vous parcourez l'écran de verrouillage, l'écran d'accueil et la plupart des applications. Vous ne voyez pas le pourcentage de batterie ? Si vous ne voyez pas le

Explorer les propriétés du modèle de boîte CSS : remplissage, marge et bordure Explorer les propriétés du modèle de boîte CSS : remplissage, marge et bordure Oct 20, 2023 pm 03:09 PM

Exploration des propriétés du modèle de boîte CSS : padding, margin et border Le modèle de boîte CSS est l'un des concepts importants dans la mise en page Web. Dans le développement front-end, il est essentiel de comprendre et d’utiliser correctement les attributs padding, margin et border. Cet article approfondira l'utilisation et la corrélation de ces trois propriétés et fournira des exemples de code spécifiques. 1. Introduction au modèle de boîte Le modèle de boîte se compose de quatre parties : contenu, padding, bo

See all articles