dmz社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1089|回复: 0

[Html/Css] CSS之border绘制三角形

[复制链接]
  • TA的每日心情

    2024-2-20 11:15
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    878

    主题

    4343

    帖子

    3995

    积分

    终身会员[A]

    Rank: 7Rank: 7Rank: 7

    积分
    3995

    发表于 2020-4-14 14:00:01 | 显示全部楼层 |阅读模式

    本站资源全部免费,回复即可查看下载地址!

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    用CSS的border可以画出高质量的三角形。
    我们一般会这么使用border:

    [CSS] 纯文本查看 复制代码
    #test-border {
        width: 100px;
        height: 100px;
        margin: 100px auto;
        background: #fff;
        border: 2px solid orange;
    }
     

    得到的效果如下:
    1.png

    因为我们一般设的border-width都很小,导致很多童鞋以为border是四个矩形,然而其实并不是,我们把content的宽度变小,border-width增大,并涂上不同的颜色,更改代码如下:

    [CSS] 纯文本查看 复制代码
    #test-border {
        width: 40px;
        height: 40px;
        margin: 100px auto;
        background: #fff;
        border: 30px solid;
        border-color: green orange;
    }

    效果如下:


    2.png


    那么把width和height设为0,就可以得到四个三角形:
    3.png

    注意,这里的border-width指的是外边界到中心点的垂直距离!即如上图所示。
      border-width设置值方式如下:
        1,设一个值:为四个方向;
        2,设两个值:上下--左右;
        3,设三个值:上--左右--下;
        4,设四个值:上--右--下--左。
      
      比如现在我们需要一个底边长100px,高60px的正摆放三角形,根据以上知识,可推算如下:
         1,  正向三角形:顶部的border-width为0, 顶部和左右的颜色都为transparent;
        2,底边长100px = 左右的border-width各为50px;
        3,高60px = border-bottom的width为60px;
      故改写代码如下:
    [HTML] 纯文本查看 复制代码
    #test-border {
        width: 0;
        height: 0;
        margin: 100px auto;
        border-width: 0 50px 60px;
        border-color: transparent transparent orange;
        border-style: solid;
    }

    结果如下:
    4.png
    5.png







    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|小黑屋|本站代理|dmz社区

    GMT+8, 2025-2-2 04:31 , Processed in 0.089296 second(s), 32 queries .

    Powered by Discuz! X3.4 Licensed

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表