Основы
Компонент Img просто отображает тег <img> с возможностью добавления атрибутов.
make(?string $src)make(?string $src)
use MoonShine\UI\Components\Img;Img::make('path_to_file);
use MoonShine\UI\Components\Img;Img::make('path_to_file);
<x-moonshine::img src="path_to_file" /><x-moonshine::img src="path_to_file" />
Дополнительные атрибуты
alt(?string $alt)- задаёт описание для изображения (атрибутalt),size(int $width, ?int $height)- задаёт ширину и высоту изображение (атрибутыwidthиheight),width(int $width)- задаёт ширину изображения отдельно (атрибутwidth),height(?string $height)- задаёт высоту изображения отдельно (атрибутheight),rounded()- задаёт скругление изображения (применяетсяstyle="border-radius: 50%;"),eagerLoading()- загружает изображение немедленно, независимо от того, находится ли оно в данный момент в видимой области просмотра (атрибутloading="eager"),lazyLoading()- отложенная загрузка изображения (атрибутloading="lazy"),autoDecoding()- предпочтительный режим декодирования выберет браузер (атрибутloading="auto"),syncDecoding()- декодировать изображение синхронно вместе с остальными элементами DOM (атрибутloading="sync"),asyncDecoding()- декодировать изображение после отображения остальных элементов DOM (атрибутloading="async"),srcset(array $sources)- задаёт дополнительные источники изображений для разных разрешений экрана (атрибутsrcset).
Примеры
Примеры использования метода srcset():
Img::make('logo.png')->srcset(['200w' => 'logo-200w.png','400w' => 'logo-400w.png',]);// <img src="logo.png" srcset="logo-200w.png 200w, logo-400w.png 400w">Img::make('logo.png')->srcset(['200w' => 'logo-200w.png','400w' => 'logo-400w.png',]);// <img src="logo.png" srcset="logo-200w.png 200w, logo-400w.png 400w">
Img::make('banner.jpg')->srcset(['2x' => 'banner-2x.jpg','4x' => 'banner-4x.jpg',]);// <img src="banner.jpg" srcset="banner-2x.jpg 2x, banner-4x.jpg 4x">Img::make('banner.jpg')->srcset(['2x' => 'banner-2x.jpg','4x' => 'banner-4x.jpg',]);// <img src="banner.jpg" srcset="banner-2x.jpg 2x, banner-4x.jpg 4x">