Ho una tabella HTML che è troppo ampia per i piccoli schermi. Sto cercando di sbarazzarmi di questo tavolo e utilizzare liste e div per avere un design più reattivo.Responsive "table"
Ecco il mio HTML mi si avvicinò con:
<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>
voglio farlo sembrare come questo su schermi di piccole dimensioni:
----------------------------------------------------
| 01/09/2014 |
|----------------------------------------------------|
| Team A | Result | Team B |
|----------------------------------------------------|
| Player 1 | Forecast | 3.0 |
|----------------------------------------------------|
| Player 2 | Forecast | 0.0 |
e come questo su ampi schermi:
| 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 |
Ho impostato un violino con quello che ho raggiunto finora: http://jsfiddle.net/vwanr2gx/
Non ho trovato un modo per mettere tutte le "celle" per una fixture sulla stessa riga e mantenere la stessa larghezza per le "celle" nella stessa "colonna". Non riesco a codificare la larghezza delle celle per i team perché non conosco il contenuto (generato dall'utente).
Ho provato a utilizzare le tabelle CSS, ma dal momento che ho div nidificato, crea automaticamente nuove righe (vedi violino).
Come posso ottenerlo (se possibile)?
Ha aiutato, soprattutto con le intestazioni. Il problema con la tua soluzione è che imposti la larghezza su molte "celle" e che non voglio fare (non conosco il numero di giocatori e la lunghezza dei nomi delle squadre). Ma conosco il contenuto di altre celle, quindi posso lavorare su questo. Usando le tue idee e ciò che ho trovato dopo aver postato questa domanda, ho trovato una possibile soluzione: http://jsfiddle.net/dchaib/vwanr2gx/2/. Ha ancora bisogno di lavoro comico, ma penso che sia il comportamento che voglio. –
Ho usato le percentuali per renderlo generico. È possibile utilizzare direttamente un valore per alcune colonne e 'calc()' per calcolare la larghezza per alcuni altri, per renderlo più pulito (come nel jsfiddle, anche se i numeri non sembrano corretti). –
Chi non conosce il numero di giocatori, al momento non riesco a pensare ad un modo per impostare una larghezza standard che si adatti a tutti i giocatori e occupi il 100% della larghezza. Questo sembra essere un problema che avresti tutto il tempo. Se vuoi che tutte le colonne dei giocatori abbiano la stessa larghezza, probabilmente dovrai regolarle quando generi la tabella (in quel momento lo saprai) o tramite JavaScript/jQuery dopo che è stata generata. –