Retourner ' la page d'accueil de TJSRetourner ' la page d'accueil de TJS
Livre Référence Tutos Scripts Forums FAQ Tools IA

Méthode : HTMLElement.getBoundingClientRect()

Retourne les dimensions et la position de l'objet

Syntaxe
JSON obj.getBoundingClientRect()

Compatible tous navigateurs
Compatible Internet Explorer
Oui
Compatible Edge H駻it?
Oui
Compatible Edge Chromium
Oui
Compatible Chrome
Oui
Compatible Safari
Oui
Compatible Firefox
Oui
Compatible Opera
Oui

Description
Retourne un objet contenant les dimensions totales, incluant le padding et l'encadrement, ainsi que la position de l'objet sur la page.

La gestion des dimensions et des positions des éléments à l'écran a toujours été une des plus grandes difficultés. Malgré la convergence des navigateurs, il existe encore de nombreuses subtilités. C'est ainsi tout l'intérêt des frameworks comme jQuery qui assure une parfaite compatibilité avec une syntaxe limpide.


Exemple 1 : Usage du ClientRect
Code source
<style type="text/css">
div#myDiv {
background-color:#faa;
padding:5px;
margin:5px;
border:3px solid #999
}
div.calque {
position:absolute;
opacity:0.6;
padding:0px;
margin:0px;
background-color:#fff;
text-align:center;
animation:anim 0.3s infinite;
}
@keyframes anim {
0% { opacity: 0; }
100% { opacity: 0.6; }
}
</style>

<div id="myDiv">MON DIV</div>

<script>
function showCalque() {
var div=document.getElementById("myDiv");
var pos=div.getBoundingClientRect();
console.log(pos);

/* Création d'un calque transparent au dessus de myDiv */
var calque=document.createElement("div");
calque.innerHTML=Math.round(pos.width)+"x"+Math.round(pos.height);
calque.setAttribute("class", "calque");
calque.style.top=Math.round(pos.top)+"px";
calque.style.left=Math.round(pos.left)+"px";
calque.style.width=Math.round(pos.width)+"px";
calque.style.height=Math.round(pos.height)+"px";
document.body.appendChild(calque);
}

document.addEventListener("DOMContentLoaded", showCalque);
</script>

Résultat
MON DIV
Emulation de la console
Explication
Une fois le DOM chargé, un calque est superposé juste au dessus de myDiv.
Une animation clignotante le rend bien visible.

Page en rapport
Introduction au DHTML
Page mise ? jour le
(追記) (追記ここまで)

Troisième édition Tout JavaScript chez Dunod

Tout JavaScript le livre chez DunodEn savoir plus
Sortie le 4 janvier 2023

Version papier 2990ドル
Format électronique 2299ドル.

Commandez en ligne

Chercher une fonction, un objet, ...

(追記) (追記ここまで)

Le graph des objets Javascript



Chargement
en cours...
1999-2026 | Reproduction ou diffusion interdite sans autorisation de Tout JavaScript.com
Le 07/09/2026 06:49:08 sur php 7 en 393.17 ms

AltStyle によって変換されたページ (->オリジナル) /