2016-07-13 67 views
4

我有一个问题,我需要使表的无限伸展尺寸,但我需要为它们定义最小宽度,所以我可以看到它们。当它们缩小到原始大小的50%时,它们将停止使用浏览器窗口缩小并滚动它们以查看。我希望你的想法,这是我的html代码:限制最小尺寸到html表

.vnutro { 
 
    margin-left: 100px; 
 
    margin-top: 20px; 
 
    max-width: 90%; 
 
    min-width: 50%; 
 
} 
 
th { 
 
    border: 1px solid black; 
 
    max-width: 100px; 
 
    min-width: 60px; 
 
} 
 
.th1 { 
 
    width: 25%; 
 
} 
 
.th2 { 
 
    width: 65%; 
 
} 
 
.th3 { 
 
    width: 2%; 
 
} 
 
.th4 { 
 
    width: 2%; 
 
} 
 
td { 
 
    border: 1px solid black; 
 
    text-align: left; 
 
}
<div class="vnutro" style="overflow-x:auto;"> 
 

 
    <a name="1072016"> 
 
    <!--tabulka 1--> 
 
    <table> 
 
     <tr> 
 
     <th class="th1">nadpis1</th> 
 
     <th class="th2">nadpis 2</th> 
 
     <th class="th3">nadpis 3</th> 
 
     <th class="th4">nadpis 4</th> 
 
     </tr> 
 
     <tr> 
 
     <td>text1</td> 
 
     <td>text2</td> 
 
     <td>text3</td> 
 
     <td> 
 
      <form action=""> 
 
      <input type="checkbox" name="checkbox" value="box"> 
 
     </td> 
 
     </tr> 
 
    </table> 
 

 
    <a name="1172016"> 
 
     <!--tabulka 2--> 
 
     </br> 
 

 
     <a name="1272016"> 
 
     <!--tabulka 3--> 
 

 
</div>

+0

你有很多的HTML语法错误以及 –

+0

反正列将停止在列的宽度适合其内容 –

回答

2

该样品拉伸到全宽度,但具有400像素的最小宽度,并且列可以具有相同或不同的宽度。

Fiddle demo

table { 
 
    min-width: 400px; 
 
    width: 100%; 
 
} 
 
th { 
 
    border: 1px solid black; 
 
} 
 
th { 
 
    width: 25%; 
 
} 
 
td { 
 
    border: 1px solid black; 
 
    text-align: left; 
 
    vertical-align: top; 
 
} 
 
/* table 2 */ 
 
[name="1172016"] ~ table th { 
 
    width: 20%; 
 
} 
 
[name="1172016"] ~ table th:nth-child(1) { 
 
    width: 40%; 
 
}
<div class="vnutro" style="overflow-x:auto;"> 
 

 
    <a name="1072016"></a> 
 
    <!--tabulka 1--> 
 
    Table 1 
 
    <table> 
 
    <tr> 
 
     <th>nadpis1</th> 
 
     <th>nadpis 2</th> 
 
     <th>nadpis 3</th> 
 
     <th>nadpis 4</th> 
 
    </tr> 
 
    <tr> 
 
     <td>text1</td> 
 
     <td>text2</td> 
 
     <td>text3</td> 
 
     <td> 
 
     <form action=""> 
 
      <input type="checkbox" name="checkbox" value="box"> 
 
     </form> 
 
     </td> 
 
    </tr> 
 
    </table> 
 

 
    <a name="1172016"></a> 
 
    <!--tabulka 1--> 
 
    <br> 
 
    Table 2 
 
    <table> 
 
    <tr> 
 
     <th>nadpis1</th> 
 
     <th>nadpis 2</th> 
 
     <th>nadpis 3</th> 
 
     <th>nadpis 4</th> 
 
    </tr> 
 
    <tr> 
 
     <td>text1</td> 
 
     <td>text2</td> 
 
     <td>text3</td> 
 
     <td> 
 
     <form action=""> 
 
      <input type="checkbox" name="checkbox" value="box"> 
 
     </form> 
 
     </td> 
 
    </tr> 
 
    </table> 
 

 
</div>

+0

正是我需要的,谢谢。 – Fred007

+0

@Vucko是的,它会...现在更新...更新 – LGSon

0

如果我正确理解你的问题,然后尝试添加以下你的CSS,看看是否给你想要的结果。

table { 
    width: 100%; 
    table-layout: fixed; 
} 

更多信息here

+0

不,它不工作萎缩,我需要从停止用浏览器窗口缩小。我需要使用浏览器窗口进行响应,但随后会达到50%,表格标题和表格数据将停止与浏览器一起缩小,并且它们将保持这种大小,直到我再次使浏览器窗口变大。 – Fred007

+0

对不起,我的英语不好,非常感谢:) – Fred007

+0

而且我需要保持每张表的宽度相同。他们只会缩小浏览器窗口,直到他们打开可以说他们原始大小的50%,然后他们将停止缩小。谢谢你的帮助! – Fred007

1

首先,在你提到的链接。你的代码有太多的错误。所以我解决它。

注意:根据您的需要调整宽度。

下面是更新后的代码:

<div class="vnutro" style="overflow-x:auto;"> 
    <a name="1072016"> 
    <!--tabulka 1--> 
    <table border="1" cellspacing="0" cellpadding="0" border="0" width="500"> 
     <tr> 
      <th class="th1"> nadpis1 </th> 
      <th class="th2"> nadpis 2 </th> 
      <th class ="th3"> nadpis 3 </th> 
      <th class="th4"> nadpis 4 </th> 
     </tr> 
      <td width="100"> text1 </td> 
      <td width="100"> text2 </td> 
      <td width="100"> text3 </td> 
      <td width="100"> 
       <form action=""> 
        <input type="checkbox" name="checkbox" value="box"> 
       </form> 
      </td> 
    </table> 
    </a> 
    <a name="1172016"></a> 
    <!--tabulka 2--> 
    <br/> 
    <a name="1272016"></a> 
    <!--tabulka 3--> 
</div> 

这里是fiddle活生生的例子。

+0

非常感谢!它几乎完美,我只需要让浏览器窗口更大时扩展自己,当我缩小尺寸时,我需要滚动浏览所有内容。现在,当我设置例如1000宽度,它可以在较小的窗口中,但在全屏幕可怕。感谢您的帮助! – Fred007