style.css
setup.css
index.html
h2 {
/* Just to see things better. */
background-color: hsla(200, 100%, 50%, 33%);
}
.precise:before,
.precise:after {
content: ''; /* Empty. */
display: block;
visibility: hidden;
}
.precise:before { margin-top: var(--inset--top); }
.precise:after { margin-bottom: var(--inset--bottom); }
.precise {
--inset--top: -0.2em; /* Font-dependent! */
--inset--bottom: -0.23em;
--inset--left: -0.07em;
--inset--right: -0.06em;
display: flow-root; /* Cinch the height. */
margin-left: var(--inset--left);
margin-right: var(--inset--right);
width: fit-content; /* Cinch the width. */
}
body {
--base: 20px;
display: grid;
font-family: 'Helvetica', sans-serif;
gap: var(--base);
padding: var(--base);
}
section { background-color: gold; }
h2 { font-size: calc(var(--base) * 3); }
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="/assets/styles/reset.css" rel="stylesheet">
<link href="setup.css" rel="stylesheet">
<link href="style.css" rel="stylesheet">
</head>
<body>
<section>
<h2>Line/<wbr>bounding box</h2>
</section>
<section>
<h2 class="precise">Much better!</h2>
</section>
</body>
</html>