2013-05-11 2 views
2

То, что я пытаюсь собрать в основном переделке миниатюру YouTube с отметкой времени в правом нижнем углу изображения эскиза, как это:Div на вершине другой DIV

http://i.imgur.com/T1dXnhP.png

Однако я не может показаться, чтобы выяснить, как сделать временную метку выше изображения, а затем правильно позиционировать ее.

Вот JSFiddle: http://jsfiddle.net/MgcDU/4162/

HTML:

<div class="container"> 
    <div class="small-video-section"> 
    <div class="thumbnail-container"> 
     <img src="http://i2.ytimg.com/vi/yKWoPlL2B8I/mqdefault.jpg" width="220" /> 
    </div> 
    <div class="thumbnail-time"> 
     5:42 
    </div> 
    </div> 
</div> 

CSS:

.small-video-section { 
    height: 134px; 
} 

.thumbnail-container { 
    margin-top: 15px; 
    margin-right: 20px; 
} 

.thumbnail-last { 
    margin-top: 15px; 
} 

.thumbnail-time { 
    display: inline; 
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; 
    font-size: 12px; 
    color: #ffffff; 
    background-color: #000000; 
    opacity: 0.8; 
    padding: 2px 4px 2px 4px; 
} 

Пожалуйста, помогите!

+0

Абсолютное позиционирование внутри элемента является то, что вы ищете: на [css-tricks.com] (http://css-tricks.com/absolute-positioning-inside-relative-positioning/) или [интернет] (https://www.google.com/search?q=css+absolute+positioning+in+div) – Sherbrow

ответ

4

Вы можете попробовать добавить что-то вроде этого, чтобы ваш .thumbnail-time и перемещения его внутри .thumbnail-container:

display:inline-block; 
    position:relative; 
    bottom:18px; 
    right:52px; 

jsfiddle

если вы сейчас назначить ширину контейнера (скажем, 220px) и position:relative;, теперь вы можете добавить к вашей .thumbnail-time:

display:inline-block; 
    position:absolute; 
    bottom:10px; 
    right:10px; 

и время будет располагаться всегда на расстоянии 10 пикселей от нижней и правой стороны эскиза.

jsfiddle

+0

Если я нахожу время, скажем, 15:34, ящик выходит за пределы div. –

+2

затем попробуйте что-то вроде этого: http://jsfiddle.net/MgcDU/4191/ Я также обновил ответ, чтобы разместить эту проблему. –

+0

Спасибо, что работает сейчас. :) –

2
position: relative; 
left: 180px; 
bottom: 30px; 

Добавим, что в ваших .thumbnail времени работы, но это не может быть идеальным.

+0

Спасибо. :) Работал. –

+0

Проблема. Если я сделаю текст дольше, он выходит за пределы поля. –

+0

float: right заставит его расти влево, но вам придется пересмотреть некоторые вещи, чтобы сделать эту работу. решение, опубликованное Мартином Турджаком, намного лучше. –

2

Проверьте это: http://jsfiddle.net/MgcDU/4172/

Я не эксперт, но это работает. Если вы нашли лучший комментарий решения и дайте мне знать, так что я могу узнать, как хорошо :)

.small-video-section { 
    height: 134px; 
} 
.thumbnail-container { 
    margin-top: 15px; 
    margin-right: 20px; 
    position: absolute; 
    display:inline-block; 
} 
.thumbnail-last { 
    margin-top: 15px; 
} 
.thumbnail-time { 
    font-family:'Helvetica Neue', Helvetica, Arial, sans-serif; 
    font-size: 12px; 
    margin-top:20px; 
    position:absolute; 
    z-index:1; 
    color: #ffffff; 
    background-color: #000000; 
    opacity: 0.8; 
    padding: 2px 4px 2px 4px; 
    display:inline; 
} 
+0

Derp, думал, что вы хотите его сверху слева, должно быть легко исправить, хотя теперь, когда они перекрываются должным образом. – Senjai

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