Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.09.2017, 11:17
Аспирант
Отправить личное сообщение для Tanya51 Посмотреть профиль Найти все сообщения от Tanya51
 
Регистрация: 09.07.2017
Сообщений: 49

Динамическое изменение отступа блока сверху окна браузера
Такой вопрос:
У меня есть в верстке абсолютно позиционированный блок(слайдер), за ним идет следующий блок (main), обычное позиционирование. Мне надо чтоб блок main отступал сверху на высоту блока слайдера + высота верхнего меню (110px).

Есть такой код:
'use strict'
var heightImg = $('#carousel-img').height();
//console.log( heightImg);
var heightTop = heightImg + 110;
$('main').offset({top:heightTop});


Блок main отступает на высоту блока слайдера,что надо. Но мне надо, чтоб это происходило динамически. Т.е. при изменении ширины экрана менялся и отступ.
У слайдера высота не фиксированная.Высота слайдера зависит от высоты картинки(тег img).

Помогите пожалуйста, я не знаю как сделать можно.
Ответить с цитированием
  #2 (permalink)  
Старый 22.09.2017, 13:48
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Сообщение от Tanya51
я не знаю как сделать можно
Например не использовать абсолютное позиционирование... Пусть эти два элемента будут в одном потоке - тогда один будет влиять на другой...
Ответить с цитированием
  #3 (permalink)  
Старый 22.09.2017, 14:02
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

<!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
Ответить с цитированием
  #4 (permalink)  
Старый 22.09.2017, 14:14
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

меню приделал для наглядности

<!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>
Ответить с цитированием
  #5 (permalink)  
Старый 22.09.2017, 14:18
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Еще можно
display:flex;
flex-direction:column;
Ответить с цитированием
  #6 (permalink)  
Старый 22.09.2017, 18:00
Аспирант
Отправить личное сообщение для Tanya51 Посмотреть профиль Найти все сообщения от Tanya51
 
Регистрация: 09.07.2017
Сообщений: 49

спасибо всем.
Буду разбираться.
А про flex я чего-то даже и не вспомнила))
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение размера окна браузера pv! Общие вопросы Javascript 10 29.09.2019 08:45
Появление блока когда курсор мыши опускается ниже окна браузера runyugin Элементы интерфейса 1 26.06.2015 08:34
Смещение блока при изменении размера окна браузера sedovat Элементы интерфейса 1 07.10.2014 14:51
Динамическое получение ширины и высоты окна браузера Esseron Элементы интерфейса 2 04.04.2011 16:00
Два блока div разъезжаются при скроллинге окна браузера. call007 jQuery 0 03.04.2011 16:21