4

「三角形の辺」を持つ長方形のヘッダーを持つ css を使用してコンテナーを作成しようとしています。

例:

クロムの例

またはここにコード (css):

.bubble {
    clear: both;
    margin: 0px auto;
    width: 350px;
    background: #fff;
    -moz-border-radius: 10px;
  -khtml-border-radius: 10px;
  -webkit-border-radius: 10px;
    -moz-box-shadow: 0px 0px 8px rgba(0,0,0,0.3);
  -khtml-box-shadow: 0px 0px 8px rgba(0,0,0,0.3);
  -webkit-box-shadow: 0px 0px 8px rgba(0,0,0,0.3);  
    position: relative; 
    z-index: 90; /* the stack order: displayed under ribbon rectangle (100) */
}

div#container {
    margin: 50px auto 0px auto; /* centered */
    padding-top:100px;
    width: 400px;
}

.triangle {
   height: 35px;
   top: -20px;
   width: 315px;
   position: relative;
   background: #D12738;
   background: -moz-linear-gradient(top, rgba(209, 39, 56, 1) 0%, rgba(122, 23, 38, 1)    100%);
   background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(209, 39, 56, 1)), color-stop(100%,rgba(122, 23, 38, 1)));
   filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d12738',  endColorstr='#7a1726',GradientType=0 ), filter:  progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color='#000000');
}

.triangle::after {
   -moz-transform: rotate(45deg);
   -ms-transform: rotate(45deg);
   -webkit-transform: rotate(35deg);
   -o-transform: rotate(45deg);
   background: none repeat scroll 0 0 white;
   content: "";
   height: 44px;
   left: 302px;
   position: absolute;
   top: 2px;
   width: 24px;
}

html:

<div id="container">
    <div class="bubble">
        <div class="triangle">test baa</div>
        <p>sadsadsadsad dsdsa dsdsa ds dsadsd</p>
        <p>sadsadsadsad dsdsa dsdsa ds dsadsd</p>
        <p>sadsadsadsad dsdsa dsdsa ds dsadsd</p>
        <p>sadsadsadsad dsdsa dsdsa ds dsadsd</p>

    </div>
</div>

ただし、背景が白いため、右端の境界線が消えます。これを防ぐ方法はありますか?

どんな助けでも大歓迎です!

4

1 に答える 1

2

その方法で三角形を作成することによって、あなたがやろうとしていることを達成することはできません.

達成したいことを達成する方法は、境界線を使用して三角形を作成することです。これを達成する方法へのリンクとフィドルは次のとおりです。

http://css-tricks.com/snippets/css/css-triangle/ http://jsfiddle.net/BNVHU/7/

残念ながら、現時点ではボーダー グラデーションは Webkit でのみ機能し、三角形を作成するボーダー メソッドには対応していないようです。すべてのブラウザーでグラデーションをそのまま使用してこれを行う方法があるとは思えません。イメージが必要かもしれません。

于 2013-01-05T01:40:21.047 に答える