sisterAn / JavaScript-Algorithms

基础理论+JS框架应用+实践,从0到1构建整个前端算法体系
5.45k stars 626 forks source link

面试题:使用 CSS 画一个三角形 #123

Open sisterAn opened 3 years ago

sisterAn commented 3 years ago
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>画三角形</title>
    <style>
        .triggle{
            width: 0px;
            height: 0px;
            border-width: 100px;
            border-style: dotted dotted solid dotted;
            border-color: transparent transparent red transparent;
        }
    </style>
</head>
<body>
    <div class="triggle"></div>
</body>
</html>

前端小技巧:边框写三角形

latte03 commented 3 years ago

通过border模拟实现

当div 的宽高为0,存在边框的时候,四条边框的中心将会是一个点,通过设置其他三条边框的透明度,实现三角形。

div{
  width:0;
  height:0;
  border-width:8px;
  border-style:solid;
  border-top-color: transparent;
  border-right-color: transparent;
  border-bottom-color: transparent;
  border-left-color: red;
}
U-LAN commented 3 years ago

通过border模拟实现

当div 的宽高为0,存在边框的时候,四条边框的中心将会是一个点,通过设置其他三条边框的透明度,实现三角形。

div{
  width:0;
  height:0;
  border-width:8px;
  border-top-color: transparent;
  border-right-color: transparent;
  border-bottom-color: transparent;
  border-left-color: red;
}

显示不出来需要再加一个属性: border-style:solid;

latte03 commented 3 years ago

通过border模拟实现

当div 的宽高为0,存在边框的时候,四条边框的中心将会是一个点,通过设置其他三条边框的透明度,实现三角形。


div{

  width:0;

  height:0;

  border-width:8px;

  border-top-color: transparent;

  border-right-color: transparent;

  border-bottom-color: transparent;

  border-left-color: red;

}

显示不出来需要再加一个属性: border-style:solid;

啊 漏了..补上

ryadav96 commented 3 years ago

Using clip-path property

.triangle { width:200px; height: 200px; background-color: #119933; clip-path: polygon(50% 0, 50% 0, 100% 100%, 0 100%); }