如何用CSS3生成直角梯形,原理是什么?

可以用border来弄,但一直都不懂原理,求解答... 可以用border来弄,但一直都不懂原理,求解答 展开
 我来答
超凡且憨厚灬饼子A
2016-06-08 · TA获得超过9399个赞
知道大有可为答主
回答量:5551
采纳率:44%
帮助的人:2365万
展开全部

上下左右4条边,最关键的一点:每两条边的相交处是斜线的相交的。

如果不渲染成斜线,那么写浏览器内核解析css的程序员要纠结了:上边该压着左边线还是右边线,谁压谁都不合理啊,最简单的是弄成斜线等分,还不必去写判断谁该压着谁的程序代码。


于是,就给用边框创造梯形、三角形留下了空间,其他三条边颜色设置为透明或none,剩下的就是梯形或三角了,至于直角梯形,第6个div是,观察第4个div的 none 起了什么作用,再看div6,相信你就明白了。上图的代码:

<div id="div1">1</div>
<div id="div2">2</div>
<div id="div3">3</div>
<div id="div4">4</div>
<div id="div5">5</div>
<div id="div6">6</div>

<style>
div{
    float: left;margin: 10px;
    border-top: 30px red solid;
    border-bottom: 30px blue solid;
    border-left: 30px yellow solid;
    border-right: 30px green solid;
}

#div1{width: 0;height: 0;}
#div2{width: 30px;height: 0;}
#div3{width: 30px;height: 30px;}

#div4{
    width: 30px;
    border-top: none;
}

#div5{
    border-top: transparent 30px solid;
    border-bottom: 30px blue solid;
    border-left: transparent 30px solid;
    border-right: transparent 30px solid;
}

#div6{
    width: 50px; height: 0;
    border-top: none;
    border-bottom: 40px blue solid;
    border-left: transparent 30px solid;
    border-right: none;
}
</style>
苏州谭祖自动化科技有限公司_
2024-11-13 广告
苏州谭祖自动化科技有限公司专业提供高速精密分割器,凸轮及其他五金配件。随着现代工业对自动化、高速化、高精度化的日益追求,更可靠的凸轮分度器已成为当今世界上精密驱动的主流装置.它们作为自动化机器的核心传动装置发挥着至关重要的作用。此产品广泛用... 点击进入详情页
本回答由苏州谭祖自动化科技有限公司_提供
在桃花源哼唱摇篮曲的流氓兔
2016-06-08
知道答主
回答量:4
采纳率:0%
帮助的人:4297
展开全部
上下左右4条边,最关键的一点:每两条边的相交处是斜线的相交的。

如果不渲染成斜线,那么写浏览器内核解析css的程序员要纠结了:上边该压着左边线还是右边线,谁压谁都不合理啊,最简单的是弄成斜线等分,还不必去写判断谁该压着谁的程序代码。

于是,就给用边框创造梯形、三角形留下了空间,其他三条边颜色设置为透明或none,剩下的就是梯形或三角了,至于直角梯形,第6个div是,观察第4个div的 none 起了什么作用,再看div6,相信你就明白了。上图的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40

<div id="div1">1</div>
<div id="div2">2</div>
<div id="div3">3</div>
<div id="div4">4</div>
<div id="div5">5</div>
<div id="div6">6</div>

<style>
div{
float: left;margin: 10px;
border-top: 30px red solid;
border-bottom: 30px blue solid;
border-left: 30px yellow solid;
border-right: 30px green solid;
}

#div1{width: 0;height: 0;}
#div2{width: 30px;height: 0;}
#div3{width: 30px;height: 30px;}

#div4{
width: 30px;
border-top: none;
}

#div5{
border-top: transparent 30px solid;
border-bottom: 30px blue solid;
border-left: transparent 30px solid;
border-right: transparent 30px solid;
}

#div6{
width: 50px; height: 0;
border-top: none;
border-bottom: 40px blue solid;
border-left: transparent 30px solid;
border-right: none;
}
</style>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友2f2a97e
2016-06-23
知道答主
回答量:27
采纳率:0%
帮助的人:7.2万
展开全部
直角梯形是指有一个直角的梯形。梯形两腰既不相等也不平行,两底平行,但不相等,一个腰上的两角都是直角。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
袁方旭
2016-06-16 · TA获得超过483个赞
知道答主
回答量:849
采纳率:0%
帮助的人:114万
展开全部
不过丰华股份法国恢复
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式