• 使用CSS画出三角形


    看到有面试题里会有问到如何用css画出三角形

    众所周知好多图形都可以拆分成三角形,所以说会了画三角形就可以画出很多有意思的形状

    画出三角形的原理是调整border(边框)的四个方向的宽度线条样式以及颜色

    如果你将宽度调的足够大,改变不同方向的颜色,你就可以发现盒模型的border是四个梯形一样的线条。

    这个时候如果将盒模型内部的height,width调为0px,则三角形就形成了。

    1 border:100px solid transparent   //边框100px,实线,透明颜色,下面三行代码等同于此句
    2 border-15px;        //border-width代表所有方向的border
    3 border-style:solid;
    4 border-color:transparent;

    如果你看明白了原理那么现在你应该已经可以自己写出代码了。

    1      0;
    2     height: 0;
    3     border-left: 50px solid transparent;    //左边宽度50px,实线,透明颜色
    4     border-right: 50px solid transparent;    //右边同上
    5     border-top: 100px solid red;        //上边宽度100px,实线,红色

    上面这段代码可以生成一个向下的三角形。如下图所示(为便于理解我替换了右边的颜色)

    由这个效果图我们可以看出,要生成一个三角形我们需要三条边框。

    左右边框的高度会决定三角形的高有多长。

    三角形高度则由边框自己的宽度决定

    那么如何生成一个指向右下或者左下之类的这样的三角呢?

    相信大家已经通过上面的图看出来了。

    我们只需要两条边框就够了。

    1      0;
    2     height: 0;
    3     border-top: 100px solid red;
    4     border-right: 100px solid transparent;

    这段代码就会生成一个指向左下的三角形,底和高都是100px。

    还记不记得border-width。

    它可以用一句代码定义四条边框的宽度。



    转载请标明出处

    作者:AaXuan

    地址:http://www.cnblogs.com/Aaxuan

    知识共享许可协议

    本作品采用  知识共享署名 3.0 未本地化版本许可协议  进行许可。

  • 相关阅读:
    简单工厂
    Java鲁棒性(健壮性)
    外部类,成员内部类,局部内部类能被哪些修饰符修饰
    Java枚举类的7种常用的方法
    同步,异步,阻塞,非阻塞
    对于面向对象的基本理解
    对于数组的一点理解
    类加载机制-双亲委派机制(三)
    架构- 数据库的优化
    python调用jenkinsapi
  • 原文地址:https://www.cnblogs.com/Aaxuan/p/6066316.html
Copyright © 2020-2023  润新知