Как закруглить картинку в html
Перейти к содержимому

Как закруглить картинку в html

  • автор:

Создаем закруглённые уголки с помощью CSS 3

image

Одно из наиболее ожидаемых свойств CSS3, несомненно, свойство border-radius. С помощью свойства border-radius можно создавать, такие популярные в последнее время, прямоугольники с закругленными углами, исключительно средствами CSS, не используя никаких изображений.

Кроссбраузерная совместимость.

К сожалению, CSS3 еще не поддерживается всеми браузерами. Свойство border-radius поддерживается Firefox (начиная с версии 1.0), Safari (с версии 3.1) и Chrome (с самой первой версии), но оно не поддерживается Internet Explorer и Opera (будет реализовано в Opera 10).

Так как CSS3 еще не является стандартом, Вы должны добавлять префикс для свойства border-radius чтобы оно работало в браузерах, которые его поддерживают. Если Вы хотите, чтобы оно работало в Firefox необходимо написать в стилях -moz-border-radius, для Safari/Chrome это свойство будет иметь такой вид — -webkit-border-radius.

Имейте ввиду, что, хотя Firefox, Сафари и Хром поддерживают это свойство, они реализуют его немного различными методами. Я сначала покажу Вам, как оно реализовано Firefox и затем объясню различия в Safari и Chrome.

Для начала создадим простой блок, для которого мы и будем применять свойство border-radius.
<body>
<div > </body>

В CSS зададим для него высоту, ширину и цвет фона:
#box <
width:590px;
height:100px;
background-color:#6B86A6; >

Добавляем свойство border-radius:

Свойство border-radius объявляется подобно свойствам margin и padding. Вы можете использовать как краткую запись этого свойства для всех четырёх углов прямоугольника, так и отдельно для каждого угла. При краткой записи указывается одно значение для каждого угла:
#box <
-moz-border-radius: 20px;
>

Теперь все четыре угла будут иметь радиус 20px:
image

Вы также можете указать два значения, первое из которых будет определять радиус для верхнего левого и нижнего правого угла, а второе — для верхнего правого и нижнего левого:
#box <
-moz-border-radius:20px 40px;
>

image

Если Вы указываете три или четыре значения, они будут применяться в следующем порядке — верхний левый угол, верхний правый угол, нижний правый угол и нижний левый угол.
#box <
-moz-border-radius:10px 20px 30px 40px;
>

image

Объявляем свойство border-radius для каждого угла
  • moz-border-radius-topleft для верхнего левого угла;
  • moz-border-radius-topright для верхнего правго угла;
  • moz-border-radius-bottomright для нижнего правого угла;
  • moz-border-radius-bottomleft для нижнего левого угла;
Горизонтальный и вертикальный радиус

Это свойство можно также использовать для создания углов в виде четверти эллипса. Для этого необходимо добавить второе значение для нужного угла:
#box <
-moz-border-radius-topleft: 30px 15px;
>
image

Как Вы можете видеть на картинке верхний левый угол имеет немного «скошенный» вид. Это потому что эти два значения определяют горизонтальный и вертикальный радиус соответственно. Когда используется одно значение браузер интерпретирует его как для горизонтального, так и для вертикального радиуса.

При краткой записи этого свойства значения для горизонтального и вертикального радиуса разделяются слэшем:
#box <
-moz-border-radius: 30px / 15px;
>
#box <
-moz-border-radius: 10px 20px 30px 40px / 5px 10px 15px 20px;
>

image

Использование свойства border-radius в Safari и Chrome.
  • -webkit-border-top-left-radius для верхнего левого угла;
  • -webkit-border-top-right-radius для верхнего правого угла;
  • -webkit-border-bottom-right-radius для нижнего правого угла;
  • -webkit-border-bottom-left-radius для нижнего левого угла;

Этот код не будет работать в Safari и Chrome:
#box <
-webkit-border-radius: 10px 20px 30px 40px;
>

Правильный код будет выглядеть так:
#box <
-webkit-border-top-left-radius: 10px;
-webkit-border-top-right-radius: 20px;
-webkit-border-bottom-right-radius: 30px;
-webkit-border-bottom-left-radius: 40px;
>

Горизонтальный и вертикальный радиус в Safari и Chrome.

В Safari и Chrome можно также указывать горизонтальный и вертикальный радиус:
#box <
-webkit-border-top-left-radius: 30px 15px;
>

При краткой записи можно указывать горизонтальный и вертикальный радиус для всех углов прямоугольника только если эти значения одинаковые для каждого угла. Также не требуется использование слэша:
#box <
-webkit-border-radius: 30px 15px;
>

Как сделать изображение круглым на CSS

Чтобы сделать изображение круглым с помощью CSS, нужно применить свойство border-radius.

Базовое изображение (квадратное)

