2017-04-03 11 views
-1

Ich versuche, ein Raster von Bildern in einem 2x2 (horizontal x vertikal) Raster zu machen. Wenn der Bildschirm auf eine kleinere Größe verkleinert wird, möchte ich, dass diese Bilder in einem vertikalen 1: 4-Format angezeigt werden, sodass sie den größten Teil ihrer Größe beibehalten. Ich habe einige verwandte Artikel von verschiedenen Websites gefunden, die alle den Inhalt der gesamten Seite ausfüllen. Das möchte ich nicht machen. Das folgende Bild zeigt, wie das 2x2-Raster aussehen sollte. In der geänderten Version der Website ist es völlig in Ordnung, dass die Bilder den gesamten Bildschirm ausfüllen. Wie würde ich das machen?2x2 Image Responsive Image Grid

Ich habe jetzt ein paar Screenshots von, wie ich möchte, dass das Endprodukt grob aussehen, aber mit Bildern anstelle der roten Quadrate.
e.g. desktop resolution
e.g. smartphone resolution

.imageLineTop { 
 
\t display: inline-block; 
 
\t width: 100%; 
 
\t height: 725px; 
 
\t top: 60%; 
 
\t left: 50%; 
 
\t transform: translate(50%, 50%); 
 
} 
 

 
.imageLineBottom { 
 
\t display: inline-block; 
 
\t margin-top: 45px; 
 
\t width: 100%; 
 
\t height: 725px; 
 
\t top: 60%; 
 
\t left: 50%; 
 
\t transform: translate(50%, 50%); 
 
} 
 

 
#img0 { 
 
\t height: 700px; 
 
} 
 

 
#img1 { 
 
\t height: 700px; 
 
} 
 

 
#img2 { 
 
\t height: 700px; 
 
} 
 

 
#img3 { 
 
\t height: 700px; 
 
} 
 

 
#fadeBox0 { 
 
\t width: 478px; 
 
\t height: 700px; 
 
\t background-color: black; 
 
\t opacity: 0.5; 
 
\t left: 24%; 
 
\t position: absolute; 
 
\t display: none; 
 
} 
 

 
#fadeBox1 { 
 
\t width: 478px; 
 
\t height: 700px; 
 
\t background-color: black; 
 
\t opacity: 0.5; 
 
\t right: 24%; 
 
\t position: absolute; 
 
\t display: none; 
 
} 
 

 
#fadeBox2 { 
 
\t width: 478px; 
 
\t height: 700px; 
 
\t background-color: black; 
 
\t opacity: 0.5; 
 
\t left: 24%; 
 
\t position: absolute; 
 
\t display: none; 
 
} 
 

 
#fadeBox3 { 
 
\t width: 478px; 
 
\t height: 700px; 
 
\t background-color: black; 
 
\t opacity: 0.5; 
 
\t right: 24%; 
 
\t position: absolute; 
 
\t display: none; 
 
}
\t <!--Top image line--> 
 
\t \t <section class="imageLineTop"> 
 
\t \t \t <img class="discoverImage" id="img0" src="assets/imgs/1.jpg"> 
 
\t \t \t <img class="discoverImage" id="img1" src="assets/imgs/2.jpg"> 
 

 
\t \t \t <section id="fadeBox0"> 
 
\t \t \t \t <h3 class="imageInlineTitle">Purity.</h3> 
 
\t \t \t </section> 
 

 
\t \t \t <section id="fadeBox1"> 
 
\t \t \t \t <h3 class="imageInlineTitle">Style.</h3> 
 
\t \t \t </section> 
 
\t \t </section> 
 

 
\t \t <!--Bottom image line--> 
 
\t \t <section class="imageLineBottom"> 
 
\t \t \t <img class="discoverImage" id="img2" src="assets/imgs/3.jpg"> 
 
\t \t \t <img class="discoverImage" id="img3" src="assets/imgs/4.jpg"> 
 

 
\t \t \t <section id="fadeBox2"> 
 
\t \t \t \t <h3 class="imageInlineTitle">Integrity.</h3> 
 
\t \t \t </section> 
 

 

 
\t \t \t <section id="fadeBox3"> 
 
\t \t \t \t <h3 class="imageInlineTitle">Courage.</h3> 
 
\t \t \t </section> 
 
\t \t </section>

+0

So platzieren Sie einfach diese 2 Bilder in Mutter div mit einigen max-width und die div Eltern-Center. –

+0

können Sie Ihren Code posten? – Tommy

+0

Sicher, lade es jetzt hoch. – Josh

Antwort

0

Ich bin nicht ganz sicher, was Ihr Endziel ist hier, aber Sie können Ihre Bilder gehen auf neue Linien machen, sobald das Fenster kleiner als ihr tatsächliches ist Größe:

.img0, .img1, .img2, .img3 {position: relative} 

Denken Sie daran, in dieser Situation keine prozentuale Breite zu verwenden.

Bitte beachten Sie die Fiddle unten. Hoffentlich hilft es.

https://jsfiddle.net/7rtb084r/

+0

Vielen Dank dafür! Seit ich die Frage gestellt hatte, war es mir gelungen, etwas Ähnliches zu erarbeiten, aber ich kämpfe immer noch, weil ich auch möchte, dass das "Raster" immer zentral positioniert ist. Wenn es also 2x2 ist, liegt der Mittelpunkt zwischen den zwei Bildern in einer Reihe bei 50% der Bildschirmbreite, und wenn die Größe auf 1x4 geändert wird, liegt die Mitte des Bildes bei 50% der Bildschirmbreite. Tut mir leid, wenn ich mich nicht klar mache, ich kämpfe nur darum, mich zu verstehen, was ich hier mache, also weiß ich nicht, wie ich meine Worte zu Papier bringen soll. – Josh

+0

@Josh Dazu müssten Sie die einzelnen Bilder in ein Eltern-Div setzen und dann {margin-left: auto; Rand rechts: Auto; Breite: 1010px} zum Elternteil. Dies setzt voraus, dass die Bilder 500 Pixel groß sind. Siehe diese Geige: https://jsfiddle.net/7rtb084r/4/ – DM98

+1

Danke, ja, das bringt mich dahin, wo ich will. Wenn ich jedoch die beiden Fideln kombiniere, scheint es nicht zu funktionieren. Sie werden korrekt unabhängig voneinander funktionieren, aber wenn sie kombiniert werden, werden sie nicht funktionieren. Irgendwelche Tipps, wie man sie kombiniert, würden sehr geschätzt werden, also danke im Voraus! – Josh