Pseudoclasses:before和:after在某些浏览器上不坚持元素

时间:2017-04-05 16:50:14

标签: html css

我遇到了伪类的问题:之前和之后,我想通过使用position:absolute和top / bottom等将元素粘贴到父类的底部。我试过这个:

#intro{
    background: url('../img/bg.jpg');
    background-size: cover;
    background-repeat: no-repeat;
    height: 100vh;
    width: 100vw;
}
#intro:before{
    content:"";
    display: inline-block;
    border-width: 0px 350px 200px 0px;
    border-style: solid;
    border-color: transparent rgb(255, 255, 255) transparent transparent;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 3;
}
#intro:after{
    content: "";
    display: inline-block;
    border-width: 0px 350px 200px 0px;
    border-style: solid;
    border-color: transparent transparent rgb(255, 255, 255) transparent;
    position: absolute;
    bottom:0;
    left: 0;
}

但正如你在下面的照片中看到的那样,它会稍微移动一下,在标准的Android浏览器上,它的运行方式应该如何。 image 有没有解决办法解决这个问题?

1 个答案:

答案 0 :(得分:0)

无论何时想要相对于父元素定位绝对元素,都需要将父元素的position属性设置为relative或absolute。因此,现在您的void transpose( int r, int c, double arr[r][c], double trans[c][r] ) { ... } ::before伪元素相对于正文定位,而不是::after元素。同样尝试边距/填充重置永远不会在诊断这样的问题时受到伤害:

#intro
祝你好运!