2012-03-06 6 views
1

ボーダーを失うことなくこのテーブルの上隅を丸くするにはどうすればよいですか?私は私が私の丸みを帯びた角を得るが、境界線がなくなっている隠さへのオーバーフローを設定テーブルボーダー半径オーバーフロー:非表示テーブルボーダーを隠す

no overflow: hidden

overflow: hidden

HTML

<table class="line-items"> 
    <tr class="line-item-header"> 
     <td class="item-summary"> 
      Items 
     </td> 
    </tr> 
    <tr class="line-item"> 
     <td class="item-summary"> 
      @o.Summarize() 
     </td> 
    </tr> 
    <tr class="line-item"> 
     <td class="item-summary"> 
      @o.Summarize() 
     </td> 
    </tr> 
    <tr class="line-item"> 
     <td class="item-summary"> 
      @o.Summarize() 
     </td> 
    </tr> 
    <tr class="line-item"> 
     <td class="item-summary"> 
      @o.Summarize() 
     </td> 
    </tr> 
</table>​ 

CSS

.line-items * 
{ 
    border:1px solid black; 
} 
.line-items 
{ 
    border-radius:6px 6px 0 0; 
    /*overflow:hidden;*/ 
    border:1px solid black; 
    margin:20px; 
    width:3in; 
} 
td 
{ 
    padding:5px 10px; 
} 
.line-item-header 
{ 
    background-color:black; 
    color:white; 
    font-family:arial black, arial, sans serif; 
} 
.line-item 
{ 
    background-color:white; 
} 
.line-item:nth-child(odd) 
{ 
    background-color:#eee; 
} 
body 
{ 
    background-color:#ffd; 
}​ 

http://jsfiddle.net/benstenson/3bvWS/1/

+1

WOWインチの幅を、それはあなたが毎日表示されていない何か。 – leopic

+0

実際に私は:) – Benjamin

答えて

2

overflow: hiddenが必要な理由はわかりません。これは私のために働いた。 http://jsfiddle.net/elclanrs/3bvWS/13/

td, tr { display: block; } 
tr { 
    border:1px solid black; 
    border-top: 0; 
} 
.line-item-header { 
    border-radius: 6px 6px 0 0; 
    ... 
} 
+0

も私のために働く。しかし、なぜ? – Benjamin

+0

これは奇妙です - ありがとう! – Benjamin

+0

これは複数の列で動作しないようです – Benjamin

0

あなたはすっごく近くにあります。あなたの問題は、cellpaddingcellspacingがブラウザによってレンダリングされていることです。あなたのHTMLに宣言する必要があるためのcss-overrideはありません。

<table class="line-items" cellpadding="0" cellspacing="0"> 
+0

'.line-item-header .item-summary {border-radius:6px 6px 0 0;に別のCSSスタイルを追加することもできます。 } 'これは' overflow:hidden; 'の必要性を無力化しますが、境界線を使用するときには両方とも半径の結果が最良になります –

+0

html属性は機能しないようですか? http://jsfiddle.net/benstenson/4xza6/1/ – Benjamin

0

私はなぜ知らないが、いくつかのケースでは、border-radiusは動作しません、あなたがoverflow-hiddenを追加する必要があります。そして、それは本当です、国境も隠される。

しかし、ボックスシャドウの問題を解決する、ちょうどあなたのテーブルのCSSに次の行を追加します

box-shadow:0 0 0 2px black; 
関連する問題