HTML/CSS are vector graphics. You have the css measurement unit "px" (which is always 72ppi and might therefore be a bit misleading) but it's not actually raster graphics - and it should hopefully be treated like vectors by the printer software. If you find lines, text and such printed in 72dpi you can be pretty sure the problem is your printer/renderer software. Try another browser or save it to PDF first (I know Chrome can do that natively).
However since the CSS measurement unit "px" is 72ppi, raster graphics (=png, jpg and gif images) are always treated as 72ppi - even if they are saved in another resolution. But you can force images to the desired resolution by resizing them. If I have an image that's 5x5 centimeters
(=2x2 inches
) I need to save it as 600x600px
, but set its CSS width property to 144px
(which is width*(72/300)
) to make it look like 5 centimeters on the website.
If the images are resized to the proper resolution you should be able to print it at 300dpi without any problems - especially if you save it to a pdf first. Otherwise it's most likely the printer/printer software.
Keep in mind that web is not print and a webpage can't be expected to look exactly alike on screen and print - and that's the whole point.If that's what you're looking for you should just go with PDF instead.