CSS опустить / вырезать ребро

#css #reactjs #styles

#css #reactjs #стили

Вопрос:

Я пытаюсь создать строку, подобную этой.

введите описание изображения здесь

Код для того, что я пробовал, JSX ->

 <div className={styles.other}>
    <div className={styles.edgeCut}>
      <span className={styles.blueText}>Other Less-Common Paths</span>
      <span>
        I’m <strong>security concerned</strong><img className={styles.bottomImage} src="/arrow-right.svg"></img>
      </span>
      <span>
        I’m an <strong>investor</strong><img className={styles.bottomImage} src="/arrow-right.svg"></img>
      </span>
    </div>
  </div>
  

CSS ->

 .other {
  margin: 5vw 15vw;
  position: relative;
}

.edgeCut {
  padding: 1.5em 2em;
  background: linear-gradient(273.05deg, #b9ffee 11.12%, #c2f8ff 73.8%);
  width: 100%;
  border-radius: 36px;
  transform: rotate(-0.38deg);
  position: absolute;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

.blueText{
    color: #5C9FCF;
}

.bottomImage{
    height: 1em;
    width: 2em;
    margin-left: 0.5em;
    cursor: pointer;
}
  

Он отображает->

введите описание изображения здесь

Он не обрезает края, как на первом изображении. Как я могу этого добиться. TIA.

Ответ №1:

Используйте clip-path для такого эффекта:

 <main>
  <div></div>
</main>
  
 main {
  align-items: center;
  background: black;
  display: flex;
  height: 100vh;
  justify-content: center;
  width: 100v;
}

div {
  background: white;
  clip-path: polygon(0 25%, 100% 0%, 100% 100%, 0% 100%);
  height: 75%;
  width: 75%;
}
  

введите описание изображения здесь

Ответ №2:

Вы также можете использовать путь клипа, но путь клипа иногда не работает в некоторых браузерах.Вы можете использовать свойство background-linear, чтобы получить вырезы по краям. Используйте это:

 .other {
    margin: 5vw 15vw;
    position: relative;
  }
  
  .edgeCut {
    padding: 1.5em 2em;
    background: linear-gradient(135deg,transparent 18px,#b9ffee  0)top left,linear-gradient(45deg,transparent 18px,#b9ffee  0)bottom  left,linear-gradient(-135deg,transparent 18px,#b9ffee  0)top right,linear-gradient(-45deg,transparent 18px,#b9ffee  0)bottom right;
    background-size: 50% 50%;
    background-repeat: no-repeat;
    width: 100%;
    transform: rotate(-0.38deg);
    position: absolute;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
  }
  
  .blueText{
      color: #5C9FCF;
  }
  
  .bottomImage{
      height: 1em;
      width: 2em;
      margin-left: 0.5em;
      cursor: pointer;
  }
  

он отобразит
введите описание изображения здесь
и если вы хотите изменить степень
, вы можете просто изменить размер фона
, например, если вы сделаете размер фона: 70% 30%;

вы получите это: введите описание изображения здесь

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

Комментарии:

1. Вы получили свой ответ или хотите чего-то другого

2. clip-path поддерживается 96% браузеров

3. Пробовал поздно .. использовал путь клипа, получил желаемый результат. Я тоже попробовал ваш, это интересный вариант.. Нужно будет попробовать больше, чтобы лучше понять