Перейти к содержимому

Как сделать круглую кнопку в css

  • автор:

Верстаем круглые кнопки на CSS3.

Верстаем круглые кнопки на CSS3.

Здравствуйте, дорогие читатели. Мы уже изучили многие свойства, которые появились в CSS3, но просто их знать мало. Нужно обязательно практиковаться! И вот сегодня я покажу, как создать круглые кнопки на CSS3.

Откроем файл index.html и создадим простенькую структуру

Ничего особенного. Просто 3 блока с классом .button Перейдём теперь к стилям.

body background: url(http://subtlepatterns.com/patterns/extra_clean_paper.png);
>

.button display: inline-block;
margin: 40px;
width: 100px;
height: 100px;
background: url(http://subtlepatterns.com/patterns/extra_clean_paper.png);
cursor: pointer;
border-radius: 50%;

box-shadow: 0 3px 20px rgba(0,0,0,.25),
inset 0 2px 0 rgba(255,255,255,.6),
0 2px 0 rgba(0,0,0,.1),
inset 0 0 20px rgba(0,0,0,.1);
>

Фон для документа и наших кнопок я взял с сайта subtlepatterns.com.

Мы делаем наши div строчно-блочными, чтобы они выстроились по горизонтали, задаём им высоту, ширину, отступ от краёв браузера, скругление 50%, чтобы получить круг, и при наведении курсор делаем pointer. Здесь нет ничего сложного, но тень я не зря отделил в стилях, т.к. это именно та часть, которая может вызвать затруднения, хотя, там тоже всё просто, и это вы сейчас увидите.

Задав первую тень, мы уже увидим контур нашего круга:

box-shadow: 0 3px 20px rgba(0,0,0,.25);

Контур круга

Затем мы задаём внутреннюю тень, чтобы у нас сверху появилась такая оконтовочка, и кнопка стала более объёмной.

box-shadow: 0 3px 20px rgba(0,0,0,.25),
inset 0 2px 0 rgba(255,255,255,.6);

Контур круга с оконтовочкой

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

box-shadow: 0 3px 20px rgba(0,0,0,.25),
inset 0 2px 0 rgba(255,255,255,.6),
0 2px 0 rgba(0,0,0,.1),
inset 0 0 20px rgba(0,0,0,.1);

Как видите, по-началу кажется сложно, много свойств, но, если разобраться, то всё оказывается намного проще. Итак, вот наш конечный результат:

Готовая кнопка

Теперь реализуем поведение при наведении на блок

.button:hover box-shadow: inset 0 0 20px rgba(0,0,0,.2),
0 2px 0 rgba(255,255,255,.4),
inset 0 2px 0 rgba(0,0,0,.1);
>

Мы уже разобрались с тенями в блоке, а теперь попробуйте разобраться сами с тем, что происходит при наведении. Точно так же оставьте только одну тень и посмотрите, что происходит, а затем добавьте вторую и посмотрите, что изменилось, и так далее.

Кнопка при наведении

Наконец, давайте добавим иконки нашим кнопкам, чтобы было не очень скучно. Для этого изменим немного html

Мы просто добавили дополнительный класс для каждой кнопки и теперь давайте зададим стили для них

.btn-photo background: url(http://defaulticon.com/sites/default/files/styles/icon-front-page-32×32-preview/public/field/image/MD-camera-photo_0.png) center center no-repeat;
>

.btn-settings background: url(http://defaulticon.com/sites/default/files/styles/icon-front-page-32×32-preview/public/field/image/settings.png) center center no-repeat;
>

.btn-tag background: url(http://defaulticon.com/sites/default/files/styles/icon-front-page-32×32-preview/public/field/image/tag.png) center center no-repeat;
>

Готовые кнопки

Здесь мы просто добавляем второй фон для каждой кнопки, взяв иконки с сайта defaulticon.com.

Вот и всё. Сегодня мы рассмотрели, как создать круглые кнопки на CSS3.

Создано 05.05.2014 13:55:57

  • Михаил Русаков
  • Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

    Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
    Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

    Если Вы не хотите пропустить новые материалы на сайте,
    то Вы можете подписаться на обновления: Подписаться на обновления

    Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

    Порекомендуйте эту статью друзьям:

    Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

    1. Кнопка:
      Она выглядит вот так:
    2. Текстовая ссылка:
      Она выглядит вот так: Как создать свой сайт
    3. BB-код ссылки для форумов (например, можете поставить её в подписи):

    Комментарии ( 5 ):

    gordon 23.05.2014 16:15:12

    Симпатично и работает во всех основных браузерах

    alexandrdante 23.05.2014 16:46:30

    в современных версиях — во всех. а так. старые версии ie не поддерживают border-radius

    sergkosm 08.10.2014 00:55:56

    opera квадрат показала, второй раз открыл — норм)

    tikkiwiki 08.10.2014 09:46:23
    [email protected] 11.08.2017 01:52:35

    Здравствуйте. Возник вопрос насчет адреса картинки. Такой код у меня отлично сработал: background: url(http://test.ru/image.jpeg); А вот такой нет: background: url(image.jpeg); Почему не сработал второй? Ведь картинка лежит в корне, а не в папке.

    Для добавления комментариев надо войти в систему.
    Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.

    Copyright © 2010-2024 Русаков Михаил Юрьевич. Все права защищены.

    Как сделать круглую кнопку со значком по центру?

    И мне нужно сделать ровный круг с иконкой ровно по центру
    Уточню что некоторые иконки не симметричны и имеют не правильные пропорций
    изо чего хоть программно они и находятся по центру но визуально нет и нужно как то их подвинуть
    Я знаю что можно сделать так

    a < color:#fff; background:#0f0; padding:10px; border-radius:100%; position:relative; font-size:40px >a:before

    Но тогда придется при изменений padding или font-size постоянно подгонять top: и left: что мне не подходит.
    Есть ли у кого идеи как сделать так что бы буква столовалась на том же месте относительно круга?
    5cf0eb4a6661f403817347.jpeg 5cf0eb528ec1b147803046.jpeg

    • Вопрос задан более трёх лет назад
    • 1643 просмотра

    Закругленные кнопки

    Здесь вы узнаете, как сделать кнопки с закругленными углами при помощи CSS.

    2px 4px 8px 12px 50%

    Как сделать закругленные кнопки

    Шаг 1) Добавляем HTML:

          

    Шаг 2) Добавляем CSS:

    Добавляем кнопке закругленные углы при помощи свойства border-radius :

     .button < background-color: #04AA6D; border: none; color: white; padding: 20px; text-align: center; text-decoration: none; display: inline-block; font-size: 16px; margin: 4px 2px; >.button1 .button2 .button3 .button4 .button5

    Скруглённые уголки

    Традиционные прямоугольные уголки в дизайне сайтов давно уже всем надоели. В моде скруглённые уголки, которые делаются не с помощью изображений, а через стили, для чего используется свойство border-radius . Это свойство может иметь одно, два, три или четыре значения разделённых пробелом, которые и определяют радиус всех уголков или каждого по отдельности.

    В табл. 1 приведёно разное количество значений и вид блока, который получается в этом случае.

    Код Описание Вид
    div

    Радиус скругления для всех уголков сразу.
    div

    Первое значение устанавливает радиус левого верхнего и правого нижнего уголка, второе значение — для правого верхнего и левого нижнего.
    div

    Первое значение задаёт радиус левого верхнего уголка, второе — одновременно правого верхнего и левого нижнего, а третье значение — правого нижнего.
    div

    Последовательно устанавливает радиус левого верхнего уголка, правого верхнего, правого нижнего и левого нижнего.

    В примере 1 показано создание блока со скруглёнными уголками.

    Пример 1. Уголки у блока

    HTML5 CSS3 IE 9+ Cr Op Sa Fx

        Радиус   
    Меня — супплетивная форма винительного падежа от я.

    Результат данного примера показан на рис. 1.

    Блок со скруглёнными уголками

    Рис. 1. Блок со скруглёнными уголками

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

    Пример 2. Круглая кнопка

    HTML5 CSS3 IE 9+ Cr Op Sa Fx

        Кнопка     

    Результат данного примера показан на рис. 2.

    Рис. 2. Круглая кнопка

    В браузере Opera скругление к применяется некорректно, если не задана граница через свойство border .

    Свойство border-radius можно сочетать и с другими свойствами, например, добавить к элементу тень. В примере 3 сделан набор кружков, из которых один подсвечивается с помощью box-shadow . Такой набор можно использовать для навигации по страницам или по фотографиям.

    Пример 3. Свечение

    HTML5 CSS3 IE 9+ Cr Op Sa Fx

        Свечение   

    Результат данного примера показан на рис. 3.

    Свечение вокруг кружка

    Рис. 3. Свечение вокруг кружка

    С помощью border-radius можно сделать не только кружок, но и эллипс, а также эллиптическое скругление у блока. Для этого надо написать не одно значение, а два через слэш. Запись 20px/10px означает, что по горизонтали радиус скругления будет 20 пикселов, а по вертикали 10 пикселов. В примере 4 показано создание эллиптических уголков для добавления к фотографии надписи оформленной как в комиксах.

    Пример 4. Эллипсы

    HTML5 CSS3 IE 9+ Cr Op Sa Fx

        Эллиптические уголки    

    Результат данного примера показан на рис. 4.

    Использование эллиптических уголков

    Рис. 4. Использование эллиптических уголков

    Вид уголков можно изменить и у изображений, добавляя к селектору img свойство border-radius , как показано в примере 5.

    Пример 5. Изображения

    HTML5 CSS3 IE 9+ Cr Op Sa Fx

        Изображения body < background: #4b5457; >img 

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

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