I'm trying to create a printable page using Angular (5+), however I'm having trouble with the styles.
The content I'm trying to print is inside a component and the style is being sent with a file defined under the stylesUrls, like this:
@Component({
    templateUrl: 'print-page.html',
    styleUrls: [
        '_print-page.scss'
    ],
})
Ant the styles like this:
@media print {
    body *:not(#print),
    aside {
        display: none !important;
    }
    #print {
        figure {
            display: none;
        }
    }
}
But when I open the print tab the page the figure elements are hidden, but the the aside element, for example, is still showing on the page. It's not being hidden.
I tried to move the styles out of the component and set it direct on the styles file. When I do this, the other elements are hidden, including the div to be printed. No matter what I do, I can't prevent the style to show only the #print div.
What should I do?
if you are using angular cli move your print scss to .angular-cli.json file. In this way it will be available and ready when your component loaded.
  "prefix": "xyz",
  "styles": [
    "_print-page.scss",
    "style.scss",
You can read view reder option for more details
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With