📜  三角形 css (1)

📅  最后修改于: 2023-12-03 14:48:47.904000             🧑  作者: Mango

三角形 CSS

在前端开发中,常常需要使用三角形来作为边框、背景等的装饰。本文将介绍使用 CSS 来创建三角形的多种方法。

直角三角形

直角三角形是最简单的三角形,它的两边垂直,符合勾股定理。

方式一:使用 border

我们可以使用 CSS 的 border 属性来创建直角三角形。

.triangle {
  width: 0;
  height: 0;
  border-top: 50px solid red;
  border-right: 50px solid transparent;
}

解析:

  • 设置宽高为 0,是因为我们只需要三角形的边框,不需要填充颜色;
  • 通过设置 border-top 和 border-right,来使得三角形的两边垂直;
  • 将 border-right 的颜色设置为 transparent,是为了避免重叠。
方式二:使用伪元素的旋转

我们也可以使用伪元素的旋转来创建直角三角形。

.triangle {
  width: 50px;
  height: 50px;
  position: relative;
}
.triangle::before {
  content: '';
  width: 50px;
  height: 50px;
  background-color: red;
  position: absolute;
  transform-origin: right bottom;
  transform: rotate(-45deg);
}

解析:

  • 设置 .triangle 的宽高为 50px,是因为我们需要一个正方形来旋转;
  • .triangle::before 表示在 .triangle 中创建一个伪元素,并设置其 content 属性为空;
  • 设置 .triangle::before 的宽高为 50px,并设置其背景颜色为红色;
  • 设置 .triangle::before 的定位为绝对定位,并通过 transform-origin 和 transform 来旋转。
向上、向下等比较常见的三角形
使用 border
.triangle {
  width: 0;
  height: 0;
  border-width: 50px;
  border-style: solid;
  border-color: transparent transparent red transparent;
}

解析:

  • 设置宽高为 0,是因为我们只需要三角形的边框,不需要填充颜色;
  • 通过设置 border-width,来改变三角形的大小;
  • 通过设置 border-color,来改变三角形的颜色。
使用伪元素的旋转
.triangle {
  width: 50px;
  height: 50px;
  position: relative;
}
.triangle::before {
  content: '';
  width: 50px;
  height: 50px;
  background-color: red;
  position: absolute;
  transform-origin: center center;
}
.triangle-top::before {
  transform: rotate(45deg);
  top: -25px;
}
.triangle-bottom::before {
  transform: rotate(-135deg);
  bottom: -25px;
}

解析:

  • 使用 .triangle 来设置正方形的大小;
  • 使用 .triangle::before 来创建伪元素,并设置其背景颜色;
  • 使用 transform-origin 来设置旋转的中心点;
  • 通过 .triangle-top::before 和 .triangle-bottom::before 来设置三角形的朝向和位置。
小结

通过本文的介绍,我们了解了使用 CSS 来创建三角形的多种方法,可以根据不同的需求来选择适合的方式。