CSS实现直角三角形

在这里插入图片描述

如图:这个盒子的样式该如何实现:盒子只有矩形,圆形,三角形,那梯形如何画出来的呢,即通过一个浮动的直角三角形+矩形,就可以形成梯形这种效果了。
在这里插入图片描述

  • 理论:直角三角形,把左边和下边的边框宽度设置为0,把上边框宽度调大,即可得到

CSS代码如下

/*代码简写如下*/
.box{
	width: 0;
	height: 0;
	/*边框颜色*/
	border-color: transparent skyblue transparent transparent;
	/*边框样式*/
	border-style: solid;
	border-width: 100px 50px 0 0 ;
}

推演过程:

1. 画出三角形

.box{
    width: 0;
    height: 0;
    border-top: 50px solid red;
    border-right: 50px solid skyblue;
    border-bottom: 50px solid yellowgreen;
    border-left:  50px solid green;
}

样式如下图:
在这里插入图片描述

2. 既然要得到直角三角形,那就意味着把下边的宽度设成0 即可得到:

在这里插入图片描述
CSS样式代码:

 .box{
     width: 0;
     height: 0;
     border-top: 50px solid red;
     border-right: 50px solid skyblue;
     border-bottom: 0 solid yellowgreen;
     border-left:  50px solid green;
 }
3. 但是感觉高度不够,把高度调高一些,就变成了

在这里插入图片描述
CSS样式代码:

.box{
    width: 0;
    height: 0;
    border-top: 100px solid red;
    border-right: 50px solid skyblue;
    border-bottom: 0 solid yellowgreen;
    border-left:  50px solid green;
}
5.现在已经得到直角三角形了,那么左侧的三角形如何去掉,还是按照上面的方法,把左边的宽度给成0 效果如图:

在这里插入图片描述
CSS样式代码

.box{
    width: 0;
    height: 0;
    border-top: 100px solid red;
    border-right: 50px solid skyblue;
    border-bottom: 0 solid yellowgreen;
    border-left:  0 solid green;
}
6. 现在把上面的三角形颜色改成透明色即可得到单独的直角三角形

在这里插入图片描述
CSS样式代码如下:

.box{
    width: 0;
    height: 0;
    border-top: 100px solid transparent;
    border-right: 50px solid skyblue;
    border-bottom: 0 solid yellowgreen;
    border-left:  0 solid green;
}

代码可以进行如下简写:

.box{
    width: 0;
    height: 0;
    /*边框颜色*/
    border-color: transparent skyblue transparent transparent;
    /*边框样式*/
    border-style: solid;
    border-width: 100px 50px 0 0 ;
}

分割线
如何实现第一个图的样子:
具体的代码如下:

  .box{
      width: 160px;
      height: 24px;
      border: 1px solid red;
      /*水平居中*/
      line-height: 24px;
  }
  .ms{
      position: relative;
      /*文字环绕*/
      float: left;
      width: 90px;
      height: 100%;
      background-color: red;
      text-align: center;
      color: #fff;
      font-weight: 700 ;
      margin-right: 9px;
  }
  .ms i{
      position: absolute;
      right: 0;
      top: 0;
      width: 0;
      height: 0;
      border-color: transparent white transparent transparent;
      border-width: 24px 10px 0 0 ;
      border-style:  solid;
  }
  .yj{
      font-size: 12px;
      /*灰色*/
      color: gray;
      /*删除线*/
      text-decoration: line-through;
  }

H5代码:

<div class="box">
    <span class="ms">
        ¥1650
        <i></i>
    </span>
    <span class="yj">¥5050</span>
</div>

效果如图:
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值