public static function Blazy::aspectRatioAttributes in Blazy 8.2
Same name and namespace in other branches
- 7 src/Blazy.php \Drupal\blazy\Blazy::aspectRatioAttributes()
Modifies container attributes with aspect ratio for iframe, image, etc.
1 call to Blazy::aspectRatioAttributes()
- Blazy::preprocessBlazy in src/
Blazy.php - Prepares variables for blazy.html.twig templates.
File
- src/
Blazy.php, line 280
Class
- Blazy
- Provides common blazy utility static methods.
Namespace
Drupal\blazyCode
public static function aspectRatioAttributes(array &$attributes, array &$settings) {
$settings['ratio'] = empty($settings['ratio']) ? '' : str_replace(':', '', $settings['ratio']);
if ($settings['height'] && $settings['ratio'] == 'fluid') {
// If "lucky", Blazy/ Slick Views galleries may already set this once.
// Lucky when you don't flatten out the Views output earlier.
$padding = $settings['padding_bottom'] ?: round($settings['height'] / $settings['width'] * 100, 2);
self::inlineStyle($attributes, 'padding-bottom: ' . $padding . '%;');
// Views rewrite results or Twig inline_template may strip out `style`
// attributes, provide hint to JS.
$attributes['data-ratio'] = $padding;
}
}