#css #css3
Здравствуйте, можно ли сделать вот такой прямоугольник (изогнутый что ли), на CSS? Получилось сделать с помощь наложения с верху и с низу овалов (белого цвета и оранжевого (как и сам блок)) ,но выглядит это не очень красиво: CSS: #main::before{ background-color: white; content: ''; position: absolute; top: 100%; left: -54%; transform: translateX(50%)translateY(-50%); width: 104%; height: 65%; border-radius: 50%; } #main::after{ background-color: #FFC107; content: ''; position: absolute; top: -1%; left: -50%; transform: translateX(50%)translateY(-50%); width: 100%; height: 65%; border-radius: 50%; } #main{ border: 1px solid #ffc107; position: absolute; top: 50%; left: 50%; width: 50%; height: 75px; background: #ffc107; transform: translateX(-50%)translateY(-50%); } jsfiddle
Ответы
Ответ 1
Посмотрите в сторону SVG, возможно и с помощью css можно это сделать, но слишком извращенно получится, скорее всего. Для работы с SVG можете использовать одну из библиотек: Tree.js Svg.js Path.js D3.js и др.Ответ 2
Если доработать ваш пример, то можно добиться желаемого #main::before{ background-color: white; content: ''; position: absolute; z-index: 3; top: 100%; left: -20%; width: 140%; height: 100%; margin-top: -15px; border-radius: 80%; } #main::after{ background-color: #FFC107; content: ''; position: absolute; z-index: 2; top: 5px; left: -20%;; width: 140%; height: 100%; border-radius: 80%; } #main{ position: absolute; top: 50%; left: 50%; width: 50%; height: 75px; overflow: hidden; background: #ffc107; box-shadow: inset 0 40px white; transform: translateX(-50%)translateY(-50%); } https://jsfiddle.net/fliginskih/oprm6tsz/
Комментариев нет:
Отправить комментарий