Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Чтобы футер "скрывал" нижнюю часть колонки.

Сообщения:  [1-10]    [11-20]  [21-24] 

 
 автор: Boris   (20.07.2010 в 19:44)   письмо автору
 
   для: sim5   (20.07.2010 в 18:07)
 

Ключевая фраза
"чтобы она зависела от высоты блока контента"

Когда контент превышает высоту экрана, появляется прокрутка, но ограниченный (overflow: hidden) блок с моей картинкой так и остается ограниченным высотой экрана.
Я в тупике.

<body> 

<style>
 html, body { 
  height:100%; 
  margin: 0;
  padding: 0;
}
.wrap {
    height:100%;
    background: blue;
    float: left;
}
#inner_block_1{
  height:100%;
  min-height:100%;
  background-color: red;
  overflow: hidden;
  width: 500px;
  float: left;
}
#inner_block_2{
  height:auto!important;
  height:100%;
  min-height:100%;
  width: 500px;
}
.menu {
    background: pink;
    width: 500px;
    height: 400px;
}
.img {
    background: brown;
    width: 100px;
    height: 500px;
}
.content {
    width: 400px;
    float: right;
    height: 2000px;
    background: orange;
}
</style>
<body>
 <div class="wrap">
  <div id="inner_block_1">
   <div id="inner_block_2">
    <div class="menu">menu</div>
    <div class="img">img</div>
   </div>
  </div>
 <div class="content">content</div>
</div>
</body>

  Ответить  
 
 автор: psychomc   (20.07.2010 в 18:16)   письмо автору
 
   для: Boris   (20.07.2010 в 16:19)
 

пардон

document.getElementById('id').style.backgroundPosition

  Ответить  
 
 автор: sim5   (20.07.2010 в 18:07)   письмо автору
 
   для: Boris   (20.07.2010 в 18:01)
 

То есть можно обрезать снизу, а не скрывать его? Тогда зачем вычисления, поместите сразу под меню это изображение (не нравится, можете div c размером его и фоном этой картинки), поместите эти два элемента в родительский div со стилем overflow: hidden, высотой 100%, так чтобы она зависела от высоты блока контента, и все должно по идее получится так, как вам надо.

  Ответить  
 
 автор: Boris   (20.07.2010 в 18:01)   письмо автору
 
   для: sim5   (20.07.2010 в 17:56)
 

Спасибо за внимание ко мне, но нужно чтобы его скрывало с низу, а меню ничего не перекрывало.
Вот в чем сложность!

Ну я же елочку не зря нарисовал.

  Ответить  
 
 автор: sim5   (20.07.2010 в 17:56)   письмо автору
 
   для: Boris   (20.07.2010 в 17:43)
 

Если у вас эта картинка фоновая для элемента, который является родителем для меню, то left bottom позиция ему, а меню его и будет перекрывать по мере своей. Вот я и не понимаю, зачем тогда вам вся эта кухня?
Если это изображение уж настолько ценно и необходимо, то измеряйте высоту контента, сравниваейте с выстой меню плюс высотой изображения, и изменяйте стиль позиции по высоте на top, например.

  Ответить  
 
 автор: Boris   (20.07.2010 в 17:43)   письмо автору
70.6 Кб
 
   для: sim5   (20.07.2010 в 17:05)
 

>background: url(images/letters_in_left.gif) 0 [полученная высота] - у вас оно что, резиновое?
В квадратных скобках указывается значение, на которое бекраунд смещается относительно верхней границы блока для которого он задан.

background: url(images/letters_in_left.gif) 0 0 no-repeat;

- прижать бекраунд в верхний левый угол.

>Такой элемент будет сдвигаться вниз в зависимости от высоты меню, и его в зависимости от высоты элемента контента нужно либо показать, либо скрыть.
только его нужно скрывать постепенно.

См. рисунок.

  Ответить  
 
 автор: sim5   (20.07.2010 в 17:05)   письмо автору
 
   для: Boris   (20.07.2010 в 16:07)
 

Какая-то лажа у вас непонятная. Вот ваши элементы:
<div class="columns"> 
 <div class="left-col"> 
  <div class="menu"> 
   <ul><li>....</li></ul> 
  </div> 
 </div> 
 <div class="content">content</div> 
</div> 
<div class="footer">footer</div>

Если картинка, это фон под меню, то от чего тогда такая головная боль? Меню либо будет ее перекрывать, либо нет, но уж двигать ее никак не сможет. Зачем тогда вы вставляете это изображение? И если это просто декоративный фон, то зачем прятать изображение?
Понятно еще, что внизу меню есть элемент, в котором изобажение, или фон у него изображение. Такой элемент будет сдвигаться вниз в зависимости от высоты меню, и его в зависимости от высоты элемента контента нужно либо показать, либо скрыть.
background: url(images/letters_in_left.gif) 0 [полученная высота] - у вас оно что, резиновое? Узнавать надо не высоту изображения фонового, вы и так ее по идее знать должны, а высоту родительского контейнера меню и высоту контейнера контента. Если высота контента плюс/минус условие, меньше высоты меню плюс высота изображения, значит скрыть изображение (элемент с ним).
Подставляют не в CSS, а указывают стиль элементу.

  Ответить  
 
 автор: Boris   (20.07.2010 в 16:57)   письмо автору
 
   для: sim5   (20.07.2010 в 16:40)
 

Да, я узнаю высоту блока Меню и на это значение смещаю вниз бекраунд (картинку) в блоке columns.

Картинка оказывается прямо под блоком Меню. См. рисунок парой постов выше.
Это тренировочный пример. Тут просто задача поместить бекраунд под блоком div_id.


<body onload="SetItem();"> 
<style>
 #div_id {
     background: red;
 }
#columns {
    padding: 0 0 200px 0;
}
</style>
<div id="columns" style="padding: 0 0 200px 0">
<div id="div_id"> 
    dfdfdfdf<br><br> 
    fgffgfgfgfg<br><br> 
    fgffgfgfgfg<br><br> 
    fgffgfgfgfg 
</div>
</div> 


<script language="JavaScript" type="text/javascript">
function SetItem()
{
var oBlock = document.getElementById('div_id');
var el = document.getElementById('columns');
el.style.background = "url(images/letters_in_left.gif) 0px "+oBlock.offsetHeight+"px no-repeat;"
}
</script>


Но работает только в ИЕ :((

  Ответить  
 
 автор: sim5   (20.07.2010 в 16:40)   письмо автору
 
   для: psychomc   (20.07.2010 в 16:17)
 

Уверены?

  Ответить  
 
 автор: Boris   (20.07.2010 в 16:19)   письмо автору
 
   для: psychomc   (20.07.2010 в 16:17)
 

Спасибо за ответ, но у меня бекраунд.

  Ответить  

Сообщения:  [1-10]    [11-20]  [21-24] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования