Get creative with CSS triangles: Learn how to make them with these easy code examples

Table of content

  1. Introduction
  2. Basic CSS Triangle
  3. CSS Triangle with Different Colors
  4. Hollow CSS Triangle
  5. CSS Triangle with Border
  6. CSS Triangle with Drop Shadow
  7. CSS Triangle with Gradient Fill
  8. Conclusion


CSS triangles are a popular element in web design that can be used to add some flair and creativity to your website. Triangles can be used for a variety of purposes such as arrows, pointers, logo design, and more. While creating triangles in CSS may seem daunting, it's actually quite easy and can be done with just a few lines of code.

In this article, we will explore how to make triangles with CSS using easy-to-understand code examples. We will also cover the different ways that triangles can be created, such as using borders, pseudo-elements, transforms, and gradients. Whether you're a beginner or an experienced web designer, this article will provide you with the necessary knowledge and skills to create beautiful triangles that will enhance the look and feel of your website.

So, get ready to learn how to create triangles with CSS and take your web design skills to the next level!

Basic CSS Triangle

To create a , we first need to create a square element using the "border" property. To do this, we can set the "width" and "height" properties to "0" and "border-width" to the desired size. We also need to set the "border-color" property to transparent for three out of the four borders.

.triangle {
  width: 0;
  height: 0;
  border-width: 50px;
  border-style: solid;
  border-color: transparent transparent #000 transparent;

In this example, we set the height and width to 0, and the border-width to 50 pixels. We set the border-color to transparent for the top, left, and right borders, and set the color of the bottom border to black. This creates a triangle shape with a black color on the bottom border.

We can manipulate the size and position of the triangle by adjusting the "border-width" property. To change the direction of the triangle, we can adjust the "border-color" property to set the desired border as the bottom border of the square.

Overall, creating a is a simple process that involves manipulating the border properties of a square element. With this foundation, we can continue to explore more creative CSS triangle designs.

CSS Triangle with Different Colors

To create a , you can use the border property to define the width and style of the triangle's sides, and the border-color property to define the color of each side.

Here's an example of how to create a downward-facing triangle with a red border on the top and bottom sides, and a blue border on the left and right sides:

.triangle {
  width: 0;
  height: 0;
  border-left: 50px solid blue;
  border-right: 50px solid blue;
  border-top: 50px solid red;
  border-bottom: 50px solid red;

In this example, the width and height properties are set to 0 because the size of the triangle is determined by the border properties. The border-left and border-right properties create the left and right sides of the triangle, while the border-top and border-bottom properties create the top and bottom sides. The colors of the sides are set using the border-color property.

By adjusting the values of the border and border-color properties, you can create triangles of different sizes and colors. Keep in mind that the triangle will always be a right triangle, so the angle at the base will always be 90 degrees. If you need a different angle, you may need to use another method, such as SVG.

Hollow CSS Triangle

To create a hollow triangle using CSS, you need to use the border property. Unlike solid triangles, which use the "border-left", "border-right", and "border-bottom" properties to create their shape, hollow triangles will require you to first set those properties to zero. Here's how it works:

.triangle {
  width: 0;
  height: 0;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-bottom: 20px solid #333; /* Change color as desired */

The width and height properties will be set to zero so that the triangle has no dimensions until you add the border properties. The "border-left" and "border-right" properties must then be set to 20 pixels (or whatever size you want your triangle to be) and "transparent" so that those sides will never take effect.

Finally, set "border-bottom" to your desired size, style (solid, dotted, dashed, etc.), and color. This will create the base of your triangle. You can then play around with the dimensions and colors to get the exact look you want for your hollow triangle.

Note that you can also use this same method to create hollow triangles that point upwards or sideways by changing the properties of the two transparent borders. With practice, you'll be able to create many different shapes and styles of triangles using CSS!

CSS Triangle with Border

To create a CSS triangle with a border, you can use the border property in combination with the height and width properties. To create a right-angled triangle, you can set the border-right and border-bottom properties to zero, and then specify a non-zero value for border-top and border-left.

Here's an example of how to create a right-angled triangle with a black border:

.triangle {
  width: 0;
  height: 0;
  border-top: 50px solid black;
  border-left: 50px solid transparent;
  border-right: 0;
  border-bottom: 0;

In this example, we've created a triangle with a height and width of zero. The border for the top of the triangle has been set to 50 pixels, with a black color. The left border of the triangle has been set to transparent to make it invisible, while the right and bottom borders have been set to zero.

You can adjust the size of the triangle by changing the values of the border-top and border-left properties. You can also change the color of the border to match your design by specifying a different color value.

Using the css() function in JavaScript, you can also manipulate the triangle dynamically. Here's an example of how to change the color of the triangle on a button click:

const button = document.querySelector('#changeColor');
const triangle = document.querySelector('.triangle');

button.addEventListener('click', () => { = 'red';

In this example, we've selected the triangle using the querySelector() method and assigned it to a variable called triangle. We've also selected a button element and assigned it to a variable called button.

We then add an event listener to the button element that listens for a click event. When the button is clicked, the color of the top border of the triangle is changed to red using the style property and the borderTopColor property.

Overall, creating a CSS triangle with a border is a simple and effective way to add visual interest to your web design. With a few lines of code, you can create triangles of different sizes and colors to suit your needs.

CSS Triangle with Drop Shadow

To create a CSS triangle with a drop shadow, you'll need to use the "after" pseudo-class along with the "transform" property. Here's a quick example of how it works:

.triangle {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 100px 100px 100px;
  border-color: transparent transparent #007bff transparent;
  position: relative;

.triangle:after {
  content: "";
  display: block;
  position: absolute;
  bottom: -15px;
  left: 0;
  width: 100%;
  height: 15px;
  background-color: #007bff;
  transform: rotate(4deg);
  box-shadow: 0px 5px 5px #999999;

In this example, we first create a triangle with a blue border using the "border-style," "border-width," and "border-color" properties. We also set the "position" property to "relative" so that we can position the drop shadow with respect to the triangle.

Next, we use the "after" pseudo-class to create an element that sits on top of the triangle and acts as the drop shadow. We give it a "content" value of an empty string and set its "display" property to "block" so that it takes up space. We then position it underneath the triangle using the "bottom" property and align it to the left side with the "left" property.

To create a drop shadow, we set the background color of the after pseudo-element to blue and use the "transform" property to rotate it by 4 degrees. Finally, we add a box shadow using the "box-shadow" property with a horizontal offset of 0, a vertical offset of 5 pixels, a blur radius of 5 pixels, and a color of #999999.

With these styles in place, you'll have a CSS triangle with a drop shadow that looks great and adds depth to your design.

CSS Triangle with Gradient Fill

To create a CSS triangle with a gradient fill, you can use the CSS border property along with the linear-gradient() function. Here is an example code snippet to create a CSS triangle with a gradient fill:

.triangle {
   width: 0;
   height: 0;
   border-left: 50px solid transparent;
   border-right: 50px solid transparent;
   border-bottom: 100px solid transparent;
   border-image: linear-gradient(to bottom, #ff0000 0%, #00ff00 100%);
   border-image-slice: 1;

In this code example, the width and height properties are set to 0 to create a triangle shape. The border-left, border-right, and border-bottom properties are used to create the sides of the triangle with no color. Finally, the border-image property is set to a linear gradient that goes from red (#ff0000) at the top to green (#00ff00) at the bottom. The border-image-slice property is used to ensure that the border fills the whole triangle shape.

You can adjust the colors and the gradient direction to create different effects. For example, you could change the gradient direction to left or right by changing the to bottom value in the linear-gradient() function to to left or to right. You could also use more colors in the gradient to create a more complex effect.

Overall, creating a CSS triangle with a gradient fill is a simple and effective way to add visual interest to your website or application. With a few lines of CSS code, you can create a variety of different effects and styles to suit your needs.


In , CSS triangles can be a useful tool in web development for creating unique designs and elements on web pages. By using basic CSS code examples, developers can easily create triangles in various shapes and sizes. As with any CSS styling, it's important to consider the effects on the overall design and layout of the page. Experimenting with different colors and positioning can help achieve desired effects and make your page stand out. Remember to also keep in mind the responsiveness of your design, as triangles can affect the layout on various screen sizes. Overall, by mastering the use of CSS triangles, developers can add an extra dimension of creativity and visual interest to their web development projects.

Throughout my career, I have held positions ranging from Associate Software Engineer to Principal Engineer and have excelled in high-pressure environments. My passion and enthusiasm for my work drive me to get things done efficiently and effectively. I have a balanced mindset towards software development and testing, with a focus on design and underlying technologies. My experience in software development spans all aspects, including requirements gathering, design, coding, testing, and infrastructure. I specialize in developing distributed systems, web services, high-volume web applications, and ensuring scalability and availability using Amazon Web Services (EC2, ELBs, autoscaling, SimpleDB, SNS, SQS). Currently, I am focused on honing my skills in algorithms, data structures, and fast prototyping to develop and implement proof of concepts. Additionally, I possess good knowledge of analytics and have experience in implementing SiteCatalyst. As an open-source contributor, I am dedicated to contributing to the community and staying up-to-date with the latest technologies and industry trends.
Posts created 2012

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.

Back To Top