Maison >interface Web >tutoriel CSS >Comment puis-je faire flotter une image en bas à droite avec un habillage de texte en HTML et CSS ?

Comment puis-je faire flotter une image en bas à droite avec un habillage de texte en HTML et CSS ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-27 10:30:09889parcourir

How Can I Float an Image to the Bottom Right with Text Wrap in HTML and CSS?

Images flottantes avec habillage de texte : un guide complet

En HTML et CSS, positionner des images à côté du texte peut être un défi, surtout lorsque vous souhaitez que l'image flotte vers en bas à droite et le texte à enrouler autour. Cet article explique comment obtenir cet effet à l'aide d'un élément d'espacement et de JavaScript.

Créer un élément d'espacement

Pour pousser l'image vers le bas de la page, créez un élément d'espacement avec float : droite et une hauteur égale à la différence entre les hauteurs du contenu et de l'image :

<div class="spacer"></div>
<img class="bottomRight" src="" />

CSS Styles

Utilisez les styles CSS suivants :

.spacer {
  float: right;
  width: 0px;
}
.bottomRight {
  float: right;
  clear: right;
}

Calcul de la hauteur de l'espacement

Pour positionner avec précision l'image, vous allez vous devez calculer la hauteur de l'entretoise à l'aide de JavaScript. Cette fonction prend l'élément spacer comme argument :

function sizeSpacer(spacer) {
  var container = spacer.parentNode;
  var img = spacer.nextElementSibling || spacer.nextSibling;
  var lastContentNode = container.children[container.children.length - 1];
  var h = Math.max(0, container.clientHeight - img.clientHeight);
  var imgBottom = img.getBoundingClientRect().bottom;
  var lastContentBottom = lastContentNode.getBoundingClientRect().bottom;

  // Adjust spacer height to align with content bottom
  while (h > 0 && imgBottom > lastContentBottom) {
    spacer.style.height = --h + "px";
    imgBottom = img.getBoundingClientRect().bottom;
    lastContentBottom = lastContentNode.getBoundingClientRect().bottom;
  }

  if (lastContentBottom > imgBottom) {
    spacer.style.height = ++h + "px";
  }
}

Plugin jQuery

Pour plus de commodité, vous pouvez utiliser ce plugin jQuery qui prend en charge les images flottantes en bas à gauche ou à droite :

$(function() {
  $(".bottomRight").bottomRight();
});

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:
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