Aspect Ratio Media-Elementen en intrinsicsize

0
13

Als u een aspect-ratio van de grootte <div> (of een element dat kinderen kunnen krijgen), je kunt het. Misschien is de schoonste manier is een aangepaste-woning-en kleinbedrijf pseudo-element dat duwt de juiste minimale hoogte via padding-gebaseerd-op-de breedte.

Maar media-elementen zoals <img> heb geen kinderen. De <video> – tag is niet zelfsluitend zijn, maar als het wordt ondersteund (bijna altijd), de inhoud van het vervangen met een schaduw DOM je hoeft je niet in de hand. Daarnaast zijn dit de enige twee elementen die de “grootte naar een externe bron.” Dus, hoe moet je afdwingen aspect ratio bij het gebruik van een variabele breedte als 100% of 75vw? Nou, als ze eenmaal geladen, zullen ze hun natuurlijke aspect ratio, dus dat is mooi. Maar het betekent ook dat ze niet weet wat de hoogte en ze zijn het laden en het kan leiden tot prestatie-jank-ening reflow.

Een oplossing is om ze in een container met een aspect ratio, hen te dwingen de hoeken met absolute positionering. Maar, helemaal zelf, ze zijn niet in staat de maatvoering voor de aspect ratio goed totdat zij de belasting.

Vandaar dat de intrinsicsize attribuut voor “alle image-element-typen (met inbegrip van SVG-afbeeldingen) en video ‘s” dat is nu in ontwikkeling.

<img intrinsicsize=”400×300″ style=”width: 100%”>

De toelichting document is nuttig. De reden is intrinsicsize en niet aspectratio is omdat een aspect ratio niet zo veel nuttige en bruikbare informatie. Ik zou graag zien dat het werk op een element en worden gebracht naar CSS.