• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Jak zrobić, aby komórki w tabeli były identycznej szerokości i/lub wysokości, gdy strona jest responsywna?

0 głosów
829 wizyt
pytanie zadane 15 czerwca 2020 w HTML i CSS przez SCpl Użytkownik (590 p.)
zamknięte 2 lipca 2020 przez SCpl

Chcę zrobić, aby komórki w tabeli były identycznej szerokości i/lub wysokości, gdy strona jest responsywna. Wiem, że Bootstrap ma własne tabele, ale ja nie chce używać takich. Chodzi mi o to, by nie ustawiać stałych szerokości i/lub wysokości, ale żeby zawsze przystosowały się do wielkości diva, w którym są. Sam kąbinowałem z ustawianiem różnych właściwości różnych znaczników w CSS, ale nie udało mi się dojść do tego, jak to zrobić w ten sposób, więc stworzyłem kod w JS z biblioteką JQuery, który zmienia szerokość wszystkich komórek na 1/13 szerokości tabeli, ale wydaje mi się, że musi być łatwiejszy sposób. Tu kod tabeli:

<div id="table" class="px-4 px-md-3 py-3">
  <table border = "1px" bordercolor = "#7289DA" width="100%" height="100%">
    <tr><th></th><th>1.</th><th>2.</th><th>3.</th><th>4.</th><th>5.</th><th>6.</th><th>7.</th><th>8.</th><th>9.</th><th>10.</th><th>11.</th><th>12.</th></tr>
    <tr><th>1.1</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>X</th></tr>
    <tr><th>1.2</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>X</th></tr>
    <tr><th>1.3</th><th>X</th><th>X</th><th>X</th><th>X</th><th>X</th><th>X</th><th>X</th><th>X</th><th>X</th><th>X</th><th>X</th><th>✓</th></tr>
    <tr><th>1.4</th><th>X</th><th>X</th><th>X</th><th>X</th><th>X</th><th>X</th><th>X</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th></tr>
    <tr><th>1.5</th><th>X</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>X</th></tr>
    <tr><th>1.6</th><th>X</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>X</th></tr>
    <tr><th>1.7</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>X</th></tr>
    <tr><th>1.8</th><th>X</th><th>X</th><th>X</th><th>X</th><th>X</th><th>X</th><th>X</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th></tr>
    <tr><th>2.1</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>X</th></tr>
    <tr><th>2.2</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>X</th></tr>
    <tr><th>2.3</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>X</th></tr>
    <tr><th>2.4</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>X</th></tr>
    <tr><th>3.1</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>X</th></tr>
    <tr><th>3.2</th><th>X</th><th>X</th><th>X</th><th>X</th><th>X</th><th>X</th><th>X</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th></tr>
    <tr><th>3.3</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>✓</th><th>X</th></tr>
  </table>
</div>

a tu JS:

$(window).on("load resize", function() {
  $("th").width($("table").width() / 13);
});

Jeśli da się to inaczej zrobić to proszę o informację. :D

komentarz zamknięcia: Już wszystko wiem. :D
1
komentarz 15 czerwca 2020 przez mbabane Szeryf (79,240 p.)
a wartości procentowe?

3 odpowiedzi

+1 głos
odpowiedź 15 czerwca 2020 przez pablop76 VIP (123,640 p.)
Nadaj w css szerokość dla th. A swoja droga dlaczego nie użyłeś td?
+1 głos
odpowiedź 1 lipca 2020 przez Aqua 4 Gaduła (3,220 p.)
edycja 2 lipca 2020 przez Aqua 4

Użyj procentów, rozmiar będzie zmieniał się wraz z ich pojemnikiem:

/* ... */
    width: 50%;
    height: 50%;
/* ... */

Tutaj masz tabelkę ze wszystkimi wartościami relatywnymi: https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Values_and_units#Relative_length_units

+1 głos
odpowiedź 1 lipca 2020 przez _Pita_ Stary wyjadacz (11,410 p.)

Możesz użyć wspomnianych już procentów lub vh i vw itd.

[Tabelka "Relative Lengths"]

komentarz 2 lipca 2020 przez _Pita_ Stary wyjadacz (11,410 p.)
Najczęściej tak, jednak na zadane powyżej pytanie znałem odpowiedź, więc wystarczyło mi jedynie zweryfikowanie odpowiedzi, co w przypadku tak krótkiej tabelki nie stanowiło problemu
komentarz 2 lipca 2020 przez Aqua 4 Gaduła (3,220 p.)
Myślę, że obaj mamy rację, jednak lepiej wybierać MDN.
komentarz 2 lipca 2020 przez _Pita_ Stary wyjadacz (11,410 p.)

Obaj mamy rację, ponieważ obaj podaliśmy tę samą odpowiedź tylko z innych źródeł laugh

komentarz 2 lipca 2020 przez Aqua 4 Gaduła (3,220 p.)
edycja 2 lipca 2020 przez Aqua 4
W sumie, to tak, ale jednak nie.

                    |

                    |

                    |

                    V
1
komentarz 2 lipca 2020 przez ScriptyChris Mędrzec (190,170 p.)
A co jeśli dane źródło ma np. w 75% procentach rzetelne informacje, a w pozostałych 25% już błędne? Dajmy na to, że akurat na przykładzie jednego problemu informacje z tego źródła mogą być ok. Polecając komuś to źródło istnieje ryzyko, że ktoś odwiedzając je w poszukiwaniu innych informacji natknie się już na tę gorszą część z błędami. Jeśli będzie na tyle mało doświadczony, że tych błędnych informacji nie zweryfikuje, to może się po prostu nauczyć bzdur i/lub utrwalić złe nawyki. Po co więc podawać źródło wątpliwej reputacji?

Podobne pytania

0 głosów
1 odpowiedź 1,147 wizyt
pytanie zadane 3 lutego 2018 w HTML i CSS przez Karoldev Początkujący (300 p.)
+1 głos
3 odpowiedzi 2,949 wizyt
pytanie zadane 18 czerwca 2017 w HTML i CSS przez rafal1997 Gaduła (3,180 p.)

93,778 zapytań

142,737 odpowiedzi

323,388 komentarzy

63,382 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...