例如,我想設置的紅色寬度的比率:綠:藍爲1:2:1個相對於母體,我試圖使用他們,這似乎得到了我期望的結果:如何用相對比例設置元素的寬度?
<table style="width:100%;height:50px;">
<tr>
<td style="height:100%;background-color:red;width:1em;">
</td>
<td style="height:100%;background-color:green;width:2em;">
</td>
<td style="height:100%;background-color:blue;width:1em;">
</td>
</tr>
</table>
但是當它具有0EM的元素並沒有消失:
<table style="width:100%;height:50px;">
<tr>
<td style="height:100%;background-color:red;width:1em;">
</td>
<td style="height:100%;background-color:green;width:0em;">
</td>
<td style="height:100%;background-color:blue;width:1em;">
</td>
</tr>
</table>
根據em的描述,似乎不太可能用於定義元素的相對寬度/高度。
是否正確使用em?如果不正確,那麼實現此目的的正確方法是什麼?
也許你可以嘗試視窗尺寸:HTTPS://css-tricks.com/viewport-sized-typography/ –
的「正確的方式」開始的時候很可能會先全部停止使用表格佈局的目的(除非你試圖在這裏顯示實際的表格數據,但目前還沒有跡象表明)。表格有它們自己的佈局算法,你可以部分影響(主要是通過'table-layout') - 但是試圖創建一個100%寬度的表格,然後創建3個1em/0/1em大小的列,這是一個相當荒謬的事情開始。根據你實際想要在這裏實現的目標,像flexbox這樣的東西可能是一個更好的選擇。 – CBroe
em是相對於(父元素的)字體大小的,所以如果你增加了字體大小,你也會看到你的元素的大小增加 - 試試看看。 vw或%年齡在這裏可能更適合。 –