Dans cette partie, nous verrons les méthodes de calcul de dimensions .width()
, .innerWidth()
, .outerWidth()
, .height()
, .innerHeight()
, .outerHeight()
.
Voici le modèle de boite suivant lequel se base les méthodes.
Méthode | Description |
---|---|
.width() |
Définit ou retourne la largeur d'un élément. Les padding, border et les margin ne sont pas compris dans le calcul. |
.innerWidth() |
Définit ou retourne la largeur d'un élément. Les padding sont compris dans le calcul mais pas les border et les margin. |
.outerdWidth() |
Définit ou retourne la largeur d'un élément. Les padding et les border sont compris dans le calcul, mais pas les margin. |
.outerdWidth(true) |
Définit ou retourne la largeur d'un élément. Les padding, border et les margin sont compris dans le calcul. |
.height() |
Définit ou retourne la hauteur d'un élément. Les padding, border et les margin ne sont pas compris dans le calcul. |
.innerHeight() |
Définit ou retourne la hauteur d'un élément. Les padding sont compris dans le calcul mais pas les border et les margin. |
.outerdHeight() |
Définit ou retourne la hauteur d'un élément. Les padding et les border sont compris dans le calcul, mais pas les margin. |
.outerdHeight(true) |
Définit ou retourne la hauteur d'un élément. Les padding, border et les margin sont compris dans le calcul. |
Voyons maintenant à quoi peuvent maintenant nous servir ces méthodes.
Nous pouvons donner la hauteur de la fenêtre aux éléments <section>
, redimensionnable au resize du navigateur (astuce pour le responsive).
// Création de la fonction
function halfHeight() {
// Attribuons à 'hWindow' la hauteur du navigateur
var hWindow = $(window).height();
// Ajoutons la hauteur de 'hWindow' aux éléments section
$('section').css('height', hWindow);
}
$(function() {
// Lancer la fonction quand le DOM est ready
halfHeight();
});
$(window).resize(function() {
// Lancer la fonction au redimensionnement de la fenêtre
halfHeight();
});
See the Pen .height() by Sutterlity (@sutterlity) on CodePen.
Nous pouvons aussi calculer la hauteur d'un élément pour l'assigner à un autre.
// Création de la fonction
function sameHeight(elem) {
// initialisation de la hauteur de base à 0
var tallest = 0;
// Parcours de tous les éléments
elem.each(function() {
// Mise en variable de la hauteur de l'élément
var thisHeight = $(this).height();
// Condition pour savoir si la hauteur de l'élément est plus grande que 'tallest'
if(thisHeight > tallest) {
// Si l'élément est plus grand, nous assignons la nouvelle valeur à 'tallest'
tallest = thisHeight;
}
});
// Nous appliquons le style CSS sur l'élément
elem.height(tallest);
}
$(function(){
// Lancer la fonction quand le DOM est ready
sameHeight( $('.box-list-item') );
});
See the Pen .height()-2 by Sutterlity (@sutterlity) on CodePen.