recherche

Maison  >  Questions et réponses  >  le corps du texte

Comment créer des formes demi-carrées et courbes en utilisant CSS et HTML

J'essaie de dessiner une forme exactement comme celle donnée dans l'image ci-dessous

C'est mon code html et css, sa forme est un peu similaire à celle-ci mais en monochrome je ne sais pas comment le faire en multicolore. Quelqu'un peut-il m'expliquer comment faire cela. Merci d'avance.

.right-angle-triangle-semicircle {
  width: 100px;
  height: 100px;
  background: #FFA6DF;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 50%;
  border-bottom-left-radius: 0;
}
<div class="right-angle-triangle-semicircle"></div>

P粉797004644P粉797004644276 Il y a quelques jours438

répondre à tous(2)je répondrai

  • P粉808697471

    P粉8086974712024-02-26 18:58:50

    Utilisez simplement background:线性渐变

    Ici, vous pouvez consulter la documentation sur Linear-Gradient

    .right-angle-triangle-semicircle {
      width: 100px;
      height: 100px;
      background: #FFA6DF;
     background: linear-gradient(-45deg, #f0f0f0 0%, #f0f0f0 50%, #FFA6DF 50%, #FFA6DF 100%);
      
      border-top-left-radius: 0;
      border-top-right-radius: 0;
      border-bottom-right-radius: 50%;
      border-bottom-left-radius: 0;
    }

    répondre
    0
  • P粉238433862

    P粉2384338622024-02-26 17:14:55

    En utilisant un seul élément, vous pouvez utiliser quelques astuces CSS pour y parvenir.

    Il n'y a pas de nombre magique et cela fonctionne également pour différentes tailles d'éléments.

    En outre, vous pouvez ignorer toutes les déclarations de rayon de bordure sur une seule ligne.

    边框半径:0 0 50% 0;

    .right-angle-triangle-semicircle {
      width: 100px;
      height: 100px;
      background: lightgray;
      border-radius: 0 0 50% 0;
      overflow: hidden;
      position: relative;
    }
    
    .right-angle-triangle-semicircle:before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      background: #FFA6DF;
      width: 200%;
      transform: rotate(-45deg);
      transform-origin: bottom left;
    }

    répondre
    0
  • Annulerrépondre