Динамическое изменение отступа блока сверху окна браузера
Такой вопрос:
У меня есть в верстке абсолютно позиционированный блок(слайдер), за ним идет следующий блок (main), обычное позиционирование. Мне надо чтоб блок main отступал сверху на высоту блока слайдера + высота верхнего меню (110px). Есть такой код:
'use strict'
var heightImg = $('#carousel-img').height();
//console.log( heightImg);
var heightTop = heightImg + 110;
$('main').offset({top:heightTop});
Блок main отступает на высоту блока слайдера,что надо. Но мне надо, чтоб это происходило динамически. Т.е. при изменении ширины экрана менялся и отступ. У слайдера высота не фиксированная.Высота слайдера зависит от высоты картинки(тег img). Помогите пожалуйста, я не знаю как сделать можно. |
Цитата:
|
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
.slider{
top: 0;
left: 0;
position: absolute;
width: 100%;
height: 100%;
}
img{
display: block;
position: relative;
width: 100%;
}
.main{
margin-top: 110px;
height: 100px;
background-color: blue;
color: white;
}
.hid{
visibility: hidden;
}
.wrap{
position: relative;
}
</style>
</head>
<body>
<div class="wrap">
<div class="hid"><img src="https://javascript.ru/forum/images/ca_serenity/misc/logo.gif" alt=""></div>
<div class="slider"><img src="https://javascript.ru/forum/images/ca_serenity/misc/logo.gif" alt=""></div>
<div class="hid"><img src="https://javascript.ru/forum/images/ca_serenity/misc/logo.gif" alt=""></div>
<div class="main">main</div>
</div>
</body>
</html>
Вот вам решение без JS |
меню приделал для наглядности
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
*{
font-size: 30px;
}
.slider{
margin-top: 110px;
top: 0;
left: 0;
position: absolute;
width: 50%;
}
img{
display: block;
position: relative;
width: 100%;
}
.main{
height: 100px;
background-color: blue;
color: white;
}
.hid{
width: 50%;
visibility: hidden;
}
.wrap{
position: relative;
}
.menu{
background-color: green;
height: 110px;
}
</style>
</head>
<body>
<div class="wrap">
<div class="menu">Меню</div>
<div class="hid"><img src="https://javascript.ru/forum/images/ca_serenity/misc/logo.gif" alt=""></div>
<div class="slider"><img src="https://javascript.ru/forum/images/ca_serenity/misc/logo.gif" alt=""></div>
<div class="hid"><img src="https://javascript.ru/forum/images/ca_serenity/misc/logo.gif" alt=""></div>
<div class="main">main</div>
</div>
</body>
</html>
|
Еще можно
display:flex; flex-direction:column; |
спасибо всем.
Буду разбираться. А про flex я чего-то даже и не вспомнила)) |
| Часовой пояс GMT +3, время: 09:51. |