CSS三角形,Opera显示错误:

时间:2013-06-02 03:53:29

标签: html css opera

元素的CSS,fiddle

#scroll_jump 
{
        margin-top: 310px;
        position: fixed;
        margin-left: 20px;
        display: none;
}

#jump_link 
{
        display: block;
        width: 70px;
        height: 20px;
        background: #BBDAF7;
        color:white;
        font-family: Arial,Liberation Sans,DejaVu Sans,sans-serif;
        font-size: 16px;
        font-weight: bold;
        text-decoration: none;
        text-align: center;
        padding-left: -1px;
}

#jump_link:after 
{
        content: '';
        position: absolute;
        width: 0;
        height: 0;
        border: 35px solid;
        border-bottom-color:#BBDAF7;
        border-top-color:white;
        border-left-color:#ffffff ;
        border-right-color: #ffffff;

        top: 0;
        margin-top: -70px;
        left: 49%;
        margin-left: -35px; /* adjust for border width */
}

正确显示:Chrome,Firefox,IE。

它在Opera中的表现:

enter image description here

P.S。到目前为止,Opera比IE更麻烦了。

2 个答案:

答案 0 :(得分:1)

而不是:

#jump_link:after{
    left: 49%;
    margin-left: -35px;
}

你需要的就是这个:

#jump_link:after{
    left: 0;
}

然后它在Grand ol'Opry(以及其他浏览器)中运行得很好。 : - )

答案 1 :(得分:1)

这是关于你的:在伪元素之后。对于'左',你使用的是百分比。大多数浏览器认为这意味着主要元素的百分比,Opera将占用父元素的百分比。如果可以,则使用像素作为左侧位置(例如35px)。