我正在编写一个动态创建HTML表的PHP脚本。
有两件事缺少,无法找到信息。
我想减少rowspan单元的"填充",水平太大。您可以使用什么来修改单元内部和末端的字符串之间的间距?
我也想从3行开始到最后一排,然后从第3列开始Colspan到最后一个。可以做到吗?
html源代码,如果您想查看表的样子:
table,
th,
td {
border: 1px solid black;
border-collapse: collapse;
}
<table style="width:50%">
<tr>
<th colspan="17">Weight, in Kg</th>
</tr>
<tr>
<th rowspan="11">Height, in cm</th>
</tr>
<tr>
<th></th>
<th>40</th>
<th>45</th>
<th>50</th>
<th>55</th>
<th>60</th>
<th>65</th>
<th>70</th>
<th>75</th>
<th>80</th>
<th>85</th>
<th>90</th>
<th>95</th>
<th>100</th>
<th>105</th>
<th>110</th>
</tr>
<tr>
<th>160</th>
<td>15</td>
<td>17</td>
<td>19</td>
<td>21</td>
<td>23</td>
<td>25</td>
<td>27</td>
<td>29</td>
<td>31</td>
<td>33</td>
<td>35</td>
<td>37</td>
<td>39</td>
<td>41</td>
<td>42</td>
</tr>
<tr>
<th>165</th>
<td>14</td>
<td>16</td>
<td>18</td>
<td>20</td>
<td>22</td>
<td>23</td>
<td>25</td>
<td>27</td>
<td>29</td>
<td>31</td>
<td>33</td>
<td>34</td>
<td>36</td>
<td>38</td>
<td>40</td>
</tr>
<tr>
<th>170</th>
<td>13</td>
<td>15</td>
<td>17</td>
<td>19</td>
<td>20</td>
<td>22</td>
<td>24</td>
<td>25</td>
<td>27</td>
<td>29</td>
<td>31</td>
<td>32</td>
<td>34</td>
<td>36</td>
<td>38</td>
</tr>
<tr>
<th>175</th>
<td>13</td>
<td>14</td>
<td>16</td>
<td>17</td>
<td>19</td>
<td>21</td>
<td>22</td>
<td>24</td>
<td>26</td>
<td>27</td>
<td>29</td>
<td>31</td>
<td>32</td>
<td>34</td>
<td>35</td>
</tr>
<tr>
<th>180</th>
<td>12</td>
<td>13</td>
<td>15</td>
<td>16</td>
<td>18</td>
<td>20</td>
<td>21</td>
<td>23</td>
<td>24</td>
<td>26</td>
<td>27</td>
<td>29</td>
<td>30</td>
<td>32</td>
<td>33</td>
</tr>
<tr>
<th>185</th>
<td>11</td>
<td>13</td>
<td>14</td>
<td>16</td>
<td>17</td>
<td>18</td>
<td>20</td>
<td>21</td>
<td>23</td>
<td>24</td>
<td>26</td>
<td>27</td>
<td>29</td>
<td>30</td>
<td>32</td>
</tr>
<tr>
<th>190</th>
<td>11</td>
<td>12</td>
<td>13</td>
<td>15</td>
<td>16</td>
<td>18</td>
<td>19</td>
<td>20</td>
<td>22</td>
<td>23</td>
<td>24</td>
<td>26</td>
<td>27</td>
<td>29</td>
<td>30</td>
</tr>
<tr>
<th>195</th>
<td>10</td>
<td>11</td>
<td>13</td>
<td>14</td>
<td>15</td>
<td>17</td>
<td>18</td>
<td>19</td>
<td>21</td>
<td>22</td>
<td>23</td>
<td>24</td>
<td>26</td>
<td>27</td>
<td>28</td>
</tr>
<tr>
<th>200</th>
<td>10</td>
<td>11</td>
<td>12</td>
<td>13</td>
<td>15</td>
<td>16</td>
<td>17</td>
<td>18</td>
<td>20</td>
<td>21</td>
<td>22</td>
<td>23</td>
<td>25</td>
<td>26</td>
<td>27</td>
</tr>
</table>
创建一个2x2 "填充" 单元格。然后在后来启动列标签单元格一个<tr>
。基本上,您可以水平运行两个标头行,因此在第三个<tr>
中启动垂直标头行。
table,
th,
td {
border: 1px solid black;
border-collapse: collapse;
}
<table style="width:50%">
<tr>
<th colspan="2" rowspan="2"></th>
<th colspan="17">Weight, in Kg</th>
</tr>
<tr>
<th>40</th>
<th>45</th>
<th>50</th>
<th>55</th>
<th>60</th>
<th>65</th>
<th>70</th>
<th>75</th>
<th>80</th>
<th>85</th>
<th>90</th>
<th>95</th>
<th>100</th>
<th>105</th>
<th>110</th>
</tr>
<tr>
<th rowspan="11">Height, in cm</th>
<th>160</th>
<td>15</td>
<td>17</td>
<td>19</td>
<td>21</td>
<td>23</td>
<td>25</td>
<td>27</td>
<td>29</td>
<td>31</td>
<td>33</td>
<td>35</td>
<td>37</td>
<td>39</td>
<td>41</td>
<td>42</td>
</tr>
<tr>
<th>165</th>
<td>14</td>
<td>16</td>
<td>18</td>
<td>20</td>
<td>22</td>
<td>23</td>
<td>25</td>
<td>27</td>
<td>29</td>
<td>31</td>
<td>33</td>
<td>34</td>
<td>36</td>
<td>38</td>
<td>40</td>
</tr>
<tr>
<th>170</th>
<td>13</td>
<td>15</td>
<td>17</td>
<td>19</td>
<td>20</td>
<td>22</td>
<td>24</td>
<td>25</td>
<td>27</td>
<td>29</td>
<td>31</td>
<td>32</td>
<td>34</td>
<td>36</td>
<td>38</td>
</tr>
<tr>
<th>175</th>
<td>13</td>
<td>14</td>
<td>16</td>
<td>17</td>
<td>19</td>
<td>21</td>
<td>22</td>
<td>24</td>
<td>26</td>
<td>27</td>
<td>29</td>
<td>31</td>
<td>32</td>
<td>34</td>
<td>35</td>
</tr>
<tr>
<th>180</th>
<td>12</td>
<td>13</td>
<td>15</td>
<td>16</td>
<td>18</td>
<td>20</td>
<td>21</td>
<td>23</td>
<td>24</td>
<td>26</td>
<td>27</td>
<td>29</td>
<td>30</td>
<td>32</td>
<td>33</td>
</tr>
<tr>
<th>185</th>
<td>11</td>
<td>13</td>
<td>14</td>
<td>16</td>
<td>17</td>
<td>18</td>
<td>20</td>
<td>21</td>
<td>23</td>
<td>24</td>
<td>26</td>
<td>27</td>
<td>29</td>
<td>30</td>
<td>32</td>
</tr>
<tr>
<th>190</th>
<td>11</td>
<td>12</td>
<td>13</td>
<td>15</td>
<td>16</td>
<td>18</td>
<td>19</td>
<td>20</td>
<td>22</td>
<td>23</td>
<td>24</td>
<td>26</td>
<td>27</td>
<td>29</td>
<td>30</td>
</tr>
<tr>
<th>195</th>
<td>10</td>
<td>11</td>
<td>13</td>
<td>14</td>
<td>15</td>
<td>17</td>
<td>18</td>
<td>19</td>
<td>21</td>
<td>22</td>
<td>23</td>
<td>24</td>
<td>26</td>
<td>27</td>
<td>28</td>
</tr>
<tr>
<th>200</th>
<td>10</td>
<td>11</td>
<td>12</td>
<td>13</td>
<td>15</td>
<td>16</td>
<td>17</td>
<td>18</td>
<td>20</td>
<td>21</td>
<td>22</td>
<td>23</td>
<td>25</td>
<td>26</td>
<td>27</td>
</tr>
</table>
当您说"填充" 时,我将其理解为 Wight两侧的空白,以kg 在单元的边界中。如果是这样:
- 增加字体尺寸,看起来可能很难。
- 增加字母间距,
letter-spacing: 0.25em;
,看起来很丑。
如果您是在谈论> 100 中的数字之后的空白'd建议让所有列都具有相同的宽度,然后将所有数字居中以甚至所有数字。
请注意,使用此方法的三位数的空间比双位数少。
table,
th,
td {
border: 1px solid black;
border-collapse: collapse;
text-align: center;
}
th,
td {
min-width: 1.85rem;
}
<table style="width:50%">
<tr>
<th colspan="2" rowspan="2"></th>
<th colspan="17">Weight, in Kg</th>
</tr>
<tr>
<th>40</th>
<th>45</th>
<th>50</th>
<th>55</th>
<th>60</th>
<th>65</th>
<th>70</th>
<th>75</th>
<th>80</th>
<th>85</th>
<th>90</th>
<th>95</th>
<th>100</th>
<th>105</th>
<th>110</th>
</tr>
<tr>
<th rowspan="11">Height, in cm</th>
<th>160</th>
<td>15</td>
<td>17</td>
<td>19</td>
<td>21</td>
<td>23</td>
<td>25</td>
<td>27</td>
<td>29</td>
<td>31</td>
<td>33</td>
<td>35</td>
<td>37</td>
<td>39</td>
<td>41</td>
<td>42</td>
</tr>
<tr>
<th>165</th>
<td>14</td>
<td>16</td>
<td>18</td>
<td>20</td>
<td>22</td>
<td>23</td>
<td>25</td>
<td>27</td>
<td>29</td>
<td>31</td>
<td>33</td>
<td>34</td>
<td>36</td>
<td>38</td>
<td>40</td>
</tr>
<tr>
<th>170</th>
<td>13</td>
<td>15</td>
<td>17</td>
<td>19</td>
<td>20</td>
<td>22</td>
<td>24</td>
<td>25</td>
<td>27</td>
<td>29</td>
<td>31</td>
<td>32</td>
<td>34</td>
<td>36</td>
<td>38</td>
</tr>
<tr>
<th>175</th>
<td>13</td>
<td>14</td>
<td>16</td>
<td>17</td>
<td>19</td>
<td>21</td>
<td>22</td>
<td>24</td>
<td>26</td>
<td>27</td>
<td>29</td>
<td>31</td>
<td>32</td>
<td>34</td>
<td>35</td>
</tr>
<tr>
<th>180</th>
<td>12</td>
<td>13</td>
<td>15</td>
<td>16</td>
<td>18</td>
<td>20</td>
<td>21</td>
<td>23</td>
<td>24</td>
<td>26</td>
<td>27</td>
<td>29</td>
<td>30</td>
<td>32</td>
<td>33</td>
</tr>
<tr>
<th>185</th>
<td>11</td>
<td>13</td>
<td>14</td>
<td>16</td>
<td>17</td>
<td>18</td>
<td>20</td>
<td>21</td>
<td>23</td>
<td>24</td>
<td>26</td>
<td>27</td>
<td>29</td>
<td>30</td>
<td>32</td>
</tr>
<tr>
<th>190</th>
<td>11</td>
<td>12</td>
<td>13</td>
<td>15</td>
<td>16</td>
<td>18</td>
<td>19</td>
<td>20</td>
<td>22</td>
<td>23</td>
<td>24</td>
<td>26</td>
<td>27</td>
<td>29</td>
<td>30</td>
</tr>
<tr>
<th>195</th>
<td>10</td>
<td>11</td>
<td>13</td>
<td>14</td>
<td>15</td>
<td>17</td>
<td>18</td>
<td>19</td>
<td>21</td>
<td>22</td>
<td>23</td>
<td>24</td>
<td>26</td>
<td>27</td>
<td>28</td>
</tr>
<tr>
<th>200</th>
<td>10</td>
<td>11</td>
<td>12</td>
<td>13</td>
<td>15</td>
<td>16</td>
<td>17</td>
<td>18</td>
<td>20</td>
<td>21</td>
<td>22</td>
<td>23</td>
<td>25</td>
<td>26</td>
<td>27</td>
</tr>
</table>
或者您可以在列和中心设置特定数量的填充物。我个人喜欢上面的代码段的结果。在这里,您可以在数字上获得一致的空白,同时牺牲相等的列宽度。
table,
th,
td {
border: 1px solid black;
border-collapse: collapse;
text-align: center;
}
th,
td {
padding: 0.125rem 0.25rem;
}
<table style="width:50%">
<tr>
<th colspan="2" rowspan="2"></th>
<th colspan="17">Weight, in Kg</th>
</tr>
<tr>
<th>40</th>
<th>45</th>
<th>50</th>
<th>55</th>
<th>60</th>
<th>65</th>
<th>70</th>
<th>75</th>
<th>80</th>
<th>85</th>
<th>90</th>
<th>95</th>
<th>100</th>
<th>105</th>
<th>110</th>
</tr>
<tr>
<th rowspan="11">Height, in cm</th>
<th>160</th>
<td>15</td>
<td>17</td>
<td>19</td>
<td>21</td>
<td>23</td>
<td>25</td>
<td>27</td>
<td>29</td>
<td>31</td>
<td>33</td>
<td>35</td>
<td>37</td>
<td>39</td>
<td>41</td>
<td>42</td>
</tr>
<tr>
<th>165</th>
<td>14</td>
<td>16</td>
<td>18</td>
<td>20</td>
<td>22</td>
<td>23</td>
<td>25</td>
<td>27</td>
<td>29</td>
<td>31</td>
<td>33</td>
<td>34</td>
<td>36</td>
<td>38</td>
<td>40</td>
</tr>
<tr>
<th>170</th>
<td>13</td>
<td>15</td>
<td>17</td>
<td>19</td>
<td>20</td>
<td>22</td>
<td>24</td>
<td>25</td>
<td>27</td>
<td>29</td>
<td>31</td>
<td>32</td>
<td>34</td>
<td>36</td>
<td>38</td>
</tr>
<tr>
<th>175</th>
<td>13</td>
<td>14</td>
<td>16</td>
<td>17</td>
<td>19</td>
<td>21</td>
<td>22</td>
<td>24</td>
<td>26</td>
<td>27</td>
<td>29</td>
<td>31</td>
<td>32</td>
<td>34</td>
<td>35</td>
</tr>
<tr>
<th>180</th>
<td>12</td>
<td>13</td>
<td>15</td>
<td>16</td>
<td>18</td>
<td>20</td>
<td>21</td>
<td>23</td>
<td>24</td>
<td>26</td>
<td>27</td>
<td>29</td>
<td>30</td>
<td>32</td>
<td>33</td>
</tr>
<tr>
<th>185</th>
<td>11</td>
<td>13</td>
<td>14</td>
<td>16</td>
<td>17</td>
<td>18</td>
<td>20</td>
<td>21</td>
<td>23</td>
<td>24</td>
<td>26</td>
<td>27</td>
<td>29</td>
<td>30</td>
<td>32</td>
</tr>
<tr>
<th>190</th>
<td>11</td>
<td>12</td>
<td>13</td>
<td>15</td>
<td>16</td>
<td>18</td>
<td>19</td>
<td>20</td>
<td>22</td>
<td>23</td>
<td>24</td>
<td>26</td>
<td>27</td>
<td>29</td>
<td>30</td>
</tr>
<tr>
<th>195</th>
<td>10</td>
<td>11</td>
<td>13</td>
<td>14</td>
<td>15</td>
<td>17</td>
<td>18</td>
<td>19</td>
<td>21</td>
<td>22</td>
<td>23</td>
<td>24</td>
<td>26</td>
<td>27</td>
<td>28</td>
</tr>
<tr>
<th>200</th>
<td>10</td>
<td>11</td>
<td>12</td>
<td>13</td>
<td>15</td>
<td>16</td>
<td>17</td>
<td>18</td>
<td>20</td>
<td>21</td>
<td>22</td>
<td>23</td>
<td>25</td>
<td>26</td>
<td>27</td>
</tr>
</table>
如果两个都是您所引用的,请澄清。