[gelöst] Mindestgröße von Bilder in Tabellen TROTZ responsive
Eingetragen von axelschulz@drup... (343)
am 24.05.2016 - 17:22 Uhr in
am 24.05.2016 - 17:22 Uhr in
In einer Tabellenansicht in Views mit drei Spalten werden in der ersten je ein Bild angezeigt, die anderen Zwei haben nur Text.
Das Theme ist responsive, doch nach einem Update Firefox werden diese Bilder plötzlich sehr stark verkleinert.
In alten Browsern ist es wunderbar.
Mobil werden die Bilder sogar bis auf ein Pixel verkleinert, was ja total unsinnig ist.
Wie kann ich in einer Tabelle dem Bild den Befehl geben, z.B. nicht kleiner als 100px Breite zu werden?
Also die Mindestgröße eines Bilders trotz responsive.
Dank
Axel
- Anmelden oder Registrieren um Kommentare zu schreiben
Dann darf die Tabelle nicht
am 24.05.2016 - 17:35 Uhr
Dann darf die Tabelle nicht so bleiben, wie bisher. Versuche es mal mit [do:responsive_tables Responsive Tables]. Sonst gibt es noch min-width in CSS.
Responsive Tables und CSS
am 24.05.2016 - 17:56 Uhr
Hallo Werner,
Responsive Table (das Modul) hatte ich bereits schon genutzt (hätte ich dazuschreiben sollen, sorry), und versuchte einzustellen, dass die erste Spalte nicht verändert werden soll. Es gab kein Ergebnis, es hat sich durch veränderte Einstellungen in Responsive Table absolut nichts geändert. Sonst wäre es genau meine Lösung. Sehr schade.
Wie Du ja weißt, bin ich nicht so der Held in CSS.
Bin schon eine Weile im Style.css des Templates unterwegs, aber noch erfolglos, leider auch keine Idee wo ich das min with dort rein schreibe.
Habe aber soeben via Firebug entdeckt, dass wenn ich hier
img, video {
height: auto;
max-width: 100%;
}
max width ausklickt, das Bild groß ist (wie in BIldstile definiert), aber leider der Rest der Tabelle auch nicht mehr Responsive ist.
Ich habe auch schon andere Themes mal testweise eingeschaltet, dort geht es, wenn sie nicht responsive sind.
Diese Personenfotos sollen einfach erkennbar groß bleiben http://oekodorf-chiemgau.de/team/feuerkreis
DANKE für Deine Support
Axel
Probiere
am 24.05.2016 - 18:17 Uhr
Probiere mal:
.views-field-field-portrait img {width: 100%; min-width: 100px;}
Die px kannst du natürlich anpassen.
Oder https://www.drupal.org/project/footable testen, aber auch damit mußte ich vor ca. 2 Jahren irgendeinen Browser mit min-width bei Image anpassen, das kann sich aber mittlerweile geändert haben.
Wenn deine CSS komprimiert ist, siehst du die Änderungen erst wenn du den Cache gelöscht hast.
Grüße Jenna
min-width hat geklappt - fast ganz gelöst ;-)
am 24.05.2016 - 18:36 Uhr
Hallo Jenna,
super, mit genau diesem Befehl
.views-field-field-portrait img {width: 100%; min-width: 100px;}
in der Style.css Datei hat es geklappt. Alle Portraits werden nun größer dargestellt.
Vielen Dank Dir.
Warum das Bild bei einem breiten Browserfenster nicht größer dargestellt wird, bleibt mir ein Rätsel.
Oder ist mein Laptop (15er) dafür zu klein?
Dank euch beiden!!
Axel
Ich vermute du hast einen
am 24.05.2016 - 18:56 Uhr
Ich vermute du hast einen Bildstil darauf gelegt der eine größere Anzeige verhindert.
Wenn du mit Firefox auf ein Bild gehst, rechte mouse, Grafik Info anzeigen, kommt:
150px × 150px (Skaliert zu 114px × 114px)
Irgendwo muß das Bild schon beim Hochladen bzw. speichern verkleinert werden.
Checke mal deine Bildstile die du auf dieses Image Field gelegt hast.
Grüße Jenna
Bildstile und min-width
am 25.05.2016 - 09:33 Uhr
ja, dass das Bild an dieser Stelle 150px maximal ist, ist beabsichtig.
Der Bildstil ist einfach:
Scale and Smart Crop 150x150
Dateiformat ändern Konvertieren zu: png
Abgerundete Ecken
Was mich eben irritiert ist, dass es dann nochmal verkleiner wird, in diesem Fall bei Dir auf 114px.
Bei mir wird es ebenso auf 114 px reduziert (vermutlich haben wir beide einen 15 Zoll Monitor)
und wenn ich das Browserfenster sehr stark verkleiner, dann wird es auf 108 verkleinert, was ja ok ist, mich aber wundert, da 110 als Minimum angegeben ist.
Vielleicht muss ich das auch nicht verstehen, denn ich bilde mir ein, nun mit eurer Hilfe alles richtig gemacht zu haben.
:-)
AXel
Das liegt an dem
am 25.05.2016 - 09:47 Uhr
Das liegt an dem Tabellen-Layout. In diesem Fall (default):
table {
table-layout: auto;
}
So wird die Breite einzelner Spalten automatisch an die Menge des Inhalts angepasst.
Also entweder ändert man "table-layout" zu "fixed" (und die Spalten bekommen immer gleiche Breite), oder man bestimmt die Breite von den "td´s".
Hier zum Beispiel:
/* Für das Bild */
td:nth-child(1) {
width: 25%;
}
/* Für den Namen */
td:nth-child(2) {
width: 25%;
}
/* Für die Beschreibung */
td:nth-child(3) {
width: 50%;
}
ja, so geht es mit responsiven Tabellen - Danke
am 25.05.2016 - 10:18 Uhr
Wunderbar, das war das letzte i-Tüpfel, jetzt klappt es perfekt.
Habe es genau so reinkopiert in style.css, klappt. Dann noch mal die Prozentzahlen etwas angepasst.
Perfekt :-)
Vielen Dank
Axel
www.oekodorf-chiemgau.de
zu früh gefreut - Tabllenbreite ist jetzt überall prozentual
am 25.05.2016 - 10:34 Uhr
dieser Befehl
/* Für das Bild */
td:nth-child(1) {
width: 20%;
}
/* Für den Namen */
td:nth-child(2) {
width: 20%;
}
/* Für die Beschreibung */
td:nth-child(3) {
width: 60%;
}
wirkt sich jetzt auch auf andere Tabellen aus, die Aber gleichmäßig breit sein sollen.
Was mir fehlt ist der Befehl, der in
td:nth-child(2)
sagt, dass es nur hier an dieser Stelle gilt.
Wie kriege ich diesen Code/Befehl heraus?
Danke
Axel
nur diese spezielle Tabelle soll prozentual dargestellt werden
am 25.05.2016 - 10:43 Uhr
ich habe aus euren Antworten eine neue Lösung kombiniert, die aber dann doch wider Erwarten nicht klappt.
/* Für das Bild */
.views-field-field-portrait td:nth-child(1) {
width: 20%;
}
/* Für den Namen */
.views-field-title td:nth-child(2) {
width: 20%;
}
/* Für die Beschreibung */
.views-field-field__ber_mensch td:nth-child(3) {
width: 60%;
}
Falls jemand den Fehler sieht, ... vielen Dank im Voraus.
Axel
Es muss beim Selektieren
am 25.05.2016 - 11:12 Uhr
Es muss beim Selektieren nachgebessert werden ;)
Wenn Dein td eine Klasse hat, dann sollte es so heissen:
td:nth-child(1).views-field-field-portrait
(OHNE Leerzeichen)
Oder noch einfacher:
/* Für das Bild */
td.views-field-field-portrait {
width: 20%;
}
/* Für den Namen */
td.views-field-title {
width: 20%;
}
/* Für die Beschreibung */
td.views-field-field__ber_mensch {
width: 60%;
}
Viele Grüße
Piotr
So klappt es mit den
am 25.05.2016 - 15:16 Uhr
So klappt es mit den Tabellenansichten.
Ich habe den Code exakt so übernommen und wunderbar, die Personenansichten sind in der gewünschten %-Größe, alle anderen bleiben wie bisher.
Vielen Dank :-)
Axel