
How to create a triangle in CSS: Simple methods and examples
Table of contents
Quick Access

Creating shapes with CSS is a common technique in modern web design, and triangles are among the most widely used elements for tooltips, dropdown menus, navigation indicators, speech bubbles, and custom UI components. The good news is that you can create a triangle in CSS without using images or SVG files.
You'll learn how to create a triangle in CSS using different approaches, including the classic border method and modern CSS techniques. We'll walk through practical examples and customization options so you can easily adapt CSS triangles to your web design projects.
Understanding CSS Border-Based Triangles
One of the most common techniques to create a triangle in CSS is by manipulating the border property. By setting transparent borders on three sides and a visible border on one, we can achieve a triangle shape.
Basic CSS Triangle Using Borders
.triangle { width: 0; height: 0; border-left: 50px solid transparent; border-right: 50px solid transparent; border-bottom: 50px solid #000;}
Explanation
- The width and height are set to 0 to remove any rectangular appearance.
- The border-left and border-right are set to transparent to create the illusion of a triangle.
- The border-bottom is given a solid color, forming the actual triangle.
Creating Different Triangle Orientations
By altering the border assignments, different triangle orientations can be achieved:
Upward Triangle
.triangle-up { width: 0; height: 0; border-left: 50px solid transparent; border-right: 50px solid transparent; border-top: 50px solid #000;}
Right-Facing Triangle
.triangle-right { width: 0; height: 0; border-top: 50px solid transparent; border-bottom: 50px solid transparent; border-left: 50px solid #000;}
Left-Facing Triangle
.triangle-left { width: 0; height: 0; border-top: 50px solid transparent; border-bottom: 50px solid transparent; border-right: 50px solid #000;}
Using CSS clip-path for Triangles
An alternative to the border method is using clip-path, which provides more flexibility and better responsiveness.
.triangle-clip { width: 100px; height: 100px; background: #000; clip-path: polygon(50% 0%, 0% 100%, 100% 100%);}
Advantages of clip-path
- Allows more complex shapes beyond simple triangles.
- Can be applied to elements with backgrounds or images.
- Provides smoother rendering on modern browsers.
Responsive and Scalable Triangles
To create a responsive triangle, use em, rem, or percentage values instead of fixed pixels. For example:
.responsive-triangle { width: 0; height: 0; border-left: 5em solid transparent; border-right: 5em solid transparent; border-bottom: 5em solid #000;}
CSS triangle are a versatile tool in front-end development, allowing developers to create indicators, arrows, and various UI elements without relying on images. The border method is widely supported and easy to implement, while clip-path offers advanced flexibility for modern applications. By understanding both techniques, developers can efficiently create scalable and responsive triangles for any web project.
Experiment with different approaches and optimize your CSS triangles for better performance and user experience!
We recommend you on video
Related blogs

Legacy Core Banking Migration: 5 Engineering Lessons

Validating a Product Idea with AI: A Technical Guide

AI-Powered Product Discovery: Reduce Risks
