2013-03-03 4 views
0

У меня есть простая программа, которая эхообращает изображения на страницу из базы данных. Я хочу иметь дочерний элемент, просто простую прозрачную коробку, показанную поверх изображений.Изображение DIV Covering Child DIV

Я знаю, что дочерние элементы всегда имеют более высокий z-индекс, чем родительский, но изображение всегда покрывает ящик сверху. Когда страница загружается, я могу видеть поле в нужном месте, но затем, когда загрузка изображений и окно исчезают.

Вот jsFiddle: http://jsfiddle.net/EBvCZ/

PHP

echo '<div id="wrapper">'; 
    while ($data = mysql_fetch_array($query_run)) {          
     echo '<div id="picback"><div id="centerpic"><a href="image.php?photo_id='.$data['photo_id'].'" title="View Photo"><'.'img src="resizeimage.php?photo_id='.$data['photo_id'].'"></a>'; 
     echo '<br style="clear:both;" />'; 
     echo '<div id="titlepic">This is an image</div>'; 
     echo '</div></div>'; 
    } 
echo '</div> 

CSS

#wrapper { 
    overflow:auto; 
    width:1000px; 
    height:1000px; 
    margin: 20px auto; 
} 

#titlepic { 
    background-color:rgba(0, 0, 0, 0.5); 
    top:100px; 
    width:200px; 
    height:35px; 
    position:relative; 
} 

#centerpic { 
    position:relative; 
    margin:auto; 
    width: 200px; 
    height: 150px; 
    top:18.75px; 
    overflow:hidden; 
} 

#picback { 
    position:relative; 
    margin:10px 23px; 
    top:75px; 
    float:left; 
    width:250px; 
    height:187.5px; 
    overflow:hidden; 
} 

#picback:hover { 
    background-color:rgb(190,190,190); 
    -webkit-border-radius:0.4em; 
    -webkit-transition: background-color 0.5s; 
} 
+2

jsFiddle был бы хорош; P –

+0

Я добавил jsFiddle для вас. – Pachonk

+0

@Pachonk спасибо! – user2127833

ответ

0

Вот это рабочая скрипка расслоения плотного: http://jsfiddle.net/XKHZv/3/

Я сделал некоторые изменения .css и также переместил один div для e the titlepic.

Вот ваш новый .css:

#wrapper { 
    overflow:auto; 
    width:1000px; 
    height:1000px; 
    margin: 20px auto; 
} 
#titlepic { 
    margin-left:auto; 
    margin-right:auto; 
    background-color:rgba(0, 0, 0, 0.5); 
    width:200px; 
    height:35px; 
    position:relative; 
    clear: both; 
} 
#centerpic { 
    position:relative; 
    margin:auto; 
    width: 200px; 
    height: 150px; 
    top:18.75px; 
    overflow:hidden; 
} 
#picback { 
    position:relative; 
    margin:10px 23px; 
    top:75px; 
    float:left; 
    width:250px; 
    height: 203.75px; 
    overflow:hidden; 
} 
#picback:hover { 
    background-color:rgb(190, 190, 190); 
    -webkit-border-radius:0.4em; 
    -webkit-transition: background-color 0.5s; 
} 

Тогда вы должны переместить закрытие Div, чтобы перед титульным рис.

+0

Спасибо, на самом деле я понял, что все, что мне нужно сделать, это закрыть div «centerpic», а затем отбросить поле div, и это то, что я вижу. Я должен был ответить раньше, чтобы у меня это получилось, извините. Я все еще не уверен, почему помещение коробки в centerpic не работает, так как ребенок должен был прийти на вершину, но теперь он работает! Супер спасибо за jsfiddle и CSS! – user2127833

+0

Да, нет проблем! Отрасль, возможно, 15 минут, глядя на него, но это работает для SO-приятеля. – Pachonk

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