DeusEx01
@DeusEx01
Последователь культа Травяной Каши

Как закруглить одну из граней элемента внутрь (сделать впалой)?

Господа. Совсем потерялся в CSS. Как сделать закрулгление внутри вокруг центральной кнопки? Снаружи сделал, закруглив сам контейнер, а вот внутри (в центре) не могу додуматься, как похожий трюк реализовать. Подсветил область красным цветом в демо коде по ссылке, как я это хотел бы(пытался) реализовать...
https://codepen.io/bdlfraod-the-bashful/pen/NWZaPRy

С чего беру пример:
66b681d02cf73916815933.png
Мой результат:
66b68191c0b5a053610663.gif

P.s. также буду рад подсказке, как держать все иконки без ротации внутри каждой кнопки, т.к. собирался туда текст добавлять.
  • Вопрос задан
  • 214 просмотров
Решения вопроса 1
pickHabr
@pickHabr
Костыльных дел мастер
Я бы пошел другим путем и не стал бы скруглять кучу дивов. А вместо этого спрятал бы нескругленные части.

Добавляем новый див
...
<div class="menu">
    <div class="toggle-hidden">
    </div>
    <div class="toggle">
...


Прописываем ему класс
.toggle-hidden {
  content: '';
  display: block;
  width: 65px;
  height: 65px;
  z-index: 10000;
  overflow: hidden;
  position: absolute;
  background: linear-gradient(45deg, #8460ed, #ff1252); // даем цвет чтобы спрятать ненужное
  background-size: 200% 200%; // тут можно поиграться с циферками
  background-position: calc(50% - 65px/2) calc(50% - 65px/2);  // чтобы цвета больше совпадали с боди
  border-radius: 50%;
}


И дальше остается только цвет подобрать чтоб в фон попадало идеально

Касательно иконок
ion-icon {
  color: white;
  transform: rotate(calc(-360deg / 8 * var(--i)));
  display: inline-block;
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
delphinpro
@delphinpro Куратор тега CSS
frontend developer
Проще всего отрисовать svg
Ответ написан
@Arh1diablo
Web мастер
Похожее решение реализовывал вот так https://cytoscape.org/cytoscape.js-cxtmenu/ но у меня гораздо меньше пунктов было, это не совсем ответ на Ваш вопрос, но больше информации не меньше :)

P.S. Я бы еще рассмотрел css polygon,, рисуй что хочешь :3 ( из плюсов, это то, что зона ховера будет прям по контуру объекта, но я бы начинал рыть со стороны svg ( сугубо имхо )
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы