• CSS 制作三角形原理剖析


    使用css制作三角形其实原理很简单,下面一步步解析。

    1、html代码如下

    1 <div class="triangle">
    2 </div>
    
    

     2、CSS代码

    1 .triangle{
    2     
    3     width: 200px;
    4     height: 200px;
    5     border: solid 40px red;
    6 }

     不错,这里显示是一个正方形,如下

    3、下面改变个边框颜色

    1 .triangle{
    2     
    3     width: 200px;
    4     height: 200px;
    5     border-bottom: solid 40px #0000FF;
    6     border-top: solid 40px #000000;
    7     border-right: solid 40px #FF0000;
    8     border-left: solid 40px #00FF00;
    9 }

    显示效果如下

    这里可能会感觉很奇怪,为什么四个角上的变成了斜的,下面在做一下变换

    4、稍作变化,去掉上边框

    1 .triangle{
    2     
    3     width: 200px;
    4     height: 200px;
    5     border-bottom: solid 40px #0000FF; 
    6     border-right: solid 40px #FF0000;
    7     border-left: solid 40px #00FF00;
    8 }

    显示效果如下

    可以看出,浏览器渲染时,针对边框角处理,以left和top为例说明:如果top 和left同时存在,各显示一部分;如果只有left,left边框才会显示为矩形角。

    5、现在缩小div宽度和高度

    1 .triangle{
    2     
    3     width: 150px;
    4     height: 90px;
    5     border-bottom: solid 40px #0000FF;
    6     border-top: solid 40px #000000;
    7     border-right: solid 40px #FF0000;
    8     border-left: solid 40px #00FF00;
    9 }

    显示效果如下

    可以理解,当宽度和高度同时变为0时,就是如下效果

    1 .triangle{
    2     
    3     width: 0;
    4     height: 0;
    5     border-bottom: solid 40px #0000FF;
    6     border-top: solid 40px #000000;
    7     border-right: solid 40px #FF0000;
    8     border-left: solid 40px #00FF00;
    9 }

    6、这时候如果只留一个边框有颜色,其他边框变成透明的话,就成了三角形了

     1 .triangle{
     2     
     3     width: 0;
     4     height: 0;
     5     border-bottom: solid 40px transparent;
     6     border-top: solid 40px #000000;/*只留上边框有颜色,其他边框透明*/
     7     border-right: solid 40px transparent;
     8     border-left: solid 40px transparent;
     9 }
    10     

  • 相关阅读:
    递归调用简单的讲解
    有关杭电acm问题的分类
    【jquery】切换标题与内容/点击后动态切换当前状态
    将数组某键值抽出作为新数组
    table表格制作
    如何导入大sql文件到mysql数据库
    二维数组按照某一键值进行排序
    利用PHP输出某一目录所有文件
    php结合js动态获取空间时间
    ie6不支持minheight的解决方案
  • 原文地址:https://www.cnblogs.com/zengguoyu/p/5363813.html
Copyright © 2020-2023  润新知