Wow! This was a royal pain. See Mozilla bug report for Firefox print mode.
The fix: Change display: flex
to display: block
. Too bad about your flexbox, but in print mode readability is more important than design and layout.
Luckily, almost every instance of display: flex
is from Foundation's new XY Grid, so it's fairly easy to disable flex
grids everywhere on the site by simply overriding the grid-x
or grid-y
classes.
@media print {
.grid-x, .grid-y {
display: block;
}
}
For a more powerful use case, we may want to disable this print helper for certain elements. Use .grid-printable
to disable this override.
@media print {
.grid-x:not(.grid-printable),
.grid-y:not(.grid-printable) {
display: block;
}
}
Finally, if we override the grids in print, and force grid cells to fall below each other, we should make them full width and align the text to the left just in case.
@media print {
.grid-x:not(.grid-printable),
.grid-y:not(.grid-printable) {
display: block;
}
.grid-x:not(.grid-printable) > .cell,
.grid-y:not(.grid-printable) > .cell {
width: 100%;
text-align: left;
}
}
With luck, this may eventually make it into Foundation 6.