Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Responsywny obrazek nie działa wewnątrz tabeli
Forum PHP.pl > Forum > Po stronie przeglądarki > HTML \ XHTML
AboutMe
Witam,

Zaważyłem że jeśli użyję img { max-width: 100%; } to obrazek wewnątrz tabeli nie jest responsywny - http://jsfiddle.net/PeAAb/115/
Czy wiecie jak rozwiązać ten problem?
Talidali
Nie zaczyna się klas od liczby.

Kod
<table class="q1col">
    <tr>
         <td>
            Text
        </td>
        <td>
            <img src="http://placehold.it/600x150" />
        </td>
    </tr>
</table>


Kod
table.q1col td{ width:100px; }
img { max-width: 100%; }
rocktech.pl
Witam.

Sprawa jest dość oczywista.

Tabela nie jest responsywna.
  1. table { width: 500px; }


A obrazek wyświetla się blokowo na całą jej szerokość.

Jak naprawić:

Przykładowo tak -> http://jsfiddle.net/PeAAb/116/
AboutMe
OK, to zapiszcie poniższy kod w pliku html i odpalcie w przeglądarce, zobaczycie że reponsywność nie działa, na dole pojawia się suwak

  1. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  2.  
  3.  
  4. <style type="text/css" media="screen">
  5. table { width:100%; }
  6. .col1 { width:150px; background:#000000; color:#ffffff; }
  7. td.tdimg img { max-width:100%; }
  8. </style>
  9.  
  10.  
  11. <table>
  12. <tr>
  13. <td class="col1">xxxxx</td>
  14. <td class="tdimg"><img src="http://farm6.staticflickr.com/5338/8943869261_bd2e9d3d2d_o.jpg" /></td>
  15. </tr>
  16. </table>
rocktech.pl
Patrzyłeś na mój przykład? Bo w min kod CSS wygląda tak:

  1. img { max-width: 100%;}
  2. @media screen and (max-width: 25em) {
  3. .tdimg {max-width:20em;}
  4. }
  5.  
  6. @media screen and (max-width: 15em) {
  7. .tdimg {max-width:10em;}
  8. }


W twoim powyższym kodzie responsywność nie działa to się zgadza.
AboutMe
Ale ja nie chcę przypisywać sztywnej szerokości dla 2. kolumny, chcę żeby dopasowywała się automatycznie tak jak na tabelę przystało. Co jeśli mam płynny layout?

  1. <style type="text/css" media="screen">
  2. table { width:100%; }
  3. td.tdimg img { max-width:100%; }
  4.  
  5.  
  6. <tr>
  7. <td class="tdimg"><img src="http://farm6.staticflickr.com/5338/8943869261_bd2e9d3d2d_o.jpg" /></td>
  8. </tr>


Z divami nie ma problemu:

  1. <style type="text/css" media="screen">
  2. .tdimg img { max-width:100%; }
  3.  
  4.  
  5. <div class="tdimg"><img src="http://farm6.staticflickr.com/5338/8943869261_bd2e9d3d2d_o.jpg" /></div>


Znalazłem rozwiązanie - http://blog.room34.com/archives/5042
Tyle zachodu a wystarczyło dodać krótką linijkę kodu.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.