从盒子模型来分析CSS3三角形的实现

盒子模型分为两种,第一个是W3C标准的盒子模型(盒模型),第二种是IE标准的盒子模型,也称为怪异盒模型。

它们两个的区别:标准盒模型的width指的是内容区域content的宽度,不包括border、padding,而IE盒子定义的width是包括内容+边框+内边距,

我们今天从W3C标准的盒模型聊起,如何实现一个三角形。

 

盒子实现的原理就是当盒子的宽高都设置为0,然后通过调整边框的宽度和颜色来实现三角形。

1.正方形盒子宽高不为0,且边框都有的情况下:

2.盒子宽高都为0,但是边框有宽度的情况:

看到上面这张图,想必就能理解到,三角形的实现就是盒子宽高都为0,然后单独设置一边的边框,颜色和宽度即可实现。

闲话不多说,上代码:

body中写好div,分别定义上下左右四个类名。

 <body>
    <div class="up"></div>
    <div class="down"></div>
    <div class="left"></div>
    <div class="right"></div>
  </body>

style中定义样式,记得盒子宽高都设置为0,因为这是盒子边框的舞台。

  <style>
      .up {
        width: 0;
        height: 0;
        border-width: 0 40px 40px;
        border-style: solid;
        border-color: transparent transparent #fb9700;
        margin-bottom: 20px;
      }
      .down {
        width: 0;
        height: 0;
        border-width: 40px 40px 0;
        border-style: solid;
        border-color: #fb9700 transparent transparent;
      }
      .left {
        width: 0;
        height: 0;
        border-width: 40px 40px 40px 0;
        border-style: solid;
        border-color: transparent #fb9700 transparent transparent;
        margin-left: 40px;
      }
      a,
      ins {
        border: 1px solid #000;
        padding: 40px 40px;
      }
      .right{
        width: 0;
        height: 0;
        border-width:40px 0 40px 40px  ;
        border-style: solid;
        border-color: transparent transparent transparent #fb9700;
      }
    </style>

我将border:1px  solid #ccc,拆分来写,因为要设置四个边框的样式,这样写比较形象。

效果图:

 

注意:边框只能设置宽度,border-widht,是没有border-height一说的哦

大家有什么疑问欢迎留言,

小伙伴们喜欢点个赞再走呗。

 

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值