5

デモ

html...

<div id="main">
    <table>
        <tr>
            <td><img src="" width="200" height="100" /></td>
            <td>
                <img src="" width="50" height="30" />
                <img src="" width="50" height="30" />
                <img src="" width="50" height="30" />
            </td>
            <td><img src="" width="100" height="100" /></td>
        </tr>
        <tr>
            <td style="color: blue; background-color: yellow;">some text here</td>
            <td colspan=2 style="color: white; background-color: blue;">next goes here</td>
        </tr>
    </table>
</div>

CSS...

img{
    background-color: red;
    display: block;
    border: 2px solid white;
}

私が試したこと:

#main table{
    width: 200px;
    display: table;
    table-layout: fixed;
}

デモ

私が欲しいものはここにあります:

オリジナルサイズ:

ここに画像の説明を入力

メインのサイズを変更すると:

ここに画像の説明を入力

4

8 に答える 8

2

たとえば、ズーム プロパティを使用します。

#main table{
    width: 300px;
    display: table;
    table-layout: fixed;
    zoom: 0.4;    
 }
于 2013-09-18T06:29:37.500 に答える
1

あなたのコードを確認しました。

しかし、これを行おうとしている方法は不可能です。なぜなら、親テーブルは、行内すべての<td>の累積幅を取得し、数が最も多いから<td>です。

したがって、テーブルの幅は最初の<tr>.

目標を達成するには、次の手順に従うことができます-

  1. それぞれ<tr>に 1 つだけが含まれます<td>
  2. これには<td> 別のテーブル が含まれます。つまり、指定されたテーブルの最初の<td>には、現在の指定されたテーブルの最初の行を含むテーブルのコードを記述する必要があります<tr>
  3. 指定されたテーブル<td>2 番目<tr>のテーブルでは、現在のテーブルに 2 番目の 2 がある別のテーブルに対応する必要があり<td><tr>ます。

新しいデモまたは次のHTMLコードを確認してください。

<div id="main">
<table>
    <tr>
        <td>
            <table width=100% style="overflow-x:hidden">
                <tr>
                    <td>
                        <img src="" width="200" height="100" />
                    </td>
                    <td>
                        <img src="" width="50" height="30" />
                        <img src="" width="50" height="30" />
                        <img src="" width="50" height="30" />
                    </td>
                    <td>
                        <img src="" width="100" height="100" />
                    </td>
                </tr>
            </table>
    </tr>
    <tr>
        <td>
            <table width=100%>
                <tr>
                    <td style="color: blue; background-color: yellow;">some text here</td>
                    <td style="color: white; background-color: blue;">next goes here</td>
                </tr>
            </table>
    </tr>
</table>

CSS コードの変更は不要です

出力は次のようになります-

出力

于 2013-09-18T06:53:11.963 に答える
1

既に述べたように、%s で遊んでください。ここに例を示します。

<div id="main">
    <table>
        <tr>
            <td><img src="" width="100%" height="100%" /></td>
            <td>
                <img src="" width="100%" height="30%" />
                <img src="" width="100%" height="30%" />
                <img src="" width="100%" height="30%" />
            </td>
            <td><img src="" width="100" height="100" /></td>
        </tr>
    </table>
</div>

http://jsfiddle.net/pUnsA/2/

于 2013-09-06T13:11:03.383 に答える
0
#main table{
 display: table;
table-layout: fixed;

}

幅を削除します:200px; 画像サイズが TD よりも大きいため、画面からはみ出します

于 2013-09-05T07:17:21.307 に答える
0

更新されたフィドル " http://jsfiddle.net/XUeAV/ "を見つけてください

<table width="100%">
        <tbody><tr>
            <td width="55%" height=""><img width="" height="100" style="" src=""></td>

#main の幅の変更に対応したい場合は、テーブルの幅を % で定義する必要があります

于 2013-10-01T10:28:59.103 に答える
0
  1. レイアウトにテーブルを使用しないでください。代わりにフローティング div を使用してください。
  2. Jquery を使用して、ブラウザの高さとブラウザの幅を計算します。(タグに「Jquery CQDN」スクリプト参照を含める必要があります
  3. コンテナーの高さと幅を、画面の高さと幅の合計のパーセンテージ、またはコンテナー div のパーセンテージのいずれかで設定します (その場合はより複雑になりますが、複雑なレイアウトにはより汎用性があります)。
  4. 重要!jquery でサイズ変更する要素の CSS で高さと幅を設定しないでください。これは物事を混乱させるだけです
  5. ただし、Min-Width 値と Min-Height 値を使用して、設定したい制限/制約を超えてコンテナが縮小するのを防ぐことができます

このようにすると、さまざまなブラウザー用に html を微調整する必要がなくなります。プロの結果のために私のために働きます。

Javascript: document.ready ブロックのビットは、ユーザーがブラウザー ウィンドウのサイズを変更すると、ページ全体のサイズを自動的に変更します。

これが実用的な解決策です!.. (コピーして貼り付けて試してみてください)

<html>
<head>
    <script src="http://codeorigin.jquery.com/jquery-1.10.2.min.js" type="text/javascript"></script>
    <style>
        html{float:left; padding:0px; margin:0px;  background-color:red;}/* /w/h Handled by Javascript*/
        body{float:left; padding:0px; margin:0px;  background-color:orange; font-size:11px; font-family:Verdana; }/* /w/h Handled by Javascript*/
        div.ContentContainer{float:left; margin:0px; padding:0px; background-color:yellow; } /* /w/h Handled by Javascript*/
        div.SiteInfoContainer{float:left; padding:0px; margin:0px; background-color:green;  color:White; }/* /w/h Handled by Javascript*/
        div.SiteDetailContainer{float:left; padding:0px; margin:0px; background-color:blue; color:White; }/* /w/h Handled by Javascript*/
    </style>
</head>
<body>
      <div class="ContentContainer">
        <div class="SiteInfoContainer">25% Wide, 100% high</div>
        <div class="SiteDetailContainer">75% wide, 100% high</div>
      </div>

<script type="text/javascript">
        function MasterContentFullHeight() {

            var TotalWinHeight = $(window).height();
            var TotalWinWidth = $(window).width();

            $("html").css('height', TotalWinHeight);
            $("html").css('width', TotalWinWidth);

            $("body").css('height', TotalWinHeight);
            $("body").css('width', TotalWinWidth);

            $(".ContentContainer").css('height', TotalWinHeight);
            $(".ContentContainer").css('width', TotalWinWidth);

            $(".SiteInfoContainer").css('width', ((TotalWinWidth/ 100) * 25));
            $(".SiteInfoContainer").css('height', TotalWinHeight);

            $(".SiteDetailContainer").css('width', ((TotalWinWidth / 100) * 75));
            $(".SiteDetailContainer").css('height', TotalWinHeight);

        }

           $(document).ready(function() {
                MasterContentFullHeight();
                $(window).bind('resize', MasterContentFullHeight);
           });
    </script>


</body>
</html>
于 2013-09-06T14:08:08.357 に答える