XHTMLforum

XHTMLforum (http://xhtmlforum.de/index.php)
-   CSS (http://xhtmlforum.de/forumdisplay.php?f=73)
-   -   Image Flexbox (http://xhtmlforum.de/showthread.php?t=74121)

hatschiii 03.08.2020 16:31

Image Flexbox
 
Ich will mir eine image flex-box bauen die so aussieht:

https://dlgo.de/teaser.jpg

Jetzt sollen hier 4 Teaser nebeneinander stehen die jeweils 25% der Breite in Anspruch nehmen. Verändert man die Fensterbreite verändert sich die Breite der teaser. Das Problem ist, dass der Inhalt (Content) unterschiedlich lang ist
Der Teaser soll aber immer die gleiche Höhe haben und der Link immer am unteren Rand stehen.

Besteht der Content bei 3 Teasern aus 3 Zeilen, bei einem aus 2 Zeilen müsste bei dem mit 2 Zeilen "quasi" eine Leerzeile eingefügt werden.

Praktisch sieht das so aus das der Content Bereich immer die gleiche Höhe haben soll wie der des höchsten content bereichs der anderen Teaser.

Das das mit Flexbox geht ist mir klar... nur bin ich kein Programmierer und gerade gnadenlos am scheitern. Hoffe hier kann mir jemand helfen!?

hatschiii 03.08.2020 16:42

Der Teaser besteht sozusagen aus 4 Elementen und es sollen alle Elemente immer gleich hoch sein. Für jedes Element bestimmt das höchste Element die Höhe der anderen gleichen Elemente

Per flexbox den gesamten Teaser auf eine Höhe setzen ist einfac... Es sollen jedoch die einzelnen Elemente des Teasers auf eine Höhe gesetzt werden. Als alle Imgae Elemente eine Höhe, alle Title Elemente eine Höhe, alle Content Elemente eine Höhe und alle Link Elemente eine Höhe.

Das reicht fürs erste. :) Allerding... wenn die Gesamtbreite zu schmal wird soll das Ganze umbrechen in 2 Zeilen udn 2 Spalten. Das ist auch einfach... nur sollen dann nicht alle Content Elemente die gleiche Höhe haben sondern alle Content Elemente in der gleiche Zeile :)

hatschiii 03.08.2020 17:14

Was ich jetzt habe ist das der Content Bereich in einem <p></p> Element steht
Kann ich hieraus <p class="flex-item"></P> machen und irgendwie definieren das alle Klassen "flex-item" immer die gleiche Höhe haben?

hatschiii 03.08.2020 17:49

Ok, hier der Code den ich habe und das Ergebnis. Jetzt muss nur noch der Content Bereich in jeder Zeile in gleiche Höhe gebracht werden und dabei "Read me" in einer Linie stehen :)

1 Zeile und 4 Spalten (Desktop)
https://dlgo.de/teaser4.jpg

2 Zeilen und 2 Spalten (Tablet) !!! In der 1. Zeile muss die linke Box höher werden, die 2. Zeile soll aber NICHT höher werden.
https://dlgo.de/teaser2.jpg


Und hier der HTML und CSS Code. Für jeden Teaser wird der gleiche HTML Code ausgespielt, es gibt aber eine class="container" die alle Teaser umfasst.

PHP-Code:

/* HTML */

<div class="uc_classic_content" id="{{uc_id}}">
        <
div class="uc_classic_content_container_holder" style="background-color:{{bg_color}};">
            <
div class="uc_classic_content_placeholder">
                <
img src="{{image}}" alt="">
            </
div>
            <
div class="uc_classic_content_content">
                <
h2 style="color:{{primary_color}};">{{title|raw}}</h2>
                <
p style="color:{{primary_color}};">{{content|raw}}</p>
                <
class="uc_more_btn" style="color:{{primary_color}}; border:{{btn_border}} 1px solid; background-color:{{bg_color}};" href="{{link}}" target="{{target}}">{{btn_text|raw}}</a>

            </
div>
        </
div>
   </
div>

/* CSS */

#{{uc_id}} .uc_classic_content_content  
{
    
color:{{btn_hvr_clr}} !important;
    
border:{{btn_hvr_clr}} 0px none !important;
    
box-shadow:#ffffff 0px 0px 0px  ;
      
vertical-aligntop !important;
}
.
uc_classic_content .uc_classic_content_container_holder {
     
padding0px !important
    
box-shadow:#ffffff 0px 0px 0px  ;
}
.
uc_classic_content .uc_classic_content_content .uc_more_btn {
    
padding-bottom10px !important;
      
line-height14px !important;
}
.
uc_classic_content .uc_classic_content_placeholder {
     
padding-bottom15px !important
     
background-color:#fafafa;
}
.
uc_style_image_card_content_box_elementor_content {
     
font-size14px !important;
}
.
uc_classic_content .uc_classic_content_content p {
     
margin-bottom26px
}
.
uc_more_btn {
      
border#fafafa !important;
}



hatschiii 03.08.2020 19:48

https://dlgo.de/video.mp4

hatschiii 03.08.2020 22:58

Gerade entdeckt... das macht genau was es soll... nur bekomme ich es nicht "umgeschrieben" auf meinen Code :(

https://codepen.io/jensgro/pen/jqrXbj

Glaube ich brauche jetzt nen Sandsack

cloned 05.08.2020 09:35

Also du hast bei deinem Quelltext viel zu viele Elemente, da müsste man zuerst aufräumen. Bau doch die Struktur auf wie bei deinem Codepen?
Verzichte auch auf !important, das brauchst du bei deiner Problemstellung nun wirklich nicht.

hatschiii 05.08.2020 13:11

Danke cloned... habe das mal alles umgebaut wie bei codepen :) ...und es funktioniert.
Manchmal steckt amn einfach fest und sieht die einfachsten Lösungen nicht


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:48 Uhr.

Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.

© Dirk H. 2003 - 2023