Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Themes & Theming ›

Probleme mit css und Tabellenbreite

Eingetragen von Gorkde (21)
am 05.12.2018 - 22:32 Uhr in
  • Themes & Theming
  • Drupal 8.x

Hallo,

ich habe in einem Node eine Tabelle gemacht die per Theme standardmäßig 100% breite hat. Nun muss ich aber auf dem Handy das ganze wegen der Breite anders anzeigen, deshalb habe ich den beiden Sachen eine Klasse zugewiesen und blende per css die Tabelle auf dem Handy aus (display:none;) und auf dem PC ein.

Allerdings habe ich schon alles mögliche probiert, sobald die Tabelle eine Klasse hat ist sie mitmal nicht mehr über die ganze breite, während das Styling vom Theme ansonsten scheinbar erhalten bleibt.

Ich habe es probiert mit allem möglichen wie z.B.:

.showpc {display:block;}
.showpc {display:inline;}
.showpc {display:inline-block;}
.showpc {display:table;}
.showpc table {display:table; width: 100%;}

etc....

Warum passiert das und wie stelle ich die Tabelle auf voller Breite dar?

‹ Omega Subtheme Layouts Probleme mit css und Tabellenbreite ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Ohne die Webseite zu sehen,

Eingetragen von montviso (2188)
am 06.12.2018 - 07:19 Uhr

Ohne die Webseite zu sehen, ist schwer zu sagen, woran es hakt.
Ich mache sowas inzwischen nur noch mit DIV-Containern, die ich dann unterschiedlich formatiere.

  • Anmelden oder Registrieren um Kommentare zu schreiben

ohne quelltext kann natürlich

Eingetragen von caw (2762)
am 06.12.2018 - 11:46 Uhr

ohne quelltext kann natürlich nicht sagen woran es liegt.
wahrscheinlich ein klener tipfehler...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Es geht um das Drupal 8

Eingetragen von Gorkde (21)
am 06.12.2018 - 21:46 Uhr

Es geht um das Drupal 8 Custom Theme von Zymphonies.
Der Quelltext der im Body der Seite steht (Persönliche Daten des Freundes von mir - Adresse - hier durch XXX ersetzt):

<h2 class="text-align-center">Unsere Anschrift</h2>

<p>&nbsp;</p>

<table align="center" border="0" cellpadding="0" cellspacing="0" class="showpc">
<thead>
<tr>
<th colspan="5" scope="col" style="text-align:center;">XXX</th>
</tr>
</thead>
<tbody>
<tr>
<td>&nbsp;</td>
<td style="width: 200px;">XXX</td>
<td style="width: 70px;">Büro:</td>
<td class="text-align-right" style="width: 180px;">XXX</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td style="width: 200px;">XXX</td>
<td style="width: 70px;">Fax:</td>
<td class="text-align-right" style="width: 180px;">XXX</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td style="width: 200px;">XXX</td>
<td style="width: 70px;">Mobil:</td>
<td class="text-align-right" style="width: 180px;">XXX</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td style="width: 200px;"><a href="https://www.google.de/maps" target="_blank">Google&nbsp;Maps</a></td>
<td colspan="2" style="width: 250px;">XXX</td>
<td>&nbsp;</td>
</tr>
</tbody>
</table>

<h4 class="showmobile text-align-center">XXX</h4>

<p class="showmobile text-align-center">XXX<br />
XXX<br />
XXX</p>

<p class="showmobile text-align-center"><a href="https://www.google.de/maps/" target="_blank">Google&nbsp;Maps</a></p>

<p class="showmobile text-align-center">XXX<br />
XXX<br />
XXX<br />
XXX</p>

Dies habe ich ans Ende der custom-media.css gehängt:

@media (min-width: 767px) {
        /* Dinge wie Adresstabelle für PC zeigen, auf dem Handy ausblenden */
.showmobile {display:none;}
.showpc {display:block;}
}

Dies habe ich ans Ende der custom-style.css gehängt:

/* Dinge wie Adresstabelle für PC ausblenden, auf dem Handy zeigen */
.showmobile {display:block;}
.showpc {display:none;}

