2013-08-28 4 views
0

Я пытаюсь расположить два div на левом и правом концах родительского div с некоторым отрицательным отрывом. Смотрите мою скрипку: http://jsfiddle.net/z9Unk/239/z-индекс абсолютного элемента внутри относительного элемента

Но мои абсолютные divs (часть с отрицательными полями) сложены за разделителем paren. Вместо этого я хочу, чтобы они были поверх родительского div.

Что не так с моим кодом ниже?

Даже если я установил z-index: 100 для абсолютных элементов.

HTML

<div class="item1"> 
    <div class="item3 prev "> 
     Item3 
    </div> 
    <div class="item4 next"> 
     Item4 
    </div> 
    <div class="item2"> 
     item2 
    </div> 
    <div class="item2"> 
     item2 
    </div> 
</div> 

CSS:

.item1 { 
    position:relative; 
    white-space: nowrap; 
    width:auto; 
    overflow: hidden; 
    border:2px solid red; 
    display:inline-block; 
} 

.item2 { 
position:relative; 
    float:left; 
    background-color: green; 
    width : 255px; 
    height : 205px; 
    margin-right:6px; 
    border:1px solid blue; 
} 

.item3, .item4 { 
    top:65px; 
    display:block; 
    position: absolute; 
    width: 50px; 
    height: 50px; 
    border:1px solid black; 
    z-index:100; 
} 

.prev { 
    left:-25px; 
} 
.next { 
    right:-25px; 
} 
+0

Они смотрят сверху на меня - http://jsfiddle.net/danield770/z9Unk/240/ – Danield

+0

Для меня тоже. Firefox, Safari и Chrome. Какой браузер вы используете :-)? – dronus

+0

То, что я имел в виду, было в случае текста «item4», «m4» не видно, а в случае текста «item3», «ite» не видно. Я понимаю, что на левой стороне его конец тела ... НО для правой стороны m4 sld быть видимым – GJain

ответ

1

Ваша проблема не, что абсолютно размещены элементы получить размещены ниже родительского DIV, а - что вы толкнули их за пределы родительский div из-за отрицательных полей.

Решение:

Учитывая то, что вы заявили, что вам нужно отрицательные поля, как в спецификации - изменить свои отрицательные поля и изменить их text-align собственности.

.prev { 
    left:-15px; 
    text-align: right; 
} 
.next { 
    right:-15px; 
    text-align: left; 
} 

FIDDLE

+0

Я хочу -ve margin, так что item3,4 немного выходит из родительского div .... thats the design Я хочу иметь – GJain

+0

Так измените маржу в соответствии с вашими потребностями и таким образом, чтобы текст не обрезается – Danield

+0

спасибо за ваш ответ за то, что помогли мне ... Я мог найти «способ» установить поля, чтобы текст не обрезался ... поэтому я задал вопрос. – GJain

0

Проблема заключается в том, что контейнер DIV является overflow: hidden. Это свойство css разрезает prev/next divs.

Смотрите мое решение: http://jsfiddle.net/LLhZx/

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