Jump to content
  • 0

Прямоугольник+треугольник через псевдоэлемент и градиент


Vitalya T
 Share

Question

Как сверстать такую фигуру?

5334090.png

 

Моя идея: Сделать прямоугольник, добавить через псевдоэлемент треугольник. но как сделать его так, чтобы залить градиентом таким же, как и у прямоугольника?

 

 

 

 

 

Ссылка на псд.

http://rghost.ru/56934778

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

Зачем огород городить ? Вырежьте картинку не мучайтесь.

Одна строка или целая простыня есть ведь разница.

Смотрю последнее время тенденция нездоровая везде сувать

css даже там где он не нужен.

  • Like 2
Link to comment
Share on other sites

  • 0

Лучше svg сделать.

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

CSS'ом вроде не сделать, т.к. треугольник делается с помощью свойства border, а при назначении этому border'у градиента (через свойство border-image: linear-gradient(...) ) назначенный градиент будет иметь приоритет перед цветом transparent у border'ов справа и слева и "эффект треугольника" пропадет.

Link to comment
Share on other sites

  • 0

 

Лучше svg сделать.

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

CSS'ом вроде не сделать, т.к. треугольник делается с помощью свойства border, а при назначении этому border'у градиента (через свойство border-image: linear-gradient(...) ) назначенный градиент будет иметь приоритет перед цветом transparent у border'ов справа и слева и "эффект треугольника" пропадет.

 

 

Можно сделать ромбик, это будет трансформированный(transform) прямоугольник(div). Исходную заготовку наклоняем (skewX или Y). Поворачиваем(rotate). Делаем градиент из одного угла в другой. Например, из левого нижнего в правый верхний(linear-gradient(to right top, ....)). Можно на 50% сделать ромбик прозрачным (transparent 50%, .... 50%), поскольку половинка ромбика - треугольник, который будет повёрнут таким образом, в зависимости от того, что Вы сделали прозрачным.

Ну и Ваша фигура получится прямоугольник с границей + треугольник (половинка ромбика).

У меня ощущение что градиент в Вашей заготовке  не линейный, а радиальный. В принципе, их оба можно использовать одновременно, но для радиального нужно тогда у обоих фигур точку из которой он исходит сделать одну, возможно, придётся повозиться с позиционированием.

Ну или не делать верхнюю часть ромбика прозрачной, а сделать скажем фон для прямоугольника и ромбика одинаковым (жёлтым), а для ромбика сделать ещё и оранжево-персиковый радиальный градиент. Как это будет выглядеть - вопрос, но можно поэксперементировать по всякому! :boast:И что-нибудь, да получится :rolleyes:

Интересно что углы немного закруглены и граница сделана, как мне кажется с небольшой прозрачной областью, между фоном и границей. Видимо, нужно для фона ставить content-box и делать небольшой отступ (padding). Можно, наверное, попытаться решить через border-image.

PS: Учтите что если Вам придётся двигать ромбик относительно прямоугольника, то придётся двигать обе координаты translateY(..) translateX(..), поскольку из-за трансформации фигуры, сдвигается и координатная сетка, в которой лежит фигура.

 

Ну и тема была, уже похожая: http://htmlforum.ru/index.php?showtopic=49661&hl=

Смотрю последнее время тенденция нездоровая везде сувать

css даже там где он не нужен.

 

Ну такие задачи решаются, как мне кажется, больше в учебных целях...

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy