2016-09-07 4 views
0

固定幅のセルで表を作成する方法を探しています。ウィンドウが狭すぎると、水平スクロールバーが表示されます。固定幅の列を持つ表 - 表の幅を指定しない

私の例では、400pxの列が2つあるため、表の幅は800pxにする必要があります。画面の幅が800ピクセル未満の場合、水平スクロールバーが表示されます。それは私が探している正確な振る舞いです: http://jsbin.com/xeniwovole/edit?html,css,output

そして今質問する:テーブルの幅を指定せずにできますか?実生活では、テーブルには列の動的な量があり、列の幅は応答します。したがって、表幅を列幅の合計として計算することは妥当ではありません。

+0

が...私は推測percentage's 'で幅を指定することがあなたのために働くかどうかを確認する細胞のない内容に依存して... – kukkuz

+0

申し訳ありません!水平スクロールバーはもちろんオリジナルの投稿を修正します。 – user1702401

+0

@kukkuz - パーセント – user1702401

答えて

3

テーブルセルにwidthではなくmin-widthmax-widthを使用してください。これにより、テーブルが<td>のサイズを100%幅でテーブルのサイズに合わせないようにします。これはデフォルトの動作です。

#wrap { 
 
    overflow-x: auto; 
 
} 
 

 
table { 
 
    table-layout: fixed; 
 
    width: auto; 
 
} 
 

 
td { 
 
    background-color: yellow; 
 
    min-width: 400px; 
 
    max-width: 400px; 
 
}
<!DOCTYPE html> 
 
<html> 
 
<head> 
 
    <meta charset="utf-8"> 
 
    <meta name="viewport" content="width=device-width"> 
 
    <title>JS Bin</title> 
 
</head> 
 
<body> 
 
<div id="wrap"> 
 
    <table> 
 
    <tr> 
 
     <td>First</td> 
 
     <td>Second</td> 
 
    </tr> 
 
    </table> 
 
</div> 
 
</body> 
 
</html>

+0

ありがとう!それは正しい解決策です - 私はその状況での幅と幅の挙動を認識していませんでした。 – user1702401

0

テーブルレイアウトを使用してみてください:固定; 水平レイアウトは、テーブルの幅と列の幅、

table { 
    table-layout: fixed; 
    width: 100%; /* width property required */ 
} 
関連する問題