2011-07-16 5 views
4

を働いていない私は私のテーブルには、画面の80%を取るが、今、テーブル内のコンテンツの唯一の大きさにしたいです。CSSの高さの80%が

#ecom-mainarea .center 
{ 
margin-left: 10%; 
position: relative; 
width: 80%; 
height: 80%; /* when this is 500px it works fine, but % doesn't work */ 
border: 1px solid; 
border-bottom-color: teal; 
border-top-color: gray; 
border-left-color: gray; 
border-right-color: teal; 
background-color: white; 
voice-family: "\"}\""; 
voice-family: inherit; 
vertical-align: text-top; 
} 

答えて

7

htmlbodyの要素の高さが100%であることを確認する必要があります。彼らは上から下に伸びる必要があります。そうでない場合htmlbody要素は、ちょうどあなたのテーブルにもなります。

<!doctype html> 
<html> 
<head> 
    <title>Table height</title> 
    <style> 
     html, body 
     { 
      padding: 0; 
      margin: 0; 
      height: 100%; 
     } 
    </style> 
</head> 
<body> 
    <table style="background: cyan; height: 80%;"> 
     <tr> 
      <td> 
       Table has 80% of the height of the body 
      </td> 
     </tr> 
    </table> 
</body> 
</html> 
0

私が思い出したように、%はCSSの高さではサポートされていません。他の方法に頼らざるを得ない。あなたはあなたがハッキングのビットを使用することができます

+0

奇妙な:ここで

あなたは作業のサンプルを持っています。幅が効いているようです。他の方法の提案? – 0x4f3759df

+2

サポートされています。 http://www.w3.org/TR/CSS21/visudet.html#the-height-property –

+1

私は明確にする必要があります - 私はブラウザの高さでは動作しないと思っていますが、そのコンテナに対して相対的に動作するはずです。 –

1

は限り正常に動作します。それは位置決めを使用します。参照:http://jsfiddle.net/minitech/2vRrZ/

(また、あなたがこれまでに複数行の垂直方向のセンタリングが必要な場合 - それはどのように行うのです私の発明として、私の知る限り。)

1

(絶対単位で)親要素の高さを指定するよう

+0

イメージは必要ありません。私はこれを前に見たことがありますが、確かにどこにいるかわかりませhttp://jsfiddle.net/2vRrZ/4/ – thirtydot

+0

@thirtydot:私は '' inline-block''を避けたいと思っていました。とにかくIE6ではうまくいきません。 – Ryan

0

に設計提案として、あなたが本当にとしてそれを持っている場合を除き、パーセンテージ私はテーブルの固定サイズをお勧めしますので、レイアウトは解像度に関係なくすべてのコンピュータで同じに見えます。

+1

が固定されています。私は彼らがそのような論争であったことに気づいていなかった、分かち合ってくれてありがとう。 – rajh2504