Ich habe mal eine grundsätzliche Frage. Wie soll das Layout deiner Seite überhaupt sein?
Die Boxen untereinander? ... warum nutzt du dann 'flex-direction: row;'? .. warum dann überhaupt Flexbox -macht nach meiner Einschätzung die Sache nur unnötig kompliziert. Div's einfach sequentiell untereinander zu platzieren macht HTML eigentlich von ganz alleine.
Aber ist natürlich auch nicht falsch, wenn man es auf den komplizierten Weg macht ;)... dann aber bitte richtig!
Versuche mal folgendes in deinem CSS - zunächst mal zum Testen einfach nur ganz unten einfügen.
Code
main .post-list-item {
display: flex;
flex-direction: column;
}
main #all-post .flex-flex .main-flex {
width: 100%;
}
main article div div section p.text-length {
width: 99%;
}
Wenn das funktioniert, dann die entsprechenden Formatierungen im Stylesheet überarbeiten.