元素的包裹性之css绘制三角形问题

由css绘制三角形说起

我们知道利用css绘制三角形时利用宽高为0,border transparent等属性可以实现,示例代码如下:

.div_parent{
            width: 0;
            height: 0;
            border-color: #e8aeb8 #333 #ccc #666;
            border-style: solid;
            border-width: 20px;
        }

或者:

 .div_parent{
            position: absolute;
            border-color: #e8aeb8 #333 #ccc #666;
            border-style: solid;
            border-width: 20px;
        }

效果图如下:
这里写图片描述

当不设置元素宽高为0 或者不设置绝对定位而是用相对定位时,就会出现下面这种效果:

这里写图片描述

元素高度为0,但是宽度撑满了容器
查看元素盒模型就会发现它的高度为0,宽度是自适应屏幕大小的。

这里写图片描述

究其本质原因:

是由于绝对定位会使元素具有包裹性,包裹性换种说法就是让元素inline-block化,例如一个div标签默认宽度是100%显示的,但是一旦被absolute属性缠上,则100%默认宽度就会变成自适应内部元素的宽度。

推荐张鑫旭讲的:CSS 相对|绝对(relative/absolute)定位系列

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值