使用CSS border 做三角形 口诀赠上

为了方便用border做三角形,省去那繁琐的思考三角朝向的问题,自己搞了个小口诀,分两篇,一篇是普通的三角,一篇是针对直角三角,口诀如下:

普通篇:

方向朝哪哪边无,

颜色反向来弥补

直角三角篇:

直角三角分两边,

哪侧无值朝哪边,

具体颜色来填充,

要看直角在哪边,

向上直角填上边,

向下直角填下边,

top、bottom俩冤家,

从此永远不想见。

针对普通篇的效果如下:

代码如下:

.toLeft {
                width: 0;
                height: 0;
                border-width: 30px 50px 30px 0;
                border-style: solid;
                border-color: transparent #007AFF transparent transparent;
            }

demo解析:因为方向朝左,所以左侧值为0,因为方向朝左,颜色填充的是在右边,符合口诀,嘿嘿,smell。其他的就不详细说明了,直接上效果,如下:

代码如下:

.toRight {
                width: 0;
                height: 0;
                border-width: 30px 0 30px 50px;
                border-style: solid;
                border-color: transparent transparent transparent #007AFF;
            }
            .toTop {
                width: 0;
                height: 0;
                border-width: 0 30px 50px 30px;
                border-style: solid;
                border-color: transparent transparent #007AFF transparent;
            }
            .toBottom {
                width: 0;
                height: 0;
                border-width: 30px 30px 0 50px;
                border-style: solid;
                border-color: #007AFF transparent transparent transparent;
            }

直角三角demo效果:

代码如下:

.straightLeftTop {
                width: 0;
                height: 0;
                border-width: 100px 50px 0 0;
                border-style: solid;
                border-color: #0062CC transparent transparent transparent;
            }

demo解析:这个直角三角的角是在左上的,根据口诀分析,哪边无值在哪边,左侧无值,正确;颜色填充呢,还是因为直角的位置关系,因为,直角在上边,所以颜色填充的位置在上边,正确,还是因为直角的关系,因为直角在上边的,所以bottom无值,从此永远不相见,正确。其他例子如下:

代码如下:

.straightRightTop {
                width: 0;
                height: 0;
                border-width: 100px 0 0 50px;
                border-style: solid;
                border-color: #0062CC transparent transparent transparent;
            }
            .straightLeftBottom {
                width: 0;
                height: 0;
                border-width: 0 50px 100px 0;
                border-style: solid;
                border-color: transparent transparent #0062CC transparent;
            }
            .straightRightBottom {
                width: 0;
                height: 0;
                border-width: 0 0 100px 50px;
                border-style: solid;
                border-color: transparent transparent #0062CC transparent;
            }

在自己不懂之前参考过的网址,感谢他们:http://www.cnblogs.com/blosaa/p/3823695.html

转载请注明出处,thank you!

原文地址:https://www.cnblogs.com/zxn-9588/p/8557835.html

时间: 2024-10-18 07:36:35

使用CSS border 做三角形 口诀赠上的相关文章

用border做三角形

网站上经常会使用一些三角形,除了图片的方式,实际上利用border我们可以做出纯CSS的三角形.我们知道border是个边抖可以单独设置,当四个边相交的时候他们是什么时候改变的? .t0{ margin:30px; height:200px; width:200px; border-top:solid 100px red; border-left:solid 100px green; border-right:solid 100px orange; border-bottom:solid 100

CSS border实现三角形

一.原理 CSS盒模型 一个盒子包括:margin+border+padding+content.上下左右边框交界处出呈现平滑的斜线.利用这个特点,通过设置不同的上下左右边框宽度或者颜色可以得到小三角,小梯形等. 调整宽度大小可以调节三角形形状. 示例1: 一般情况下,我们设置盒子的宽高度及上下左右边框,会呈现如下图: #test1 { height: 20px; width: 20px; border-color: #FF9600 #3366ff #12ad2a #f0eb7a; border

使用border做三角形

网站上经常会使用一些三角形,除了图片的方式,实际上利用border我们可以做出纯CSS的三角形.我们知道border是个边都可以单独设置,当四个边相交的时候他们是什么时候改变的? 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Document</title> 6 <style&

border做三角形

切页面~ border: 四个边都可以设置.border-top\border-right\bottom\left. 1. 四个边交汇的地方是怎么处理的呢? 平分~ .t1{ margin:30px; height:100px; width:100px; border-top:solid 30px red; border-left:solid 30px green; border-right:solid 30px orange; border-bottom:solid 30px blue; }

css border 制作三角形

border 边框 上三角 是只有上面的border 有颜色,其余的边框都是tranparents,下三角只有下面的border 有颜色,其余的边框都是tranparents,左三角只有左面的border 有颜色,其余的边框都是tranparents,右三角只有右面的border 有颜色,其余的边框都是tranparents, 代码 /***三角***//***外层***/#imgMouseOver{ position: absolute; top:48px; left:-42px; width

div border做三角形原理

.t0{       margin:30px;       height:200px;       width:200px;       border-top:solid 100px red;       border-left:solid 100px green;       border-right:solid 100px orange;       border-bottom:solid 100px blue; } div的border是有宽度和颜色的,当div的宽度比较大的时候,比如上面

利用border做三角形的效果

利用伪类,和透明可以实现这种效果,大家可以试下 &:before{ position: absolute; left: 30px; top:-6px; content: ""; display: block; width: 0; height:0; border-style: solid; border-width: -12px; border-color: transparent transparent #fff     transparent; }

纯css做三角形图标

以前做三角形图标一直是用图片,或者css3旋转,现在才发现原来还有这么简单的三角形 div { border: 10px solid transparent; border-bottom: 10px solid #000; width: 0; } 只要这么简单的三行css就可以实现一个三角形!

CSS用border绘制三角形

使用border绘制三角形的思路,就是border值设置一个很大的值,元素自身的宽高设置为0,全部由边线占据,这样每边就会显示为四分之一块的三角形.这样不借助图片,可以直接绘制出三角形了. 一个栗子: <!DOCTYPE html PUBliC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <ht