Ошибка размера родителя при адаптации в CSS
Я задал родителю ширину в 1280px, но при адаптации для маленьких скринов обнаружил, что этот элемент имеет ширину не в 1280px, а около 440. С чем это связано? css:
.registration-form {
position: relative;
height: 100vh;
max-width: 1280px;
margin: 0 auto;
}
/* Стили для заднего фото */
.image-background {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: -1;
overflow: hidden; /* Предотвращаем прокручивание контейнера */
}
.image-background img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center; /* Чтобы изображение было центрировано */
}
/* Убрать отступы по умолчанию */
body, html {
margin: 0;
padding: 0;
}
.Logo{
position: relative;
height: 3%;
width: 3%;
top: 7%;
left: -7%;
z-index: 2;
}
.Slogan{
position: relative;
color: white;
top: 37%;
left: 10%;
font-size: 2vw;
}
/* Стили для контейнера с кнопками */
.login-buttons {
display: flex;
position: absolute;
flex-direction: column; /* Кнопки будут располагаться вертикально (одна под другой) */
align-items: center; /* Выравнивание элементов по центру по горизонтали */
top: 40%;
left: 65%;
z-index: 3;
height: 50%;
width: 20%;
}
/* Стили для кнопок */
.login-button {
background-color: #0080ff; /* Голубой цвет */
color: #fff; /* Белый цвет текста */
width: 100%;
height: 11.5%;
margin-bottom: 20px;
font-size: 16px;
border-radius: 13px;
border: none;
cursor: pointer;
}
.register-button {
background-color: #681cff; /* Зеленый цвет */
color: #fff; /* Белый цвет текста */
width: 100%;
height: 11.5%;
font-size: 16px;
border-radius: 13px;
border: none;
cursor: pointer;
}
.registration-overlay {
position: absolute;
width: 24%;
height: 22%;
top: 47%;
left: 75%;
transform: translate(-50%, -50%); /* Центрирование по горизонтали и вертикали */
background-color: rgba(0, 0, 0, 0.5); /* Полупрозрачный черный цвет */
z-index: 2; /* Закрываем фон, но оставляем кнопки видимыми */
border-radius: 30px;
box-shadow: 2px 2px 2px 0 rgba(0, 0, 0, 0.7);
}
/* Очень маленькие экраны (портретная ориентация): ширина до 360px */
@media (orientation: portrait) and (min-width: 360px) and (max-width: 460px) {
.Logo{
position: relative;
width: 7%;
height: 7%;
top: 4%;
left: 12%;
z-index: 2;
}
.Slogan{
color: white;
top: -7%;
left: 24%;
font-size: 5vw;
width: 80%;
word-wrap: break-word;
}
.login-buttons {
top: 50%;
left: 16%;
height: 25%;
width: 65%;
font-size: 2.5vh;
margin-bottom: 9%;
}
.login-button {
width: 80%;
height: 30%;
border-radius: 11px;
}
.register-button {
width: 80%;
height: 30%;
border-radius: 11px;
}
.registration-overlay {
width: 63%;
height: 28%;
top: 59%;
left: 48.3%;
}
}
Так же хотел спросить, если нужно, чтобы сайт на ультрашироких мониках был по средине, то для родителя лучше задать сразу фиксированую ширину (как я) или лучше 100vw, а потом через медиа для ультрашириков ограничивать?
Источник: Stack Overflow на русском