为了账号安全,请及时绑定邮箱和手机立即绑定

css的设置border的显示问题?

css的设置border的显示问题?

明月笑刀无情 2019-04-27 18:15:46
<div class="left"></div>.left {    position: absolute;}.left:before, .left:after {    position: absolute;    content: '';    border-top: 100px transparent dotted;    border-left: 100px transparent dotted;    border-bottom: 100px transparent dotted;}.left:before{    border-right: 100px #a00 dotted;}.left:after{    left: 10px;    border-right: 100px #fff dotted;}显示出来是:这是为何呢?若把上面代码的后两类改为:.left:before{    border-right: 100px #a00 solid;}.left:after{    left: 10px;    border-right: 100px #fff solid;}显示出来是:为什么会这样呢?
查看完整描述

1 回答

?
POPMUISE

TA贡献1765条经验 获得超5个赞

其实这个跟伪元素实现三角形的类似,before先创建一个三角形

https://img1.sycdn.imooc.com//5ce0cc3200019f4f02190219.jpg

接着after也创建一个和before一样的三角形,然后left移动一定的偏移量,并设置为白色(这里我设置为蓝色比较明显)覆盖before就形成

https://img1.sycdn.imooc.com//5ce0cc350001ae9201960230.jpg

紧接着把border-style设置为dotted
就形成您所说的效果

完全复制你的代码得到的是这样的效果:

https://img1.sycdn.imooc.com//5ce0cc3a0001ee7502290196.jpg


查看完整回答
反对 回复 2019-05-19
  • 1 回答
  • 0 关注
  • 726 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信