Добавим в файл стилей класс для изображений, которые должны быть круглыми. Например, .avatar для всех аватарок. Используем свойство CSS3 border-radius для добавления закругленных углов к изображению. Значение 50% сделают их круглыми.

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

Оригинальные решения получаются при использовании разных радиусов скругления для углов элемента.

Bootstrap

Если вы используете Bootstrap 4, добавьте класс rounded-circle (или img-circle для Bootstrap 3) к элементу img, чтобы легко изменить его на круглое.

Rounded corners on rectangular image using CSS only

I’d like to create a round image from a rectangular image using radius-border.

Is there simple way to achieve this with CSS without distorting the image AND ensuring a circle is perfectly round.

See failed attempts here:

Can this be done in only CSS.

5 Answers 5

You do that by adding a parent div to your img and the code flows as follows

Round image using CSS object-fit and border radius:

img with background image

For older browsers, using the <img> tag

The trick is to set a transparent px for the src (to prevent broken image icon) and do the best CSS3 and background-size has to offer ( cover ).

Roko C. Buljan's user avatar

Is there simple way to achieve this with CSS without distorting the image AND ensuring a circle is perfectly round.

Yes, and you can also avoid using parent elements by just setting the image as the background. You can also position the image as you wish by using the background-position attribute.

Updated to address concerns about size, roundness, skewing and dynamically loaded content.

CSS Styling Images — изображения

Используйте свойство border-radius для создания округленных изображений:

Paris

Пример

Paris

Пример

Миниатюр

Используйте свойство border для создания миниатюр изображений.

Paris

Пример

img <
border: 1px solid #ddd;
border-radius: 4px;
padding: 5px;
width: 150px;
>

<img src=»https://html5css.ru/css/paris.jpg» alt=»Paris»>

Эскиз изображения как ссылка:

Пример

img <
border: 1px solid #ddd;
border-radius: 4px;
padding: 5px;
width: 150px;
>

img:hover <
box-shadow: 0 0 2px 1px rgba(0, 140, 186, 0.5);
>

Адаптивные образы

Адаптивные изображения будут автоматически корректироваться в соответствии с размером экрана.

Измените размер окна обозревателя, чтобы увидеть эффект:

Norway

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

Пример

Совет: Подробнее о адаптивном веб-дизайне читайте в нашем руководстве по CSS RWD.

Центрировать изображение

Чтобы центрировать изображение, установите левое и правое поле в auto и внесите его в block элемент:

Paris

Пример

Polaroid изображения/карты

Norway

Язык троллей в Хардангер, Норвегия

Norway

Северное сияние в Норвегии

Пример

div.polaroid <
width: 80%;
background-color: white;
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
>

div.container <
text-align: center;
padding: 10px 20px;
>

Прозрачное изображение

Свойство opacity может принимать значение от 0,0-1,0. Чем меньше значение, тем прозрачнее:

Forest

Forest

Forest

Примечание: IE8 и более раньше польза filter:alpha(opacity=x) . X может принимать значение от 0-100. Более низкое значение делает элемент более прозрачным.

Пример

Текст изображения

Как разместить текст в изображении:

Пример

Norway

Try it Yourself:

Фильтры изображений

Свойство CSS filter добавляет визуальные эффекты (например, размытие и насыщенность) к элементу.

Примечание: Свойство Filter не поддерживается в обозревателе Internet Explorer, EDGE 12 или Safari 5,1 и более ранних версиях.

Пример

Изменить цвет всех изображений на черный и белый (100% серый):

Совет: Перейдите к нашей ссылке на CSS-фильтр , чтобы узнать больше о фильтрах CSS.

Наложение изображения при наведении

Создание эффекта наложения при наведении:

Пример

Исчезать в тексте:

Пример

Исчезать в коробке:

Пример

Пример

Пример

Пример

Отражение изображения

Наведите курсор мыши на изображение:

Paris

Пример

Адаптивная Галерея изображений

CSS можно использовать для создания галерей изображений. В этом примере используются мультимедийные запросы для повторного упорядочивания изображений на различных размерах экрана. Измените размер окна обозревателя, чтобы увидеть эффект:

Trolltunga Norway

Forest

Northern Lights

Mountains

Пример

.responsive <
padding: 0 6px;
float: left;
width: 24.99999%;
>

@media only screen and (max-width: 700px) <
.responsive <
width: 49.99999%;
margin: 6px 0;
>
>

@media only screen and (max-width: 500px) <
.responsive <
width: 100%;
>
>

Совет: Подробнее о адаптивном веб-дизайне читайте в нашем руководстве по CSS RWD.

Модальное изображение (расширенный)

Это пример, демонстрирующий, как CSS и JavaScript могут работать вместе.

Сначала используйте CSS для создания модального окна (диалоговое окно) и скройте его по умолчанию.

Затем используйте JavaScript, чтобы показать модальное окно и отобразить изображение внутри модального, когда пользователь щелкает по изображению:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *