css实现三角形时不加绝对定位或者宽高上下三角形变成梯形

利用css实现三角形:

    .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;
        }

都可以实现
问题:为什么不加宽高或者绝对定位上下三角形就会变成梯形(而相对定位也会变成梯形)
图片说明

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

http://zhidao.baidu.com/link?url=Fma0m412czTirjBoLVcNY-ruckGS0s7FTmNdwhBs9320-lYx8cFXXJ_2gwf7_DDI4gmJ8GyOt5U1F3D_zMRb5e470Sxf-JWKFEo-KPNVOJK