Und wie gesagt ich habe statt display:block; schon alles mögliche probiert.... Ich bin ratlos.
Aus und einblenden tut er alles die tabelle sieht scheinbar auch aus wie sie soll (Zellenbreite nicht überprüft), aber sie ist nun links und nicht mehr 100% Seitenbreite.
Ich vermute der Container ist einfach nicht 100% breit, aber warum?

Ich muss dazu sagen, das letzte mal habe ich vor locker 8 Jahren Drupal benutzt und css geschrieben...... Aber ich seh keinen Fehler.

  • Anmelden oder Registrieren um Kommentare zu schreiben

@media (min-width: 767px) {

Eingetragen von caw (2762)
am 07.12.2018 - 04:14 Uhr

@media (min-width: 767px) {
/* Dinge wie Adresstabelle für PC zeigen, auf dem Handy ausblenden */
.showmobile {display:none;}
.showpc {display:block;}
}

musss lauten

@media (min-width: 767px) {
/* Dinge wie Adresstabelle für PC zeigen, auf dem Handy ausblenden */
.showmobile {display:none;}
.showpc {widht:100%;}
}

  • Anmelden oder Registrieren um Kommentare zu schreiben

Aber in der ersten CSS wird

Eingetragen von Gorkde (21)
am 07.12.2018 - 15:40 Uhr

Aber in der ersten CSS wird es doch auf display none gesetzt, dann nutzt es ja nichts nur die breite zu setzen, sondern muss auch erstmal aktiviert werden bei breiterem Bildschirm.

Deswegen hatte ich

display:table; width:100%;

gemacht aber er zeigt es nur an und ignoriert die Breite.
Vor allem sollte er es doch wenn ich das richtig verstehe mit display:table eh so machen wie die Tabellen im Layout schon definiert sind und das ist in dem Layout schon auf 100%.

Das geht auch problemlos, sobald ich nur die Klasse bei der Tabelle entferne.

  • Anmelden oder Registrieren um Kommentare zu schreiben

mach doch einfach mal einen

Eingetragen von caw (2762)
am 07.12.2018 - 15:48 Uhr

mach doch einfach mal einen link auf die seite

  • Anmelden oder Registrieren um Kommentare zu schreiben

http://drupal.wtakademieharbu

Eingetragen von Gorkde (21)
am 08.12.2018 - 16:09 Uhr

http://drupal.wtakademieharburg.com/ueber-uns

Dazu muss ich sagen, wenn ich dem display:block; noch color: ... folgen lasse wird die Schrift farbig angezeigt. nur die Breite geht nicht auf 100%

  • Anmelden oder Registrieren um Kommentare zu schreiben

Die WingTsun Akademie Harburg

Eingetragen von caw (2762)
am 08.12.2018 - 17:42 Uhr

Die WingTsun Akademie Harburg Tabelle???
Da sind ja direkt in der Tabelle Formatierungen mit Breite 200px drin....

  • Anmelden oder Registrieren um Kommentare zu schreiben

@caw, so wie ich es verstehe,

Eingetragen von montviso (2188)
am 08.12.2018 - 18:21 Uhr

@caw, so wie ich es verstehe, darf es ja keine Rolle spielen, dass in der Tabelle feste Breiten im Style stehen, weil die eh ausgeblendet wird?
So ganz kapiere ich die Problematik aber auch nicht.

@Gorkde, sieht doch ganz annehmbar aus? hast Du noch was verändert?

Tabellen sind und bleiben im resposniven Zeitalter ein Gekrampfe, das man nur in wirklich begründeten Fällen verwenden sollte.
Im Beispiel gibt es nicht den geringsten Grund, das mit Tabellen zu gestalten.

Wenn Du die in mobiler Ansicht mit display:none ausblendest, wird der Inhalt dennoch zum Client transportiert und kostet 'Transfervolumen, was bei schlechter oder teurer Verbindung nervig sein kann.

Entweder verwendest Du Div Container, die je nach Bildschirmbreite unterschiedlich formatiert werden, oder Du versuchst diesen Trick hier anwenden:
https://blog.kulturbanause.de/2012/06/tabellen-im-responsive-webdesign/
"Tabellen mit CSS umstrukturieren"

  • Anmelden oder Registrieren um Kommentare zu schreiben

natürlich speilt es eine

Eingetragen von caw (2762)
am 09.12.2018 - 06:23 Uhr

natürlich speilt es eine rolle: wenn in der taelle direkt 200px breite angegeben sind, wird die natürlich nicht mit 100% breite angezeigt...

  • Anmelden oder Registrieren um Kommentare zu schreiben

@Caw Die Tabelle wird doch im

Eingetragen von montviso (2188)
am 09.12.2018 - 12:31 Uhr

@Caw Die Tabelle wird doch im mobilen Bereich ausgeblendet, deswegen meine ich, es spielt keine Rolle...oder was verstehe ich falsch?
Naja, vielleicht sehe ich nicht mehr den alten Stand, evt. wurde ja noch was geändert.
Eigentlich Zeitverschwendung, sich damit lange aufzuhalten.
Tabelle ist hier sowieso fehl am Platz...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Da sind feste BReiten drin

Eingetragen von Gorkde (21)
am 09.12.2018 - 14:35 Uhr

Da sind feste Breiten drin und links und rechts je eine Spalte OHNE feste Breite.
Wenn ich die Klasse entferne wird es ja auch korrekt angezeigt.

Es wurde entschieden das mit Tabelle zu machen, weil das vom Design dann später zum Rest passt.
Die Frage ist nur warum sich die Breite nicht auf 100% anpasst sobald es eine CSS Klasse hat und per CSS aus/an geschaltet wird.

Handy aus, PC an. Spalten die sich anpassen können gibt es ja und ohne CSS dispaly geht es ja wie es soll.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich hab es jetzt anders

Eingetragen von Gorkde (21)
am 09.12.2018 - 14:49 Uhr

Ich hab es jetzt anders gelöst, indem ich ganz darauf verzichte die Tabelle mit display überhaupt wieder zu aktivieren, sondern mit Media Queries min-width und max-width jeweils nur abschalte. Darauf bin ich garnicht gekommen.
Aber trotz allem interessiert es mich, warum es nicht auf 100% Seitenbreite ging wenn ich es mit display anschalte.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Tabellen-Design nutze ich

Eingetragen von montviso (2188)
am 09.12.2018 - 16:04 Uhr

Tabellen-Design nutze ich natürlich auch, nur mache ich es nicht mit Table sondern mit DIV Containern:
https://www.sinnesart-massagen.de/content/anwesenheit
(Design ist nicht von mir - nur technische Umsetzung)

Zitat:

warum es nicht auf 100% Seitenbreite ging wenn ich es mit display anschalte

Meinst Du die Zelle, oder die ganze Tabelle?
Die Tabelle ist ja auf 100%.
Die Zellen können im Tabellenverband nicht mehr als ein Drittel der Breite einnehmen.
Um das zu schaffen, müsstest Du die feste breite-Angaben für td-Elemente mit 100% überschreiben und dazu noch display:block schreiben.

Aber so wie Du es jetzt hast, ist doch OK.
Nur bei großen Datenmengen wäre es nicht so ideal, die Daten redundant auszuliefern.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ja die Tabelle geht sobald

Eingetragen von Gorkde (21)
am 09.12.2018 - 16:34 Uhr

Die Tabelle geht eben sobald ich display:table oder block etc. im css auf sie anwende grundsätzlich NICHT über die ganze Seitenbreite.
Also zumindest war sie das ehe ich es anders gelöst habe bei mir nur klein und nicht wie jetzt über die ganze Seite.

Jetzt ist es wie es sollte, aber nur, weil ich display zum wieder anzeigen auf dem PC komplett vermieden und es anders gelöst habe. Ich wüsste halt gern was die Ursache war.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 2 Wochen 1 Tag
  • Hey danke
    vor 2 Wochen 2 Tagen
  • Update: jetzt gibt's ein
    vor 2 Wochen 3 Tagen
  • Hallo, im Prinzip habe ich
    vor 3 Wochen 18 Stunden
  • Da scheint die Terminologie
    vor 3 Wochen 21 Stunden
  • Kannst doch auch alles direkt
    vor 3 Wochen 5 Tagen
  • In der entsprechenden View
    vor 3 Wochen 5 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 5 Tagen
  • gelöst
    vor 6 Wochen 1 Tag
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 2 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20453

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 22 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association