Definite sizeA size the browser knows before it lays out the contents: 300px, 50vh, 20rem, or a share of a parent that already has one. A box sized by its own text has no definite height until that text is laid out, which is why its children cannot take a percentage of it.
Example In a parent with block-size: 300px, a child with height: 50% is 150px. Give the parent no height and the same child is as tall as its own content.
Device pixel ratioHow many device pixels the browser spends on one CSS pixel along each side. Scripts read it from window.devicePixelRatio; a media query reads it through resolution, in dppx. It is not fixed by the hardware: page zoom changes it, and at a ratio of 0.5 one CSS pixel is half a device pixel.
Dynamic viewportThe viewport as it is right now, with the browser chrome in whatever state it has at this moment. In the specification's model that state changes as the reader scrolls on a phone, so a length in dvh can change too. On a desktop, where nothing retracts, it measures the same as the other two.