| Internet Explorer | Chrome | Opera | Safari | Firefox | Android | iOS |
| 6.0+ | 1.0+ | 4.0+ | 1.0+ | 1.0+ | 1.0+ | 1.0+ |
Завдання
Кроссбраузерно встановити округлені куточки у фотографій, розмір яких відомий і поставлено.
Рішення
Якщо на сайті застосовується група фотографій однакової ширини і висоти, то для них досить просто можна встановити округлені куточки. Принцип полягає в тому, що поверх кожної фотографії накладається малюнок, який ховає під собою частину фотографії, утворюючи тим самим бажані куточки.
Спочатку слід підготувати зображення з куточками. В графічному редакторі створюємо прозору основу і заливаємо куточки кольором, що збігається з кольором фону веб-сторінки. На рис. 1 показано зображення розміром 120х120 пікселів, назвемо його round.png. Шахове поле позначає прозорість, а куточки відзначені темним кольором.

Рис. 1. Зображення з куточками для накладення на фотографію
Далі створюємо шар, який додаємо два зображення — фотографію і картинку з куточками. Для управління положенням куточків тегу <img> слід додати унікальний клас або помістити його всередину контейнера <div>, як показано в прикладі 1. Позиціонування основного блоку повинно бути задано відносним (position: relative), а з внутрішнього куточками — абсолютним (position: absolute).
Приклад 1. Створення фотографії з куточками
HTML5CSS 2.1IECrOpSaFx
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Округлені куточки</title>
<style>
.roundcorner {
position: relative; /* Відносне позиціонування */
float: left; /* Вирівнювання по лівому краю з обтіканням */
margin-right: 20px; /* Відступ праворуч */
}
.roundcorner div {
position: absolute; /* Абсолютне позиціонування */
top: 0; left: 0; /* Нульові координати */
}
</style>
</head>
<body>
<div class="roundcorner">
<img src="images/thumb1.jpg" alt="Малюнок 1" width="120" height="120">
<div><img src="images/round.png" alt="" width="120" height="120"></div>
</div>
<div class="roundcorner">
<img src="images/thumb2.jpg" alt="Фотографія 2" width="120" height="120">
<div><img src="images/round.png" alt="" width="120" height="120"></div>
</div>
</body>
</html>
Результат цього прикладу показано на рис. 2. Для білого фону веб-сторінки був підготовлений малюнок з білими куточками.

Рис. 2. Фотографії із закругленими куточками
Оскільки <div> відноситься до блочних елементів, то зображення всередині нього завжди буде починатися з нового рядка. Для розташування декількох зображень в один ряд у прикладі застосовується стильове властивість float зі значенням left. Тут треба врахувати, що варто додати після фотографій текст, як він теж буде займати місце праворуч від зображень, а не починатися з нового рядка. Тому для відміни дії float слід додати <div style="clear: left"></div> після останнього блоку з фотографією.
Другий спосіб імітації заокруглених куточків пов'язаний з накладенням фонового малюнка поверх фотографії. Для цього дещо модифікуємо приклад 1, залишивши порожній <div> замість картинки з куточками (приклад 2). В стилях шару слід вказати шлях до фонового малюнку через властивість background, а також встановити абсолютне позиціонування (position: absolute). Це зроблено, щоб визначити точне положення куточків щодо батьків (шару з ім'ям roundcorner), з цією метою додаються властивості left і top з нульовими значеннями. Також необхідно задати ширину і висоту блоку як 100%.
Приклад 2. Використання фонового малюнка
HTML5CSS 2.1IECrOpSaFx
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Округлені куточки</title>
<style>
.roundcorner {
position: relative; /* Відносне позиціонування */
float: left; /* Вирівнювання по лівому краю з обтіканням */
margin-right: 20px; /* Відступ праворуч */
}
.roundcorner div {
background: url(images/round.png); /* Малюнок з куточками */
position: absolute; /* Абсолютне позиціонування */
left: 0; top: 0; /* Положення від лівого верхнього кута */
width: 100%; height: 100%; /* Розміри співпадають з фотографією */
}
</style>
</head>
<body>
<div class="roundcorner">
<img src="images/thumb1.jpg" alt="Фотографія 1">
<div></div>
</div>
<div class="roundcorner">
<img src="images/thumb2.jpg" alt="Фотографія 2">
<div></div>
</div>
</body>
</html>