SELF-Treffen in Mannheim 2025
SELFHTML wird 30 Jahre alt!
Die Mitgliederversammlung findet am 24.05.2025 um 10:00 statt. Alle Mitglieder und Interessierte sind herzlich eingeladen.
Davor und danach gibt es Gelegenheiten zum gemütlichen Beisammensein. → Veranstaltungs-Ankündigung.
Beispiel:JS-element.getBoundingClientRect.html
Aus SELFHTML-Wiki
<!doctype html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="./Beispiel:SELFHTML-Beispiel-Grundlayout.css">
<title>Elementgrößen ermitteln - 3</title>
<script>
'use strict';
document.addEventListener('DOMContentLoaded', function () {
const page = document.querySelector('body');
page.addEventListener('mouseover',getCSSValues);
page.addEventListener('focus',getCSSValues);
function getCSSValues(event) {
const element = event.target;
const name = element.nodeName;
const rect = element.getBoundingClientRect();
let result = `
Elementname: ${name} \n
x₁, y₁ : ${rect.left}px, ${rect.top}px (links oben) \n
x₂, y₂: ${rect.right}px, ${rect.bottom}px (rechts unten) \n
Höhe: ${rect.height}px \n
Breite: ${rect.width}px
`;
console.log(result);
result = result.replaceAll("\n", "<br>");
document.getElementById('info').innerHTML = result;
}
});
</script>
<style>
#aussen {
height: 20em;
width: 21em;
margin: 1em;
}
#innen1 {
width: 25em;
}
#innen2 {
width: 100%;
}
.box {
background-color: #f5e6bc;
border: 0.5em solid #337599;
color:#866a00;
padding: 1em;
}
.box > * {
background-color: #efd68f;
border: thin solid;
margin: 0;
}
.box p {
color: #866a00;
background-color: #efd68f;
border: thin solid;
border-bottom-color: transparent;
margin: 0;
line-height: 2;
}
aside p {
height: 7.5em;
border-top-color: transparent;
}
output {
font-family: monospace;
}
body {
margin: 2em auto;
padding: 0 2em;
}
main, #aussen {
border: thin dotted;
overflow: auto; /* muss gesetzt werden! */
resize: both;
}
footer {
color: white;
padding: 2em;
}
footer p {border-color:#866a00;padding:1em;}
#container {
display:grid;
grid-template-columns: 1fr 1fr;
gap; 1em;
border:thin dotted;
}
section {
grid-column: 1 /-!;
}
* {
box-sizing: border-box;
}
</style>
</head>
<body>
<h1 class="überschrift">Elementgrößen ermitteln - 3<br>Seiteninspektor mit <code>getBoundingClientRect()</code></h1>
<main id="container">
<div id="aussen">
<div id="innen1" class="box">
<p>Box, die kleiner als das Elternelement ist.</p>
<p><img src="https://wiki.selfhtml.org/images/5/54/Landscape.svg" alt="Symbolbild mit einer Toskana-Landschaft">
</div>
</div>
<div id="aussen">
<div id="innen2" class="box">
<p>Box, die sich an das Elternelement anpasst.</p>
<p><img src="https://wiki.selfhtml.org/images/5/54/Landscape.svg" alt="Symbolbild mit einer Toskana-Landschaft">
</div>
</div>
<section>
<h2 id="ausgabe">Ausgabe</h2>
<p>Elementbox-Größe: <output id="info"></output></p>
</section>
</main>
<footer id="footer" class="box">
<p>made by <a class="externer link" href="https://selfhtml.org/">SELFHTML</a></p>
</footer>
</body>
</html>