Maison > interface Web > tutoriel CSS > le corps du texte

Pourquoi le remplissage inférieur disparaît-il dans Firefox lors de l'utilisation de Overflow : Scroll ?

Patricia Arquette
Libérer: 2024-11-01 09:18:02
original
275 Les gens l'ont consulté

Why Does Bottom Padding Disappear in Firefox When Using Overflow: Scroll?

Remplissage ignoré dans Firefox avec débordement : défilement

Dans certains scénarios impliquant le débordement de CSS : la propriété scroll et le remplissage, Firefox présente un comportement particulier où le remplissage au bas d'un élément disparaît. Cela contraste avec les fonctionnalités attendues observées dans les navigateurs comme Chrome et Safari.

Le problème survient lorsque vous combinez la propriété overflow: scroll, qui permet le défilement vertical de l'élément, avec la propriété padding, qui définit la espacement entre le contenu de l'élément et sa bordure. Dans Firefox, le remplissage en bas de l'élément disparaît, laissant le contenu visible s'étendre au-delà du bord de la zone de remplissage définie.

Pour illustrer le problème, considérons le code CSS suivant :

<code class="css">.container {
  height: 100px;
  padding: 50px;
  border: solid 1px red;
  overflow-y: scroll;
}

ul,
li {
  padding: 0;
  margin: 0;
}</code>
Copier après la connexion

Lorsque ce code est appliqué à une structure HTML comme celle ci-dessous, vous remarquerez le remplissage manquant en bas de l'élément dans Firefox, alors qu'il apparaît comme prévu dans les autres navigateurs :

<code class="html"><div class="container">
  <ul>
    <li>padding above first line in every Browser</li>
    <li>content</li>
    <li>content</li>
    <li>content</li>
    <li>content</li>
    <li>content</li>
    <li>content</li>
    <li>content</li>
    <li>content</li>
    <li>content</li>
    <li>content</li>
    <li>content</li>
    <li>content</li>
    <li>content</li>
    <li>content</li>
    <li>content</li>
    <li>content</li>
    <li>content</li>
    <li>content</li>
    <li>content</li>
    <li>no padding after last line in Firefox</li>
  </ul>
</div></code>
Copier après la connexion

[ Voir la démo](URL de la démo)

Pour résoudre ce problème, une solution CSS pure et simple peut être utilisée :

<code class="css">.container:after {
    content: "";
    height: 50px;
    display: block;
}</code>
Copier après la connexion

Ce code CSS ajoute un élément après l'élément conteneur avec une hauteur fixe de 50px (équivalent au remplissage inférieur). En insérant cet élément, vous créez un espace visible qui compense le rembourrage manquant, résolvant ainsi efficacement le problème.

Il est important de noter que cette solution, bien que fonctionnelle, n'est pas une solution idéale ou élégante. Cependant, il fournit une solution de contournement jusqu'à ce qu'une solution plus raffinée soit disponible.

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!

source:php.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!