2013-05-29 20 views
9

私は、コンテンツ部分の上に座って角度の付いたタブを作成しようとすると、この偉大な例に出くわしています:CSSで枠線付きのタブを作成する方法は?

HTML:

<div class="tab"> 
    <div class="arrow"></div> 
</div> 

CSS:

body 
{ 
    background-color: #666;  
} 
.tab 
{ 
    height: 50px; 
    width: 150px; 
    border-radius: 10px 10px 0px 0px; 
    background-color: #FFF; 
    position: relative; 
} 

.arrow 
{ 
    border-color: transparent transparent #FFF #FFF; 
    border-style: solid; 
    border-width: 23px 23px 23px 23px; 
    height:0; 
    width:0; 
    position:absolute; 
    bottom:0px; 
    right:-43px; 
} 

http://jsfiddle.net/P3P3Z/2/

しかし、この図形に2pxの異なる境界線の色を設定したいのですが、残念ながらこの方法は境界線tを使用しているので動作しませんo形状の右辺を作成する。

どのように私はそれをモドできますか?

+0

だから、白い部分の周囲に境界線をご希望ですか? –

答えて

15

あなたはこのアプローチを試すことができます:jsFiddle

代わりに傾斜効果を作成するために、境界線を使用しての、私はそれを作成するために:after擬似要素を使用しています。これで私はその周りに罫線を設定することができます。それから私は、私が見たくない罫線を隠すために擬似要素:beforeを使用しています。 CSSの繰り返しの2pxは、境界幅の値から導出されます。

CSS

.tab:before { 
    height: 50px; 
    width: 10px; 
    display: block; 
    content:" "; 
    background-color: #FFF; 
    position: absolute; 
    right: -2px; 
    top: -2px; 
    border-top: 2px solid blue; 
    border-bottom: 2px solid blue; 
} 
.tab { 
    height: 50px; 
    width: 150px; 
    border-radius: 10px 10px 0px 0px; 
    background-color: #FFF; 
    position: relative; 
    border: 2px solid blue; 
} 
.tab:after { 
    display: block; 
    content:" "; 
    width: 100px; 
    height: 50px; 
    top: -2px; 
    background-color: #FFF; 
    position: absolute; 
    right: -29px; 
    transform:skewX(45deg); 
    -ms-transform:skewX(45deg); 
    -webkit-transform:skewX(45deg); 
    border: 2px solid blue; 
    z-index: -1; 
} 
+0

+1。これは私の技術と似ています:http://stackoverflow.com/a/13273672/1654265 2つの三角形が重なっていて前後に少しずつずらしています。 –

+0

ありがとう、私は修正しましたいくつかの高度なスタイリングのあなたのアプローチは、ここで:http://jsfiddle.net/robmc/ZvEyx/4/ 私はタブ上のスタイルの右上の曲線の角を達成しようとしたいです。私はあなたがタブが必要だとは思わない:これの前に、しかし、私は親の青い曲線を取り除く方法を見ることができません。何か案は? – alias51

+0

タブの右上隅にある 'border-radius'をオフにして、':after'疑似要素をもう少し右に移動してください(負の右マージンを増やしてください):http://jsfiddle.net/ZvEyx/6 / –

関連する問題