Mam tabelę HTML, która jest zbyt szeroka dla małych ekranów. Próbuję pozbyć się tej tabeli i użyć list i elementów div, aby uzyskać bardziej responsywny projekt.Responsive "table"
Tu jest mój HTML wymyśliłem:
<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>
chcę, żeby wyglądać na małych ekranach:
----------------------------------------------------
| 01/09/2014 |
|----------------------------------------------------|
| Team A | Result | Team B |
|----------------------------------------------------|
| Player 1 | Forecast | 3.0 |
|----------------------------------------------------|
| Player 2 | Forecast | 0.0 |
i jak to na szerokich ekranów:
| 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 |
Ustawiłem skrzypce z tym, co dotychczas osiągnąłem: http://jsfiddle.net/vwanr2gx/
Nie znalazłem sposobu na umieszczenie wszystkich "komórek" dla urządzenia w tym samym wierszu i zachowanie tej samej szerokości dla "komórek" w tej samej "kolumnie". Nie mogę zakodować na sztywno szerokości komórek dla zespołów, ponieważ nie znam zawartości (wygenerowanej przez użytkownika).
Próbowałem użyć tabel css, ale ponieważ mam zagnieżdżone div, to automatycznie tworzy nowe wiersze (patrz skrzypce).
Jak mogę to osiągnąć (jeśli to możliwe)?
Pomogło, zwłaszcza w nagłówkach. Problem z twoim rozwiązaniem polega na tym, że ustawiasz szerokość na wielu "komórkach" i nie chcę tego robić (nie znam liczby graczy i długości nazw drużyn). Ale znam zawartość innych komórek, dzięki czemu mogę z tego pracować. Korzystając z twoich pomysłów i tego, co znalazłem po zamieszczeniu tego pytania, wymyśliłem możliwe rozwiązanie: http://jsfiddle.net/dchaib/vwanr2gx/2/. Nadal potrzebuje pracy domowej, ale myślę, że to zachowanie, którego pragnę. –
Użyłem wartości procentowych, aby były ogólne. Możesz użyć bezpośrednio wartości dla niektórych kolumn i 'calc()', aby obliczyć szerokość dla niektórych innych, aby wyglądała czystsza (tak jak w przypadku jsfiddle, chociaż liczby nie wydają się właściwe). –
O nieznajomości liczby graczy, teraz nie mogę wymyślić sposobu ustawienia standardowej szerokości, która będzie pasować do wszystkich graczy i zajmować 100% szerokości. To wydaje się być problemem, który miałbyś cały czas. Jeśli chcesz, aby wszystkie kolumny odtwarzacza miały taką samą szerokość, prawdopodobnie będziesz musiał je dostosować podczas generowania tabeli (w tym czasie będziesz wiedział) lub za pomocą JavaScript/jQuery po jej wygenerowaniu. –