2013-08-30 3 views
1

HTML кодустановить абсолютное DIV внутри прокрутки DIV

<div class="parent"> 
    <div class="normal"> 
    a<br />a<br />a<br />a<br />a<br />a... 
    </div> 
    <div class="abs"></div> 
</div> 

CSS код

.parent { 
    width:170px; height:300px; border:1px solid #000; 
    overflow:auto; position:relative; 
} 
.normal {} 
.abs { 
    height:40px; position:absolute; bottom:0; 
    background-color:gray; width:100%; 
} 

Как исправить .abs дел до дна .parent DIV?

+0

По Fixed, вы хотите, чтобы вставить его в конце DIV и все элементы должны прокручивать над ним ?? – Nitesh

+0

Будет что-то вроде этой работы? http://jsfiddle.net/GPJPq/ –

+0

следует зафиксировать внизу и все содержимое за ним. – Ashwin

ответ

-1

Вы должны установить родительский DIV в

position:relative; 

Или поправьте меня, если I'am неправильно.

+0

уже есть позиция: родственник не так ли? :) – Ashwin

+0

damn получил меня :-) – chris

0

HTML

<div class="parent"> 
    <div class="normal"> 
     a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br /> 
     <div class="abs"></div> 
    </div> 
</div> 

CSS

.parent {width:170px; height:300px; border:1px solid #000; overflow:auto; position:relative} 
.normal { position:relative; padding-bottom: 40px; } 
.abs {height:40px; position:absolute; bottom:0; background-color:gray; width:100%} 

DEMO

+0

Некоторое содержимое на самом деле маскируется '.abs' div ... вам нужно нижнее поле или отложить какое-то место .... см. Демонстрацию по адресу http: // jsfiddle. net/audetwebdesign/L4Ymb/1/ –

+0

@MarcAudet Спасибо за замечание .. Было решено –

+0

Я не могу поместить '.abs' внутрь' .normal'. У меня есть ограничения, например, в какой-то момент я заменяю все содержимое '.normal' – Ashwin

1

Я думаю, что это может быть то, что вы хотите:

Ваш оригинальный HTML был такой:

<div class="parent"> 
    <div class="normal"> 
    a<br />a<br />a<br />a<br />a ... a<br />a<br />bottom 
    </div> 
    <div class="abs"></div> 
</div> 

и для CSS, попробуйте следующее:

.parent { 
    width:170px; 
    height: 340px; 
    border:1px solid #000; 
    position:relative 
} 
.normal { 
    overflow:auto; 
    height: 300px; 
} 
.abs { 
    height:40px; 
    position:relative; 
    bottom: 0px; 
    background-color: rgba(123, 123, 123, 0.4); 
} 

Вы хотите, чтобы текст прокрутки, поэтому установите overflow: auto в .normal блок контейнера.

Ваш .parent имеет фиксированную высоту, поэтому отрегулируйте высоту .normal на общую высоту минус .abs.

См демо: http://jsfiddle.net/audetwebdesign/EbFXR/

+0

Вот решение - http://jsfiddle.net/GPJPq/1/ – Ashwin

Смежные вопросы