纯css实现三角形

2017-11-26  本文已影响12人  苏敏

今天读大漠老师的图解css3中,遇到一个需要画三角形的地方,我刚好学一下。

image.png
这里是我做的一些注释,我们来看一下,首先我们设置了一个白色的5px的border,通过设置宽高为0达到整个盒子只剩下border值,然后通过border-color来取到三角形,我们也可以通过调整颜色值的位置来达到不同方向上的实体三角形。
实现效果如下
image.png

到这里我们就可以获取到一个简单的三角形,但是如果我们想要一个没有内边线的三角形呢,如图示


image.png

是不是要动动脑筋呢,实现的思路其实还是上面那个,但是需要动一动你的脑袋,首先我们把问题分解,一步步的去实现这个过程才是收货。

最终实现代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        #demo {
          width: 300px;
          height: 150px;
          background-color: #fff;
          position: relative;
          border: 4px solid #333;
        }

        #demo:after, #demo:before {
            /*这里边框是为了方便看清楚演示*/
          border: 5px solid #ccc;
          content: '';
          width: 0;
          height: 0;
          left: 100%;
          position: absolute;
        }

        #demo:before {
            border-width: 14px;
            border-color: transparent transparent transparent  #333 ;
            top: 10px;
        }
        
        #demo:after {
            border-width:9px;
            border-color: transparent transparent transparent  #fff ;
            top:15px;
        }
</style>
</head>
<body>
    <div id="demo"></div>
</body>
</html>

ok,也算是复习css头疼之后一点小乐趣吧,鼓励一下,继续加油!

上一篇下一篇

猜你喜欢

热点阅读