vertical-align testing 2
by phloe
HTML
<link rel="stylesheet" href="https://www.dr.dk/global/publik.css">
<div>
<button><span>Foo</span></button>
</div>
CSS
:root {
--ascender: var(--dr-font-publik-ascender);
--descender: var(--dr-font-publik-descender);
--cap-height: var(--dr-font-publik-cap-height);
--x-height: var(--dr-font-publik-x-height);
}
html {
font-family: "DR Publik";
}
div {
margin: 1rem 0;
}
button {
background: blue;
--padding-block: 1rem;
padding: var(--padding-block) 3rem;
border: 0;
border-radius: 0;
--char-height: var(--cap-height);
font-size: calc(2rem / var(--char-height));
line-height: 2.5rem;
font-family: "DR Publik";
_font-family: "Verdana";
_max-width: 300px;
color: #FFF;
display: block;
_font-size: 1ex;
}
.cap {
--offset: calc((((var(--ascender) - var(--char-height)) - var(--descender)) / 2) * 1em);
}
button span {
vertical-align: var(--offset);
margin-top: calc(var(--offset) * -1);
}
.icon {
vertical-align: middle;
display: inline-block;
width: 3rem;
height: 3rem;
background: currentColor;
margin-right: 0.5rem;
margin-top: calc(1ex - 1cap);
display: none;
}
.label {
font-size: 3rem;
line-height: 3.5rem;
font-family: "DR Publik";
}
.label i {
background: blue;
font-size: calc(1em / 1cap);
}