我有一個HTML表格,對於小屏幕來說太寬了。我試圖擺脫這張表,並使用列表和div來有更快的響應設計。響應式「表」
這是我的HTML,我想出了:
<ul>
<li class="fixture">
<div class="fixture-date">01/09/2014 20:00</div>
<div class="fixture-details">
<div class="home-team">Team A</div>
<div class="result">Result</div>
<div class="away-team">Team B</div>
</div>
<ul class="forecasts">
<li class="player-forecast">
<div class="player">Player 1</div>
<div class="forecast">Forecast</div>
<div class="score">3.0</div>
</li>
...
</ul>
</li>
...
</ul>
我希望它看起來像這樣的小屏幕上:
----------------------------------------------------
| 01/09/2014 |
|----------------------------------------------------|
| Team A | Result | Team B |
|----------------------------------------------------|
| Player 1 | Forecast | 3.0 |
|----------------------------------------------------|
| Player 2 | Forecast | 0.0 |
像這樣的寬屏幕:
| Player 1 | Player 2 |
------------------------------------------------------------------------------------|
| 01/09/2014 | Team A | Result | Team B | Forecast | 3.0 | Forecast | 0.0 |
|-----------------------------------------------------------------------------------|
| 01/09/2014 | Team C | Result | Team D | Forecast | 1.0 | Forecast | 2.0 |
我已經設置了我到目前爲止取得的成果:http://jsfiddle.net/vwanr2gx/
我還沒有找到一種方法來將一個燈具的所有「單元」放在同一行上,並將「單元」的寬度保持在同一個「列」中。我不能硬編碼團隊的單元格寬度,因爲我不知道內容(用戶生成的)。
我試圖使用CSS表,但由於我有嵌套的div,它會自動創建新的行(請參閱小提琴)。
我該如何做到這一點(如果可能的話)?
它確實有幫助,特別是與標題。你的解決方案的問題是你在很多「單元格」上設置了寬度,這不是我想要做的(我不知道玩家的數量和隊名的長度)。但是,我知道其他細胞的內容,所以我可以從中解決問題。在發佈這個問題後,使用你的想法和我發現的內容,我想出了一個可能的解決方案:http://jsfiddle.net/dchaib/vwanr2gx/2/。它仍然需要comestic的工作,但我認爲這是我想要的行爲。 – 2014-09-03 11:41:13
我用百分比來表示它是通用的。您可以直接使用某些列的值,並使用calc()來計算其他列的寬度,以使其看起來更清晰(正如您在jsfiddle中所做的一樣,儘管數字看起來不正確)。 – 2014-09-03 12:19:27
關於不知道玩家人數,現在我想不出一種設置適合所有玩家數量的標準寬度的方式,並佔據100%的寬度。這似乎是你一直都有的問題。如果您希望所有播放器列具有相同的寬度,則可能需要在生成表格(當時您會知道)時調整它,或者在生成表格後通過JavaScript/jQuery進行調整。 – 2014-09-03 12:24:47