当前位置: 首页 > Web前端 > CSS

css是如何实现三角形、箭头、提示框的,一起来了解一下

时间:2023-03-30 16:37:37 CSS

1。为矩形设置边框以查看它如何变化。

看一个正常的矩形变化过程

边框的正常宽高设置
border-top
border-right
border-left
border-bottom背景.b{display:flex;对齐项目:居中;证明内容:空间周围;弹性包装:包装;字体大小:10px;文本对齐:居中;}.b1{宽度:100px;高度:70px;边框:5px实心#00aaff;右边距:10px;margin-bottom:10px;}.b2{宽度:100px;高度:70px;#ff557f;右边距:10px;margin-bottom:10px;}.b3{宽度:100px;高度:70px;边框:5px实心#00aaff;-top:5pxsolid#ff557f;左边框:10pxsolid#550000;右边距:10px;底部边距:10px;}.b4{宽度:100px;高度:70px;顶部:5px实心#ff557f;左边框:10pxsolid#550000;border-right:15pxsolid#3EFF8B;右边距:10px;:5pxsolid#00aaff;border-top:5pxsolid#ff557f;左边框:10pxsolid#550000;border-right:15pxsolid#3EFF8B;border-bottom:20pxsolid#ffff7f;底部:10px;}.b6{宽度:100px;高度:70px;背景:粉色;边框:5px实心#00aaff;border-top:5pxsolid#ff557f;左边框:10pxsolid#550000;固体#3EFF8B;border-bottom:20pxsolid#ffff7f;右边距:10px;margin-bottom:10px;}2.改变矩形的宽和高当矩形的宽或高为0时,出现梯形+三角形的矩形当宽和高都为0时,出现三角形。从这一步,我们就可以大致知道梯形和三角形是怎么形成的了。3.去掉矩形高度为0时的border-top,可以得到下面第二张图。当border-left和border-right设置为透明时,会出现一个梯形。通过旋转选择此梯形以获得向下的梯形。同样,去掉border-bottom,将border-left和border-right设为透明,也可以得到向下的梯形。高为0,出现梯形+三角去掉border-top

得到梯形

旋转旋转

.b10{width:50px;高度:0;背景:粉色;border-top:60pxsolid#ff557f;左边框:60pxsolid#550000;border-right:60pxsolid#3EFF8B;border-bottom:60pxsolid#ffff7f;右边距:20px;底部边距:10px;}.b11{宽度:50px;高度:0;左边框:60pxsolid#550000;border-right:60pxsolid#3EFF8B;border-bottom:60pxsolid#ffff7f;右边距:20px;margin-bottom:10px;}.b11-tixing,.b11-tixing-rotate{宽度:50px;高度:0;左边框:60px实心透明;border-right:60pxsolidtransparent;border-bottom:60pxsolid#ffff7f;右边距:20px;底部边距:10px;}.b11-tixing-rotate{变换:旋转(-180deg);}.b11-tixing-rotatep{transform:rotate(180deg);}设置其他情况,也可以得到一些想要的图形4.当矩形的宽度为0,宽度为0时,可以得到对应的梯形。当然这个梯形也是可以用rotate来搞定的。方法不是唯一的,知道就知道了。5.当矩形的宽和高都为0时当矩形的宽和高都为0时,可以看到设置不同的边框时,会出现很多三角形。6、实心三角形如果想得到一个向下的等腰三角形,那么只需要(1):去掉border-bottom(2):把border-left和border-right改成透明可以理解如下:设置相应的两侧对于透明,上三角形,然后设置边框底部,删除边框顶部,下三角形,设置边框顶部,删除边框底部。对于左三角形,设置border-right,对于右三角形,设置border-left。如果想得到一个直角三角形:(1):设置两边,border-top,border-right(2):border-right设置为透明其他的可以多尝试,可以发现有规律的。

实心三角来了

.b25{宽度:0;高度:0;border-top:80pxsolid#A8C992;左边框:80px实心透明;border-right:80pxsolidtransparent;右边距:20px;底部边距:10px;}.b26{宽度:0;高度:0;border-bottom:80pxsolid#A8C992;左边框:80px实心透明;border-right:80pxsolidtransparent;右边距:20px;margin-bottom:10px;}.b27{width:0;高度:0;左边框:80pxsolid#A8C992;边框r-top:40px实心透明;border-bottom:40px实心透明;右边距:20px;margin-bottom:10px;}.b28{宽度:0;高度:0;border-right:80pxsolid#A8C992;border-top:40px实心透明;border-bottom:40px实心透明;右边距:20px;margin-bottom:10px;}.b29{height:0;宽度:0;边框颜色:#6c94c2#193eaf透明透明;border-style:solidsoliddashed虚线;边框宽度:40px40px00;右边距:20px;margin-bottom:10px;}.b30{height:0;宽度:0;border-top:40pxsolid#a4d1eb;border-right:80pxsolidtransparent;}.b31{height:0;宽度:0;border-bottom:40pxsolid#a4d1eb;border-right:80pxsolidtransparent;}.b32{height:0;宽度:0;border-top:40pxsolid#aa007f;border-left:80pxsolidtransparent;}.b33{height:0;宽度:0;border-bottom:40pxsolid#aa007f;border-left:80pxsolidtransparent;}7.空心三角形实现原理:先正常定义一个实心三角形,然后使用伪元素定义一个比实心三角形稍小的白色三角形。b34{宽度:0;高度:0;border-top:80pxsolid#A8C992;左边框:80px实心透明;border-right:80pxsolidtransparent;右边距:20px;底部边距:10px;位置:相对;}.b34::after{内容:“”;位置:绝对;顶部:-79px;左:-78px;宽度:0;高度:0;border-top:78pxsolid#fff;.EquilateralArrow一个箭头有两种实现方式:1.设置对应的宽高(宽高必须相等,否则会得到长短不一的箭头),设置border-top和border-right为得到以下内容:使用transform:rotate(-45deg)旋转以获得不同角度的箭头。**2。不设置宽高,只设置padding值。padding值越大,箭头越大,例如padding:5px。然后使用transform:rotate(-45deg)旋转得到不同角度的箭头。**9。等腰箭头原理:先正常定义一个实心三角形,然后用伪元素定义一个比实心三角形略小的白色三角形。覆盖这个大三角形的一部分,实现等腰三角箭头。10.实现提示框原理:一个普通的圆角矩形+一个空心三角形(这个空心三角形是由两个伪元素实现的三角形,其中一个伪元素背景色为白色,比彩色三角形小)11.其他一些样式,大家可以通过伪元素多尝试,会发现很多不一样的东西。12.示例源码(持续更新中)https://gitee.com/susuhhhhhh/css_demos