¿Cómo dibujar un hexágono de borde curvo usando CSS?

Podemos hacer un hexágono de borde curvo usando la propiedad de pseudo-elemento de CSS.

  • Use un elemento div para crear un rectángulo y también agréguele un radio de borde.
  • Ahora cree un pseudo-elemento después de usar CSS y gírelo usando 60 grados.
  • También cree otro pseudo-elemento antes usando CSS y gírelo -60 grados.

Ejemplo 1: este ejemplo dibuja un hexágono de borde curvo usando CSS.

<!DOCTYPE html>
<html>
      
<head>
    <title>
        Draw a Curved Edge
        Hexagon using CSS
    </title>
  
    <style>
        .hexagon {
            top: 30vh;
            left: 40%;
            position: absolute;
            margin: 0 auto;
            background-color: dodgerblue;
            border-radius: 10px;
            width: 100px; 
            height: 63px;
            box-sizing: border-box;
            transition: all 1s;
            border: 0.4vh solid transparent;
        }
          
        /* Creating pseudo-class */
        .hexagon:before, .hexagon:after {
            content: "";
            border: inherit;
            position: absolute;
            top: -0.5vh;
            left: -0.5vh;
            background-color: dodgerblue;
            border-radius: inherit;
            height: 100%;
            width: 100%;
        }
          
        /* Align them in such a way
        that they form a hexagon */
        .hexagon:before {
            transform: rotate(60deg);
        }
        .hexagon:after {
            transform: rotate(-60deg);
        }
    </style>
</head>
  
<body style="text-align: center;">
    <h1 style="color:forestgreen;">
        Geeks For Geeks
    </h1>
      
    <!-- Hexagon Division -->
    <div class="hexagon"
        id="hexagon">
    </div>
</body>
  
</html>

Producción:

Ejemplo 2: Cómo dibujar un hexágono de borde curvo usando CSS con algún efecto.

<!DOCTYPE html>
<html>
      
<head>
    <title>
        Draw a Curved Edge
        Hexagon using CSS
    </title>
      
    <style>
        .hexagon {
            top: 30vh;
            left: 40%;
            position: absolute;
            margin: 0 auto;
              
            /*To Add effect on the background*/
            background: linear-gradient(to left,
                       DarkBlue, DodgerBlue);
            border-radius: 10px;
            width: 100px; 
            height: 63px;
            box-sizing: border-box;
            transition: all 1s;
            border: 0.4vh solid transparent;
            border-top-color: dodgerblue;
            border-bottom-color: dodgerblue;
        }
          
        /*To create pseudo-class */
        .hexagon:before, .hexagon:after {
            content: "";
            border: inherit;
            position: absolute;
            top: -0.5vh;
            left: -0.5vh;
              
            /*To Add effect on the background*/
            background: linear-gradient(to left,
                    DarkBlue, DodgerBlue);
            border-radius: inherit;
            height: 100%;
            width: 100%;
        }
          
        /* Align them in such a way
        that they form a hexagon */
        .hexagon:before {
            transform: rotate(60deg);
        }
        .hexagon:after {
            transform: rotate(-60deg);
        }
    </style>
</head>
  
<body style="text-align:center;">
    <h1 style="color:forestgreen;">
        Geeks For Geeks
    </h1>
      
    <!-- Hexagon Division -->
    <div class="hexagon" id="hexagon"></div>
</body>
  
</html>

Producción:

Publicación traducida automáticamente

Artículo escrito por aditya_taparia y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *