Итак, на этой странице у меня есть панель входа в систему справа и нижний колонтитул внизу, и я хочу, чтобы div находился в области, в настоящее время занимаемой фоновым изображением, и заполнял ее полным фоновым изображением.
На данный момент все завернуто в обертку, а фоновое изображение скрыто за логином.
<section id = "wrapper" class = "login-register">
<div class = "login-box login-sidebar">
<div class = "white-box">
<form class = "form-horizontal form-material" id = "loginform">
@{ Html.RenderPartial(SharedPartialViews.Logo.GetDescriptionAttribute()); }
@if (CurrentURL.Contains("Login"))
{
<div>
<h4 style = "text-align:center;margin-bottom: -1px; margin-top:5px;">Investor Portal Login</h4>
</div>
}
@{ Html.RenderAction(nameof(SystemMessagesController.GetLoginSystemMessages), nameof(SystemMessagesController).GetControllerName()); }
</form>
@{ Html.RenderPartial(SharedPartialViews.CookieAlert.GetDescriptionAttribute()); }
<div id = "mainBody">
@RenderBody()
</div>
</div>
</div>
<div id = "backgroundImage" class = "" style = "position:relative;height:95%!important;width: 75%!important;">
</div>
<div class = "login-footer">
@{ Html.RenderPartial(FooterPartialViews.Index.GetDescriptionAttribute()); }
</div>
</section>
Div фонового изображения - это тот, который я пытаюсь разместить в этой области. Итак, в основном я хочу, чтобы этот div помещался слева от панели навигации и над нижним колонтитулом и был отзывчивым. Я смог просто вставить туда размерную рамку с изображением, но во второй раз, когда размер страницы изменился, размер изображения не изменился.
Вот некоторые из css, которые создают это.
Я пробовал кучу вещей. Мне просто нужен новый контейнер div, который заполнит эту область между меню входа в систему и нижним колонтитулом. И пусть этот контейнер содержит все фоновое изображение, а не прячет его за меню входа в систему.
Спасибо.
Лучший способ сделать это с помощью grid.
Ваш раздел будет сеткой с 2 столбцами и 2 строками. Нижний колонтитул входа охватывает оба столбца. Установите высоту секции на 100vh, если вы хотите, чтобы она соответствовала размеру окна просмотра.
.login-register {
display: grid;
/* image col 2x form col */
grid-template-columns: 2fr 1fr;
/* footer row is only as tall as content */
grid-template-rows: auto min-content;
/* height of viewport */
height: 100vh;
}
.background-image {
background-image: url(https://picsum.photos/id/48/500/200);
background-size: cover;
background-position: 75% bottom;
}
.login-box {
/* align form vertically in col */
align-self: center;
/* align form horizontally in col */
justify-self: center;
max-width: 20rem;
width: 100%;
}
.login-footer {
/* footer spans all columns */
grid-column: 1 / -1;
border-top: 1px solid hsl(0 0% 80%);
color: hsl(0 0% 60%);
padding: 1rem 2rem;
display: flex;
justify-content: center;
align-items: center;
gap: 1rem;
font-size: .85rem;
}
* {
/* make sure to set box-sizing */
box-sizing: border-box;
margin: 0;
font-family: sans-serif;
}
/* just for demo purposes */
form {
display: grid;
padding: 1rem;
gap: .5rem;
}
input {
padding: .25rem;
border: 1px solid hsl(0 0% 70%);
width: 100%;
}
::placeholder {
color: hsl(0 0% 70%);
}
button {
padding: .5rem .75rem;
text-transform: uppercase;
background-color: hsl(204 72% 30%);
border: 0;
color: white;
width: 100%;
}
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border-width: 0;
}
<section class = "login-register">
<div class = "background-image"></div>
<div class = "login-box login-sidebar">
<div class = "white-box">
<form class = "form-horizontal form-material" id = "loginform">
<div>
<h4 style = "text-align:center;margin-bottom: -1px; margin-top:5px;">Investor Portal Login</h4>
</div>
<label for = "email" class = "sr-only">Email</label>
<input type = "email" id = "email" name = "email" placeholder = "Email" />
<label for = "pw" class = "sr-only">Password</label>
<input type = "password" id = "pw" name = "password" placeholder = "Password" />
<button type = "submit">Login</button>
</form>
<div id = "mainBody"></div>
</div>
</div>
<div class = "login-footer">
<span>privacy policy</span>
<span>terms of use</span>
<span>contact us</span>
</div>
</section>
Можете ли вы добавить изображение окончательного вывода, которое вы ожидаете, и если вы можете добавить код в качестве рабочего фрагмента, его будет легче понять.