Javascript.RU

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

Сообщение от Триви Посмотреть сообщение
Доброй ночи, коллеги.. Никак не получается привязать содержимое дива к его низу..
Ну и чтоб кроссбраузерно было разумеется..
Чо я только не делал уже..
Если прописать диву display:table-cell; vertical-align:bottom;
то атрибут таблиц width перестаёт быть резиновым почему то,
да плюс ко всему прочему пропадает скролл на диве((
Вопсчим, жесть

<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
   // расчёт высоты div#outer 
   // (обязательно нужно, не буду объяснять зачем,
   // т.к. пример сильно упрощённый)
   var window_h = $(window).height();
   var outer_h=window_h-200;
   $("#outer").css({'overflow-y': 'scroll', 'height': outer_h, 'width': '100%'});

   block = mess("Вася Пупкин", "Всем привет, меня зовут Василий.", "11.09.2011") +
           mess("Стояна Ракова", "Всем привет, я Стояна.", "10.09.2011");
   $('#topic').scrollTop($('#topic').html(block));
});

function mess(users_name, message, date_string) {
  var mess_block = '<table width=100% border="1" style="margin-bottom:10px"> \
                      <tr> \
                        <td><p><b>' + users_name + '</b></p></td> \
                        <td align="right"><p>' + date_string + '</p></td> \
                      </tr> \
                      <tr> \
                        <td colspan=2><p>' + message + '</p></td> \
                      </tr> \
                    </table>';
  return mess_block;
}
</script>


<body style="margin:0">
<div style="background-color:#CCC; height:200px; border: 1px solid"><h1>Ш А П К А</h1></div>

<div id="outer">
  <div id="topic"></div>
</div>
</body>


Пример в дейстивии
Лично я так поступил_ сделал как делают строители -померял контейнер и его сss top ,затем снял верикальн размер контента и его сss top ...ну и далее арифметика пошла в си эс эсе контента по top .все дивы у меня абсолютные с разными z-index*ами
Вот -смотри
http://www.youtube.com/watch?feature...-cFPGukM#at=66
__________________
http://www.youtube.com/watch?feature...&v=cz0uN1ZNuM0
История не в теории ,а по факту

Последний раз редактировалось Андрей38, 15.09.2011 в 17:52.
Ответить с цитированием
  #12 (permalink)  
Старый 22.09.2011, 16:55
Профессор
Отправить личное сообщение для Триви Посмотреть профиль Найти все сообщения от Триви
 
Регистрация: 23.04.2010
Сообщений: 354

Андрей38,
Забыл уже про этот топик))
Да, я так и сделал в результате.
Проще блин самому рассчитать, чем возиться с этими стилями..
Приемлемого решения на css, соответствующего моим требованиям, я не нашел..
Поэтому примерно так:

<style>
div#outer {
  width:100%;
  height:300px;
  background-color:#F00;
  border: 1px solid;
  overflow-y:scroll
}
div#topic {
  background-color:#0F0;
  border: 1px solid;
}
</style>

<div id="outer">

  <div id="topic">

    <table width=100% border="1">
     <tr>
       <td><p><b>Вася Пупкин</b></p></td>
       <td align="right"><p>11.09.2011</p></td>
     </tr>
     <tr>
       <td colspan=2><p>Всем привет, меня зовут Василий.</p></td>
     </tr>
    </table>

  </div>

</div>

<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<script type="text/javascript">
var outer = $("#outer"), topic = $("#topic"),
    outer_h = outer.height(), topic_h = topic.height(), topic_top = outer_h - topic_h;

(topic_h < outer_h) ? topic_top : topic_top = 0;
topic.css('margin-top', topic_top + 'px');
</script>

Последний раз редактировалось Триви, 06.10.2011 в 09:10. Причина: забыл за-hide-ить длинный код
Ответить с цитированием
  #13 (permalink)  
Старый 06.10.2011, 01:20
Профессор
Отправить личное сообщение для Seva1986 Посмотреть профиль Найти все сообщения от Seva1986
 
Регистрация: 01.10.2011
Сообщений: 422

Триви,

div#outer {
width:100%;
height:300px;
background-color:#F00;
border: 1px solid;
overflow-y:scroll;
position:relative;
}
div#topic {
position:absolute;
bottom:0;
left:0;
right:0;
background-color:#0F0;
border: 1px solid;
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скроллить до определенной строки внутри div Putnik Элементы интерфейса 1 15.08.2011 16:52
ширина Input внутри div jetli13 (X)HTML/CSS 3 28.09.2010 19:01
вертикальное выравнивание micscr (X)HTML/CSS 1 16.01.2010 13:50
Перемещение div внутри другого Danila74 jQuery 1 24.09.2009 17:31
div с overflow-y: scroll; + большой контент + Opera/Firefox bug no. Общие вопросы Javascript 2 24.02.2009 11:20