2012-04-24 2 views
1

Где-то на странице, как сделать div-a2 над div-a1? Конечно, я не могу сделать div-a2 выше div-a1 в макете ниже.как разместить div в верхней части его родительского div

<div id=a> 

<div id=a1> something here 
</div> 
<div id=a2> show this part first 
</div> 

</div> 

все еще ищет лучшее решение. спасибо

+0

на „выше“ вы имеете в виду сориентированы или слоистый? –

+0

позиционируется, а не слой. thx –

+0

Разрешено ли jQuery? :) – sp00m

ответ

0

Вам нужно будет дать элементы абсолютной позиции CSS, а затем расположить их соответствующим образом в зависимости от размера содержимого каждого, как:

#a1,#a2{position:absolute;} 
#a2{ top: 0; } 
#a1{ top: 200px;} 

ИЛИ, в пределах родителя:

#a1,#a2{position:relative;} 
#a2{ top: 0; } 
#a1{ top: 200px;} 

Или, возможно, лучше альтернативный вариант - изменить порядок компоновки (но я предполагаю, что это невозможно по какой-то причине не указано).

Вот пример: http://jsfiddle.net/MarkSchultheiss/CRCvU/

Смотрите этот обновленный пример, где я использовал ю вместо пикселей для позиции, дал родителю границу, так что вы видите его объем, и добавил вещи вокруг родителя. http://jsfiddle.net/MarkSchultheiss/CRCvU/1/

Только в случае, если вы хотите идти по этому пути, вот код JQuery, чтобы сделать это:

var ah1 = $('#a1').height(); 
var ah2 = $('#a2').height(); 
var ah = $('#a').height(); 
var relpos = {float:"left", 
    display: "inline-block", 
    position: "relative", 
    clear: "both" 
}; 
$('#a').css({ 
    height: ah 
}); 
$('#a1, #a2').css(relpos); 
$('#a2').css('top', -ah1); 
$('#a1').css('top', ah2); 

Работа скриптового пример здесь: http://jsfiddle.net/MarkSchultheiss/CRCvU/3/

+0

это не 0, родительский div - это просто где-то на странице, а не на всей странице –

+0

ТАК, а родственник скорее всего то, чего вы желаете. –

+0

привет, отметьте, что, если я не знаю высоту div-a2? я действительно не знаю высоты div-a2. thx –

1

Вы можете добиться этого с чистым CSS. Написать так:

#a{ 
    display:-moz-box; 
    display:box; 
    display:-webkit-box; 
    -moz-box-direction:reverse; 
    box-direction: reverse; 
    -moz-box-direction:reverse; 
    -webkit-box-direction:reverse; 
    -moz-box-orient:vertical; 
    -webkit-box-orient:vertical; 
    box-orient:vertical;  
} 

' Проверить это http://jsfiddle.net/ASVtx/1/

+0

Это решение не работает, то есть, правильно? –

+0

да, это свойство css3 – sandeep

+0

не все браузеры поддерживают «ящик» –

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