@use 'sass:math'; @use '../config' as *; .img-responsive { --img-responsive-ratio: #{math.percentage(0.75)}; padding-top: var(--img-responsive-ratio); background: no-repeat center/cover; } .img-responsive-grid { padding-top: calc(var(--img-responsive-ratio) - calc(var(--gutter-y) / 2)); } @each $key, $ratio in $aspect-ratios { .img-responsive-#{$key} { --img-responsive-ratio: #{$ratio}; } } .img-bg { background: no-repeat center/cover; } // A label pinned to a corner of an image, such as "AI", "New" or a video length .img-labeled { position: relative; display: inline-block; max-width: 100%; vertical-align: middle; } .img-label { // scss-docs-start img-label-css-vars --img-label-offset: #{$img-label-offset}; --img-label-padding-y: #{$img-label-padding-y}; --img-label-padding-x: #{$img-label-padding-x}; --img-label-gap: #{$img-label-gap}; --img-label-font-size: #{$img-label-font-size}; --img-label-font-weight: #{$img-label-font-weight}; --img-label-color: #{$img-label-color}; --img-label-bg: #{$img-label-bg}; --img-label-border-radius: #{$img-label-border-radius}; --img-label-backdrop-filter: #{$img-label-backdrop-filter}; --img-label-icon-size: #{$img-label-icon-size}; // scss-docs-end img-label-css-vars position: absolute; inset-block-end: var(--img-label-offset); inset-inline-end: var(--img-label-offset); z-index: 1; display: inline-flex; gap: var(--img-label-gap); align-items: center; max-width: calc(100% - 2 * var(--img-label-offset)); padding: var(--img-label-padding-y) var(--img-label-padding-x); font-size: var(--img-label-font-size); font-weight: var(--img-label-font-weight); line-height: 1; color: var(--img-label-color); white-space: nowrap; pointer-events: none; background: var(--img-label-bg); backdrop-filter: var(--img-label-backdrop-filter); @include border-radius(var(--img-label-border-radius)); .icon { --icon-size: var(--img-label-icon-size); } } // A label that holds only an icon: equal padding on all sides makes it a square .img-label-icon { --img-label-padding-x: var(--img-label-padding-y); } .img-label-top-start, .img-label-top-end { inset-block: var(--img-label-offset) auto; } .img-label-top-start, .img-label-bottom-start { inset-inline: var(--img-label-offset) auto; }