Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Задать высоту элементу в зависимости от высоты другого (https://javascript.ru/forum/jquery/66070-zadat-vysotu-ehlementu-v-zavisimosti-ot-vysoty-drugogo.html)

white_raven 23.11.2016 19:29

Задать высоту элементу в зависимости от высоты другого
 
Добрый вечер! Прошу помощи у знающих, т.к. только осваиваюсь.
Пытаюсь прописать скрипт так, чтобы высота колонок задавалась в зависимости от высоты контента некоего блока, абсолютно на них спозиционированного. Т.е. высота контента будет авто, а высота этих колонок должна = высота автоматического контента + , скажем, 20px.
Это вообще возможно?
Собственно, вот:
https://jsfiddle.net/ga7Ldpup/5/

Помогите пожалуйста!

ksa 24.11.2016 08:56

Цитата:

Сообщение от white_raven
Это вообще возможно?

Пуркла бы не па...
Извините за мой французский. :D

<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='http://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
.layer1{height:200px;
       background-color: black;
        position: relative;
        z-index: 0;}
    
.col{width: 30px;
	   border-right: 1px solid white;
     float:left;}

.layer2{position: absolute;
        top: 0;
        z-index: 1;
        color: red;
        text-transform: uppercase;}
        
.example{margin-top: 10px;
        height: 80px;
        width: 80px;
        background-color: grey;
        position relative;
        z-index: 10;
        color: black;}
</style>
<script type='text/javascript'>
$(function (){
	var hg=$('.layer2').height();
	hg=hg+20+'px';
    $('.col').height(hg);
});
</script>
</head>
<body>
<div class="container">
    <div class="layer1">
         <div class="col"></div>
         <div class="col"></div>
         <div class="col"></div>
         <div class="col"></div>
         <div class="col"></div>
         <div class="col"></div>
     </div>
     <div class="layer2">
         <div class="example">фото</div>
         <div>вся структура страницы</div>
     </div>
</div>
</body>
</html>

white_raven 24.11.2016 12:55

ой, а не работает, кажется.. колонок нет :-?

Dilettante_Pro 24.11.2016 13:06

white_raven,
Вставьте в них что-нибудь

white_raven 24.11.2016 13:18

А что же в них вставить? По идее они должны быть пустыми и регулироваться от высоты контента не своего, а другого блока - как-то так. Полоски просто как фон

ksa 24.11.2016 14:41

Цитата:

Сообщение от white_raven
А что же в них вставить?

Это уже тебе решать... :)

white_raven 24.11.2016 15:00

Т.е. если ничего не вставлять и реализовать идею никак нельзя?
Простите, за занудство, просто ещё совсем чайник)

Dilettante_Pro 24.11.2016 15:06

<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='http://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
.layer1{height:200px;
       background-color: black;
        position: relative;
        z-index: 0;}
    
.col{ position:relative;
          width: 30px;
	   border-right: 1px solid white;
     float:left;}

.layer2{position: absolute;
        top: 0;
        z-index: 1;
        color: red;
        text-transform: uppercase;}
        
.example{margin-top: 10px;
        height: 80px;
        width: 80px;
        background-color: grey;
        position relative;
        z-index: 10;
        color: black;}
</style>
<script type='text/javascript'>
$(function (){
	var hg=$('.layer2').height();
	hg=hg+20+'px';
    $('.col').height(hg);
});
</script>
</head>
<body>
<div class="container">
    <div class="layer1">
         <div class="col"></div>
         <div class="col"></div>
         <div class="col"></div>
         <div class="col"></div>
         <div class="col"></div>
         <div class="col"></div>
     </div>
     <div class="layer2">
         <div class="example">фото</div>
         <div>вся структура страницы</div>
     </div>
</div>
</body>
</html>

ksa, Визуализация помогает... переставил ;
убрал nnn
в col добавил position

ksa 24.11.2016 15:29

white_raven, у меня там ; лишняя. :D

Цитата:

Сообщение от ksa
hg=hg+20+'px;'

Нужно без нее

hg=hg+20+'px';

Dilettante_Pro 24.11.2016 15:50

ksa,
Отредактировал пример


Часовой пояс GMT +3, время: 03:30.