2

三角形が交差するボックスがあり、ボックスから同様の三角形を切り取って、2つの間に白いギャップがあるようにします。これを説明するのは少し難しいので、私はここでjsFiddleを作成しました。これは私がすでに持っているものを示しています。

これがスクリーンショットです

CSSトライアングル

HTML

<div id="alertdetails">
    <h2>UH OH</h2>
    Date: 05/11/2012 15:57:46

    <br><br>
    <a href="">View</a>
</div>
<div id="arrow-right"></div>
​

CSS

#alertdetails {
    background-color: #F8F8F8;
    border: 1px solid #CCCCCC;
    border-radius: 5px 5px 5px 5px;
    left: 25px;
    padding: 20px;
    position: absolute;
    text-shadow: 0 1px #FFFFFF;
    top: 15px;
}

#arrow-right {
    position: absolute;
    top: 45px;
    left: 15px;
    width: 0; 
    height: 0; 
    border-top: 20px solid transparent;
    border-bottom: 20px solid transparent;

    border-left: 20px solid #303030;
}
​
4

2 に答える 2

2

これは、UTF-8の「右矢印」と:before疑似クラスを使用することで、矢印のDIVを追加せずに実行できます。これにより、矢印のスタイルをもう少し制御できるようになります。

#alertdetails {
    background-color: #F8F8F8;
    border: 1px solid #CCCCCC;
    border-radius: 5px 5px 5px 5px;
    left: 25px;
    padding: 20px;
    position: relative;
    margin-top:15px;
    text-shadow: 0 1px #FFFFFF;
}

#alertdetails::before  {
    content:"\25b6";
    position:absolute; 
    top:20px;
    left:-20px;
    font-size:60px;
    color:#ffffff;

}
于 2012-11-05T16:30:30.523 に答える
1

少し大きい2番目の三角形を追加する必要があります。

HTML

<div id="alertdetails">
    <h2>UH OH</h2>
    Date: 05/11/2012 15:57:46

    <br><br>
    <a href="">View</a>
</div>
<div id="arrow-white"></div>
<div id="arrow-right"></div>

CSS

#alertdetails {
    background-color: #F8F8F8;
    border: 1px solid #CCCCCC;
    border-radius: 5px 5px 5px 5px;
    left: 25px;
    padding: 20px;
    position: absolute;
    text-shadow: 0 1px #FFFFFF;
    top: 15px;
}

#arrow-right {
    position: absolute;
    top: 45px;
    left: 15px;
    width: 0;
    height: 0;
    border-top: 20px solid transparent;
    border-bottom: 20px solid transparent;

    border-left: 20px solid #303030;
}

#arrow-white{
    position: absolute;
    top: 44px;
    left: 15px;
    width: 0;
    height: 0;
    border-top: 21px solid transparent;
    border-bottom: 21px solid transparent;

    border-left: 22px solid #ffffff;
}
于 2012-11-05T16:25:26.327 に答える