Я пытаюсь создать экран профиля для своего веб-сайта с загруженным изображением профиля. Я хочу, чтобы загруженное пользователем изображение заполнило контейнер. Так как это гарантирует, что все изображения профиля будут одинакового размера и в одном и том же месте.
<div class = "row d-flex justify-content-center">
<div class = "col-4 align-self-center border border-danger" style = "width: 190px ;height: 190px; border-radius:70%;">
@if ($profile_picture != null)
<img src = "{{ $profile_picture }}" style = "border-radius:70% ;width:auto; height:auto; object-fit: fill;">
@else
<svg xmlns = "http://www.w3.org/2000/svg" width = "auto" height = "auto" fill = "currentColor" class = "bi bi-person-circle" viewBox = "0 0 16 16">
<path d = "M11 6a3 3 0 1 1-6 0 3 3 0 0 1 6 0z"/>
<path fill-rule = "evenodd" d = "M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8zm8-7a7 7 0 0 0-5.468 11.37C3.242 11.226 4.805 10 8 10s4.757 1.225 5.468 2.37A7 7 0 0 0 8 1z"/>
</svg>
<i class = "bi bi-person-circle"></i>
@endif
</div>
</div>
Текущий код выглядит следующим образом (я поместил границу контейнера, чтобы его было легче увидеть)
Вы имеете в виду что-то вроде этого?
<div class = "d-flex justify-content-center">
<div class = "border border-danger" style = "width: 190px;height: 190px;border-radius:70%;">
@if ($profile_picture != null)
<img src = "{{ $profile_picture }}" style = "border-radius:70%;width: 100%;height:auto;">
@else
<svg xmlns = "http://www.w3.org/2000/svg" width = "auto" height = "auto" fill = "currentColor" class = "bi bi-person-circle" viewBox = "0 0 16 16">
<path d = "M11 6a3 3 0 1 1-6 0 3 3 0 0 1 6 0z"/>
<path fill-rule = "evenodd" d = "M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8zm8-7a7 7 0 0 0-5.468 11.37C3.242 11.226 4.805 10 8 10s4.757 1.225 5.468 2.37A7 7 0 0 0 8 1z"/>
</svg>
<i class = "bi bi-person-circle"></i>
@endif
</div>
</div>
Установка ширины изображения на 100% вместо автоматического в основном.
Вы также можете удалить радиус границы из img и установить переполнение для границы div.
Очень просто. Я использовал другой код, но вы можете применить его к вашему коду.
#pic {
background: no-repeat url("https://hips.hearstapps.com/hmg-prod.s3.amazonaws.com/images/dog-puppy-on-garden-royalty-free-image-1586966191.jpg?crop=1.00xw:0.669xh;0,0.190xh&resize=640:*");
width: 200px;
background-size: cover;
background-position: 60% 10%;
height: 200px;
border: 2px solid red;
border-radius: 200px;
}
<div id = "pic">
</div>