@media screen and (max-width: 600px) {
table, thead, tbody, th, td, tr {
display: block;
}
}
600 pixel alatt a táblázat részeinek display értéke legyen block típus.
De így nem látszanak a határok és a táblázat fejléce is felesleges. Tegyünk még néhány kiegészítést.
@media screen and (max-width: 600px) {
table, thead, tbody, th, td, tr {
display: block;
}
td {
text-align: left;
border: 1px solid #ddd;
padding: 8px;
}
thead tr {
display: none;
}
tbody tr {
margin-bottom: 8px;
}
}
==== Mezők feliratozása ====
Ha szeretnénk a tördelt mezők számára mezőneveket megjeleníteni adjunk minden cellához egy **data-column** mezőt a megfelelő mezőnévvel.
Arany Ernő
Szeged
397
Taba Mária
Pécs
395
A feliratok megjelenítése ezek után:
@media screen and (max-width: 600px) {
/* ... */
td:before {
content: attr(data-column);
float: left;
font-weight: bold;
}
}
==== Szebb tördelés ====
@media screen and (max-width: 600px) {
table, thead, tbody, th, td, tr {
display: block;
}
thead tr {
display: none;
}
td {
border: none;
border-bottom: 1px solid #eee;
position: relative;
padding-left: 50%;
}
td:before {
position: absolute;
top: 6px;
left: 6px;
width: 45%;
padding-right: 10px;
white-space: nowrap;
content: attr(data-column);
font-weight: bold;
}
}
{{:oktatas:web:tort_tablazat_02.png|}}
===== Bootstrap kártyák =====
Érdemes kártyákat használni táblázatok helyett. Használjuk a **Card** komponenst.
A kártyakomponenseket tegyük egy divbe, majd állítsunk be d-flex és felx-wrap osztályjelölöket.
==== Angularban ====
Legyen Angualrban egy productList, amit szeretnénk renderelni a weboldalra.
Készítsünk egy div-t, aminek a dispaly tulajdonságát flex értékre állítjuk, majd
mondjuk meg, hogy tördelje a tartalmat ha szükséges a flex tulajdonság wrap-ra állításával.
@for(product of productList; track product.id) {
{{ product.name }}
{{ product.description }}
}
===== JavaScript és Bootstrap kártyák =====
Járművek
const cars = [
{
id: 1,
plate: 'ABC123',
name: 'Ford',
model: 'Mustang',
year: 2022
},
{
id: 2,
plate: 'DEF456',
name: 'BMW',
model: 'X5',
year: 2021
},
{
id: 3,
plate: 'GHI789',
name: 'Toyota',
model: 'Camry',
year: 2020
},
{
id: 4,
plate: 'JKL012',
name: 'Honda',
model: 'Civic',
year: 2019
},
{
id: 5,
plate: 'MNO345',
name: 'Nissan',
model: 'Altima',
year: 2018
}
]
const template = (car) => {
return `
${car.name}
${car.model}
${car.year}
${car.plate}
`
}
const carsContainer = document.getElementById('cars')
cars.forEach(car => {
carsContainer.innerHTML += template(car)
})