美文网首页
css 梯形,三角形 实现原理

css 梯形,三角形 实现原理

作者: VIAE | 来源:发表于2019-09-30 15:54 被阅读0次

首先,我们画一个div,给div加上border,看看盒子模型本来的样子

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <style type="text/css">
        .border{
            width: 300px;
            height: 300px;
            border-width: 100px;
            border-style: solid;
            border-color: #a5affb #7b70de #8e44ad #663399;
        }
    </style>
</head>
<body>
    <div class="border">这是一个彩色边的盒子</div>
</body>
</html>
border加粗的div.png

梯形:

.border{
    width: 300px;
    height: 300px;
    border-width: 100px;
    border-style: solid;
    border-color: transparent transparent #8e44ad transparent;
}

    <div class="border">这是一个彩色边的盒子</div>
css绘制梯形.png

由此可见,css绘制的梯形并不是一个容器,只是容器的一条边。css把容器的其余三条边设置为透明的,只显示需要的一条边,就是一个梯形了。

直角梯形

.border{
    width: 300px;
    height: 300px;
    /*border-width: 100px;*/
    border-left-width: 100px;  /*有斜边的方向,数值的大小决定斜边的梯度率*/
    border-bottom-width: 100px; /*梯形的高*/
    border-style: solid;
    border-color: transparent transparent #8e44ad transparent; /*选择显示哪个方向的梯形*/
}

    <div class="border">这是一个彩色边的盒子</div>
直角梯形.png

三角形
盒子模型分为两种,一种是border-box,一种是center-box。低版本的ie中是border-box,在新的浏览器中,我们可以把容器的宽高设计为0或者特地设置box-sizing: border-box。

来看看border-box的效果:

.border{
    width: 300px;
    height: 300px;
    box-sizing: border-box;
    border-width: 300px;
    border-style: solid;
    border-color: #a5affb #7b70de #8e44ad #663399;
}

    <div class="border">这是一个彩色边的盒子</div>

由此可见,当设置为border-box时,border的大小包含在容器大小之内,我们可以通过显示某条边来制作三角形


border-box.png
.border{
    width: 300px;
    height: 300px;
    box-sizing: border-box;
    border-width: 300px; /**/
    border-style: solid;
    border-color: transparent transparent #8e44ad transparent ; /*想要显示哪个方向的三角形*/
}

    <div class="border">这是一个彩色边的盒子</div>
border-box 三角形.png

border-box画直角三角形

.border{
    width: 300px;
        height: 300px;
        box-sizing: border-box;
        border-left-width: 300px; /*底边长*/
        border-bottom-width: 300px; /*三角形高*/
        border-style: solid;
        border-color: transparent transparent #8e44ad transparent;
}

    <div class="border">这是一个彩色边的盒子</div>
    
border-box等腰直角三角形.png

center-box:

.border{
    width: 0px;
        height: 0px;
        border-width: 300px;
        border-style: solid;
        border-color: #a5affb #7b70de #8e44ad #663399;
}

    <div class="border">这是一个彩色边的盒子</div>
center-box.png

与border-box一样,可以根据控制border的width和方向来画出自己想要的三角形

相关文章

  • css 梯形,三角形 实现原理

    首先,我们画一个div,给div加上border,看看盒子模型本来的样子 梯形: 由此可见,css绘制的梯形并不是...

  • css 实现三角形箭头

    插入DOM 使用伪类 参考:用纯CSS实现的箭头CSS画三角形原理css整理 -- 右箭头,上下箭头,三角形 这个...

  • 前端面试题汇总

    css 布局 两列三列 居中对齐 bfc 定位 css3 新增 三角形 梯形 空心三角形 block visibi...

  • css绘制三角形(border属性的使用)

    1 . 实现一个简单的三角形 使用css 盒模型中的border (边框) 即可实现如下的三角形: 实现原理: 首...

  • CSS绘制三角形—border法

    1. 实现一个简单的三角形 使用CSS盒模型中的border(边框)即可实现如下所示的三角形: 实现原理: 首先来...

  • CSS实现空心三角形

    背景:WEB开发中,三角形的日常应用,以三角形箭头最为常见,其用CSS来实现非常简单。 三角形的实现原理:是宽高都...

  • CSS实现三角形 梯形

    根据盒子模型,主体的长宽为0,border就为三角形, transparent为透明色,当只有borde-top的...

  • CSS简单绘制特殊图形和布局

    三角形Triangle1 圆形Triangle2 梯形trapezoid CSS3D加速transform: tr...

  • 用CSS画三角形和提示框

    CSS也可以实现一些好玩的东西,比如我们用CSS实现一个三角形。原理:需要把元素的宽度、高度设置为0,然后为其设置...

  • css实践

    一.纯css创建一个三角形的原理采用的是均分原理,把矩形分为4等份,这4等份其实都是边框 二.css3实现0.5p...

网友评论

      本文标题:css 梯形,三角形 实现原理

      本文链接:https://www.haomeiwen.com/subject/ywicpctx.html