2017-04-05 5 views
0

Ich versuche, eine reaktionsfähige Seite mit Quadraten zu erstellen, die 50% der vollen Breite (2 Quadrate pro Zeile) nehmen. Auf Mobile (einschließlich iPhone 6/7 Plus), sollten diese Quadrate untereinander sein, aber das ist, wo es nicht mit dem folgenden Code arbeiten:Responsive 2-Spalten-Quadrate in CSS

.square { 
    width: 100vw; 
    height: 100vw; 
    float: left; 
} 

@media (min-width: 1170px) { 
    .square {width: 50vw; height: 50vw; } 
} 

Idealerweise würde ich Bootstrap verwenden, aber ich kann nicht verstehen, wie man Quadrate erstellen.

+0

Haben Sie setzen 'html, body {margin: 0}'? – LGSon

+0

Ja - ich denke, es ist mit dem 'Geräte-Pixel-Verhältnis' von Smartphone, das die Verwendung von Breite Obselete – titibouboul

+1

Nein, es basiert tatsächlich auf der Tatsache, dass Bildfenster Einheiten Scrollbar nicht ausgeschlossen ... eine Antwort für veröffentlicht Sie – LGSon

Antwort

2

Bootstrap Beispiel:

<div class="container"> 
    <div class="row"> 
    <div class="col-lg-6"> 
     <div class="square"></div> 
    </div> 
    <div class="col-lg-6"> 
     <div class="square"></div> 
    </div> 
    </div> 
</div> 

CSS:

.square { 
    height: 0; 
    padding-bottom: 100%; 
    background-color: green; 
} 

http://codepen.io/Deka87/pen/yMrmKK

+0

Es sieht genauso aus wie die Antwort, die ich suche, aber Quadrate reagieren nicht auf meinen Code, es ist immer noch 2 Spalten auf Handy. Enthält Ihr Codepen Bootstrap? – titibouboul

+0

Ok, ich habe ein Meta-Tag vermisst: http://stackoverflow.com/questions/9386429/simple-bootstrap-page-is-not-responsive-on-the-iphone – titibouboul

+0

ha, das ist ein netter Trick! +1 – Johannes

0

Sind Sie auf der Suche nach so etwas? https://jsfiddle.net/5xc8fs0a/

Es nutzt die Tatsache, dass der Prozentsatz der Füllung auf der Breite basiert, so dass padding-bottom: 100% sicherstellt, dass Höhe und Breite genau gleich sind.

.square { 
    float: left; 
    width: 48%; 
    margin-right: 1%; 
    background: red; 
} 

.square:after { 
    content: ''; 
    display: inline-block; 
    height: 0; 
    padding-bottom: 100%; 
} 
+0

Es ist großartig, aber nicht reaktionsschnell! – titibouboul

+0

Es reagiert wie es reagiert, wenn Sie das Ansichtsfenster ändern, reagiert seine Breite. Was meinst du mit "nicht reagieren" - dass es nicht für kleinere Ansichten stapelt? – jas7457

+0

Vielleicht ist das mehr, was Sie suchen - mit Bootstrap geladen in: https://jsfiddle.net/90wzj4t0/ – jas7457