Изогнутая кнопка CSS

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

Изогнутая кнопка CSS

Возможный дубликат Сгибаем div с помощью CSS

Jon Uleis 03.06.2018 06:17

В настоящее время это невозможно в чистом CSS, вам понадобится SVG, используемый либо как путь клипа, либо напрямую: jsfiddle.net/wphpa59n

Alexey Lebedev 03.06.2018 07:20

Что-то, с чем я играл (это некрасиво) .. jsfiddle.net/Hastig/cojoocn4/2

Hastig Zusammenstellen 03.06.2018 09:47
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
0
3
345
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Используйте :before и :after для кнопки

.btn {
  border-top:none;
  border-bottom:none;
  border-right: 2px solid white;
  border-left: 2px solid white ;
  background-color: #273649;
  color: white;
  padding: 14px 28px;
  font-size: 16px;
  cursor: pointer;
}
body{
  background-color: #273649;
}
.btn:after {
    display: block;
    content: "";
    position: absolute;
    width: 89px;
    height: 16px;
    border-top: white 2px solid;
    top: 48px;
    left: 7px;
    border-radius: 40%;
}
.btn:before {
    display: block;
    content: "";
    position: absolute;
    width: 89px;
    height: 16px;
    border-top: white 2px solid;
    top: 4px;
    left: 7px;
    border-radius: 40%;
}
<button class = "btn">Info</button>

Спасибо, но углы выглядят странно. В итоге я использовал SVG в качестве фонового изображения, чтобы добиться желаемого результата.

Chris Wathen 04.06.2018 06:07
Ответ принят как подходящий

Я знаю, что это не тот ответ, которого вы ожидали, но я думаю, что лучший способ получить такой результат (самый простой способ получить достойные результаты) - это использовать backgroung-image.

.button {
  background-image: url(https://raw.githubusercontent.com/dknacht/GitHub-Test/master/rect4136.png); 
  background-size: 100% 100%;
}

Я просто отправляю его на случай, если кто-то с похожими потребностями захочет найти альтернативу.

вот пример: https://codepen.io/dknacht/pen/qKbWaY

Dknacht.

Лучше всего сработало фоновое изображение. Несмотря на то, что я не мог сделать это с помощью чистого CSS, этот метод, похоже, работал лучше всего.

Chris Wathen 04.06.2018 06:08

Другие вопросы по теме