2017-06-15 2 views
1

Um eine HTML-Komponente ansprechbar zu machen, ich möchte eine Medienabfrage verwenden, Säulenpaare in dieser Tabelle zu kombinieren:Responsive Tisch und Stapelsäulen

<div style="display: table"> 
    <div style="display: table-cell">1</div> 
    <div style="display: table-cell">2</div> 
    <div style="display: table-cell">3</div> 
    <div style="display: table-cell">4</div> 
</div> 

Um es (effektiv) etwas Ähnliches wie:

<div style="display: table"> 
    <div style="display: table-cell"> 
     <div style="display: block">1</div> 
     <div style="display: block">2</div> 
    </div> 
    <div style="display: table-cell"> 
     <div style="display: block">3</div> 
     <div style="display: block">4</div> 
    </div> 
</div> 

Eine Möglichkeit, das zu tun ist, um den ersten Auszeichnungs mit zusätzlichen divs wie diese zu umgeben:

<div style="display: table"> 
    <div style="display: inline"> 
     <div style="display: table-cell">1</div> 
     <div style="display: table-cell">2</div> 
    </div> 
    <div style="display: inline"> 
     <div style="display: table-cell">3</div> 
     <div style="display: table-cell">4</div> 
    </div> 
</div> 

Ändern Sie dann die Anzeigeattribute am Haltepunkt entsprechend. Wäre das gültig? Gibt es einen besseren Weg? (Bitte beachten Sie, dass ich die Anzeige "table" und "table-cell" aus verschiedenen Gründen verwenden muss, um Dinge vertikal zu erweitern).

Antwort

0

Ihre Frage ist ein wenig vage, so dass es schwierig ist, eine genaue Antwort zu geben. Ich würde empfehlen, eine JSFiddle einzurichten, damit Sie genauer sein können.

Das heißt, wenn Sie reaktionsschnelle HTML-Komponenten haben möchten, wäre die einfachste Methode wahrscheinlich, ein Grid-System wie die von Materialize und Bootstrap bereitgestellten zu verwenden.

Wenn es einen Grund gibt, warum diese für Sie nicht funktionieren, lassen Sie es mich wissen und vielleicht kann ich (oder jemand anderes) Ihnen etwas Spezifischeres liefern.

+0

Ich bin mir nicht sicher, welchen Teil der Frage Sie vage finden. Bitte seien Sie nicht die Person, die denkt, dass jedes Problem mit einem Framework gelöst werden kann. Auch dies ist keine Antwort, es ist ein Kommentar. Bitte entfernen Sie es, damit andere die Frage beantworten können. Vielen Dank. – stepanian

+0

Ich glaube wirklich, dass Sie das weniger offensiv formuliert haben könnten. Unabhängig davon müssen Sie kein zusätzliches Markup hinzufügen, wenn Sie einfach die Medienabfrage verwenden, um die Breite jedes div anzupassen. Wenn Sie möchten, dass es 2x2 statt 4x1 ist, ändern Sie einfach die div-Breite auf 50%. Dadurch werden zwei in einer zweiten Zeile angezeigt. – yoursweater

+0

Das Ändern der Breite auf 50% würde nicht funktionieren, da dies Tabellen und Tabellenzellen sind. – stepanian