DEV Community

Mitchell
Mitchell

Posted on

Shapes - CSS challenges

You can find all the code in this post at the repo Github.

You can check the visual here CodeSandbox.


Draw all kinds of shapes via CSS


How do you draw square、trapezoidal、triangle、ano-triangle、sector、circle、half-circle、fixed-width-height-ratio、0.5px line in CSS?

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Shapes</title>
    <link rel="stylesheet" href="styles.css" />
  </head>
  <body>
    <div class="square"></div>

    <div class="trapezoidal"></div>

    <div class="triangle"></div>

    <div class="ano-triangle"></div>

    <div class="sector"></div>

    <div class="circle"></div>

    <div class="half-circle"></div>

    <div class="fixed-width-height-ratio"></div>

    <div class="half-one-px-line">0.5px line</div>
  </body>
</html>
Enter fullscreen mode Exit fullscreen mode
.square {
  width: 100px;
  height: 100px;
  border-top: 50px solid red;
  border-bottom: 50px solid blue;
  border-right: 50px solid green;
  border-left: 50px solid orange;
}

.trapezoidal {
  width: 100px;
  height: 100px;
  border: 50px solid transparent;
  border-bottom-color: tomato;
}

.triangle {
  width: 0;
  height: 0;
  border: 50px solid transparent;
  border-bottom-color: tomato;
}

.sector {
  width: 0;
  height: 0;
  border: 50px solid transparent;
  border-bottom-color: tomato;
  border-radius: 50%;
}

.circle {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background-color: tomato;
}

.half-circle {
  width: 100px;
  height: 50px;
  background-color: tomato;
  border-top-left-radius: 50px;
  border-top-right-radius: 50px;
}

.fixed-width-height-ratio {
  padding-top: 56.25%;
  background-color: blue;
  width: 100%;
}

.half-one-px-line {
  background-color: aqua;
  border-bottom: 1px solid black;
  transform: scaleY(0.5) scaleX(0.5);
  transform-origin: 0 0;
}
Enter fullscreen mode Exit fullscreen mode

Top comments (0)