2014-09-18 3 views
0

Как я могу разместить div на элементе img? Также я хотел бы сделать это немного снаружи.CSS, как изменить переполнение родительского элемента?

У меня есть что-то вроде этого:

<div class="slide"> 
    <div class="arrow"> 
     <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer scelerisque ex eget ultricies blandit.</p> 
    </div> 
    <img src="http://boallen.com/assets/images/randbitmap_true.png"> 
</div> 

А вот мой стиль CSS:

.arrow { 
     max-width: 300px; 
     background-color: #FAFAFA; 
     position: absolute; 
    } 
    .arrow:after { 
     left: 100%; 
     bottom: 0px; 
     content: " "; 
     height: 0; 
     width: 0; 
     position: absolute; 
     pointer-events: none; 
     border-width: 15px; 
     border-bottom: 30px solid #FAFAFA; 
     border-right: 30px solid transparent; 
    } 

Так как я могу это сделать? поместить мой указатель стрелки на изображение немного снаружи? и я не хочу устанавливать изображение в качестве фона, мне нужно, чтобы он находился в теге img.

@update

держать в Minde я не хочу, чтобы изменить стиль .slide элемента. и у меня есть overflow: hidden;, так как сделать мой элемент arrow не скрытым?

проверить его здесь: http://jsfiddle.net/pyx3zx25/9/

как изменить переполнение родительского элемента?

+2

ваш вопрос не ясен. что вы хотите делать именно здесь? –

+0

вы пробовали определить 'div' с изображением в качестве фона этого' div' и положить в него другой 'div'? – orezvani

+0

Я не уверен, что это то, чего вы хотите достичь, но посмотрите здесь: http://jsfiddle.net/pyx3zx25/2/ – ondObno

ответ

0

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

.arrow { 
      max-width: 300px; 
      background-color: #FAFAFA; 
      position: absolute; 
      top:200px; 
      left:100px; 
} 

вы можете добавить топ: 10px; Слева: 0px; Я думаю, что эти значения дадут вам желаемый результат

+0

Хорошо, я установил значение 'top: -50px;' и отрезал часть за пределами изображения. i assumme его из-за родительского стиля контейнеров, но я не могу понять наш с одним – Vardius

0

Просто используйте «отрицательное значение» сверху и влево.

.arrow { 
 
      max-width: 300px; 
 
      background-color: #FAFAFA; 
 
      position: absolute; 
 
      top:-10px; 
 
      left:-10px; 
 
     }

0

Вы можете попробовать.

.slide{ 
     position: relative; 
     height: 521px; 
     width: 521px; 
    } 

    .arrow { 
      max-width: 300px; 
      background-color: #FAFAFA; 
      position: absolute; 
      top:40%; 
      left:20%; 

    } 

Update

+0

oe его прекрасный здесь http://jsfiddle.net/pyx3zx25/5/ но на моей стороне Wordpress его вырезать вне изображения – Vardius

+0

здесь у вас есть screenshote из моего веб-сайта: http://scr.hu/34xg/q2lmy – Vardius

+0

вы указали неправильное значение в jsfiddle.net/pyx3zx25/5, что -40pz, вы должны это сделать -40px –

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