Укажите естественный размер HTML-элемента

Давайте поговорим об изображениях в HTML. Если я перетащу изображение на страницу без каких-либо других ограничений, оно примет свой «естественный размер» ---, то есть буквальный размер изображения в пикселях. Если я укажу CSS max-widthи max-height, то он сохранит свое естественное соотношение сторон , но уменьшит масштаб, чтобы соответствовать ограничению размера . Потрясающий!

Я хочу точного поведения для произвольного элемента. То есть я хочу создать

или что-то еще, что имеет естественный размер (, который я бы указал в пикселях )и сохраняет соотношение сторон при воздействии max-widthи max-height. (Бонусные баллы :Было бы круто, если бы методика также поддерживала min-widthи min-height.)

Вот еще информация, которую я собрал:

  • Для изображения HTML5 вы можете прочитать естественный размер изображения с атрибутами naturalWidthи naturalHeight, если атрибут completeистинен. К сожалению, как указывает MDN , эти свойства доступны -только для чтения и специфичны для элементов изображения.

  • Этот подход блестящий, но (даже несмотря на то, что высота соответствуетmax-width)ширина не отвечает на max-height.

  • Небольшой поиск не дал решения только для CSS -, что заставляет меня думать, что его может и не быть. Я также приму решения JavaScript, но они должны быть устойчивыми к изменениям размера окна и размера родительского элемента.

14
задан web-tiki 25 May 2014 в 17:21
поделиться