Розміщення зображення у верхньому правому куті - CSS


125

Мені потрібно відобразити зображення в правому верхньому куті div (зображення є "діагональною" стрічкою), але зберігаючи поточний текст, що міститься у внутрішньому розділі, як приклеєному до його верхньої частини.

Я спробував різні речі, такі як включення зображення в інший div або визначення його класу, наприклад:

.ribbon {
   position: relative;
   top: -16px;
   right: -706px;
}

<div id="content">
   <img src="images/ribbon.png" class="ribbon"/>
   <div>some text...</div>
</div>

але без везіння Найкращий результат, який я отримав, - весь текст, прокручений вниз, на той самий розмір зображення по висоті.

Будь-яка ідея?


7
Рекомендоване читання: ALA: CSS позиціонування 101 та ALA: CSS плаває 101 .
jensgram

Відповіді:


236

Ви можете зробити це так:

#content {
    position: relative;
}
#content img {
    position: absolute;
    top: 0px;
    right: 0px;
}

<div id="content">
    <img src="images/ribbon.png" class="ribbon"/>
    <div>some text...</div>
</div>

28

Розмістіть divвідносно і розмістіть стрічку абсолютно всередині неї. Щось на зразок:

#content {
  position:relative;
}

.ribbon {
  position:absolute;
  top:0;
  right:0;
}

4

Переглядаючи ту саму проблему, я знайшов приклад

<style type="text/css">
#topright {
    position: absolute;
    right: 0;
    top: 0;
    display: block;
    height: 125px;
    width: 125px;
    background: url(TRbanner.gif) no-repeat;
    text-indent: -999em;
    text-decoration: none;
}
</style>

<a id="topright" href="#" title="TopRight">Top Right Link Text</a>

Хитрість тут полягає в тому, щоб створити невеликий (я використав GIMP) PNG (або GIF) з прозорим фоном (а потім просто видалити протилежний нижній кут.)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.