การพิมพ์หน้าเว็บเพจออกมาทางเครื่องพิมพ์นั้น ส่วนใหญ่หน้าเว็บเพจ ที่พิมพ์ออกมาจะมีการแสดงผลที่ผิดพลาดไป แต่ด้วย CSS สามารถที่จะทำให้ปัญหาในการแสดงผลที่ผิดพลาดหายไปได้ โดยสร้างไฟล์ CSS ที่ใช้สำหรับควบคุมการแสดงผลเมื่อมีการสั่งพิมพ์ โดยทำการลิงค์ไฟล์ CSS สำหรับพิมพ์นี้เข้ากับไฟล์ HTML ด้วยการแทรก
<link rel=”stylesheet” href=”=ชื่อไฟล์ CSS” media=”print” />
ต่อจากการลิงค์ไปยังไฟล์ CSS ที่ใช้ควบคุมการแสดงผลบนหน้าจอทั่วไป
มีข้อควรพิจรณาสำหรับการแสดงผลบนหน้าจอคอมพิวเตอร์ และการแสดงผลเมื่อพิมพ์ออกมาทางเครื่องพิมพ์ดังนี้
สิ่งที่การแสดงผลทางเครื่องพิมพ์ไม่สามรถทำได้
-ไม่สามารถคลิกที่ลิงค์ เพื่อไปยังลิงค์ปลายทางได้
-ไม่สามารถทำการ Search การส่งค่าตัวแปรต่างๆได้
-ซูมเข้า-ออก รูปภาพ แผนที่ หรือเปลี่ยนขนาดของตัวอักษรได้
-ไม่สามารถส่งอีเมล์ให้เพื่อนได้
-ไม่สามารถใช้ Scroll เลื่อนดูเนื้อหาได้
-ไม่สามารถส่ง feedback ได้
แต่เราสามารถที่จะ
-ซ่อนเนวิเกชั่นต่างๆไม่ให้แสดงผลได้
-ซ่อนการแสดงผลการลิงค์ ต่างๆได้
-ซ่อนการแสดงผลของ Search หรือ ฟอร์มต่างๆได้
การทำไฟล์ CSS สำหรับการพิมพ์ อาจจะต้องพิจารณาเรื่องดังนี้
การใช้รูปแบบตัวอักษร
ควรใช้อักษรที่มีลักษณะเป็นเส้นเล็กๆ เนื่องจากการแสดงผลบนหน้าจอ กับการแสดงผลสำหรับการพิมพ์นั้นต่างกัน การใช้อักษรที่มีลักษณะเส้นเล็กนั้นจะทำให้สามารถอ่านได้ง่ายขึ้น โดยรูปแบบอักษรที่เหมาะสม เช่น Sans-serif fonts (อย่างเช่น Verdana, Arial, and Helvetica)

ตรวจสอบความกว้างของหน้าจอ
ถ้ากำหนดความกว้างของหน้าเว็บเพจเป็น พิกเซล ให้เปลี่ยนหน่วยวัดเป็น เซนติเมตร มิลลิเมตร หรือ นิ้ว แทน เพื่อให้แน่ใจว่าเครื่องพิมพ์ของผู้ใช้งานจะสามารถพิมพ์ออกมาได้ทั้งหมด เพราะเครื่องพิมพ์ของผู้ใช้แต่ละคนจะพิมพ์ออกมาได้ในลักษณะที่ต่างกัน เช่นบางเครื่องสามารถพิมพ์ออกได้ถึงขอบกระดาษ แต่บางเครื่องก็ไม่สามารถทำได้
การกำหนดระยะห่างของเนื้อหาภายในกับขอบกระดาษนั้น อาจจะวัดระยะห่างออกจากด้านใดด้านหนึ่งของขอบเป็นขนาด 1/4 นิ้ว
ข้อผิดพลาดของการพิมพ์ กับตำแหน่ง ที่กำหนดใน CSS
ตำแหน่งของ Layout ที่ถูกกำหนดด้วย CSS นั้นอาจจะมีการแสดงผลที่ผิดพลาดได้ เมื่อทำการพิมพ์ออกมา การแก้ไขสามารถทำได้โดยการกำหนดค่า float ของ Layout สว่นนั้นๆเป็น none และค่า position เป็น static
ให้ข้อมูลเกี่ยวกับไฟล์ที่พิมพ์
การทำเว็บให้สามารถแสดงผลสำหรับเครื่องพิมพ์นั้นเป็นเรื่องที่ยากในการกำหนดว่าจะให้แสดงผลอะไรบ้าง บางคนอาจจะถามว่า “ทำไม หน้าเว็บเพจพิมพ์ออกมาแล้วไม่สมบูรณ์?” ผู้ใช้ส่วนใหญ่ความหวังว่าได้ เห็นเว็บเพจบนหน้าจออย่างไร เมื่อพิมพ์ออกมาก็ต้องเป็นอย่างนั้น เพราะฉะนั้นจำเป็นที่จะต้องให้ ข้อมูล อาจจะสร้าง div ขึ้นมา div หนึ่ง โดยที่กำหนดค่าใน CSS ทั่วไปให้ display เป็น none แต่เมื่อแสดงสำหรับการพิมพ์ กำหนดค่าเป็น block เพื่อแสดงข้อมูล บางอย่าง เช่น “หน้านี้ เป็นการแสดงผลสำหรับเครื่องพิมพ์” เป็นต้น
ใส่ URL ลงในไฟล์ที่จะพิมพ์ออกมา
หน้าเว็บเพจจะมีลิงค์ต่างๆ ที่สามารถคลิกได้ เพื่อดูว่าจะลิงค์ไปยังปลายทางที่ใด แต่เมื่อพิมพ์ออกมาแล้วจะไม่สามารถรู้ปลายทางของ ลิงค์นั้นได้ ดังนั้นจึงมี 2 ทางของปัญหาเรื่องนี้ 2 ทางด้วยกันคือ
1. นำเอาสัญลักษณ์ที่แสดงถึงการ ลิงค์ได้ออก เช่น เส้นใต้ลิงค์
2. ใส่ URL ต่อท้าย ลิงค์ นั้นๆ โดยสามารถทำได้ดังนี้a:after {
content: ” (” attr(href) “) “;
}
แทรกลงในไฟล์ CSS สำหรับการพิมพ์
ข้อแนะนำ
บางครั้งไม่ต้องการให้มีการแสดง URL ของลิงค์ทั้งหน้าเว็บเพจ สามารถกำหนดให้แสดงลิงค์เฉพาะ class หรือ id ใดๆได้ เช่นต้องการให้แสดงURL เฉพาะ กับลิงค์ที่อยู่ภายใน #content สามารถกำหนดได้ดังนี้
#content a:after {
content: ” (” attr(href) “) “;
}
***เทคนิคข้างต้นไม่รองรับการทำงานของ IE 7 และเวอร์ชั่นที่ต่ำกว่า
การควบคุมการแสดงผลสำหรับการพิมพ์ ด้วย CSS นั้น จะเป็นประโยชน์ต่อผู้ใช้งานเป็นอย่างมาก เพราะจะทำให้ผู้ใช้ได้รับข้อมูลที่ต้องการในหน้ากระดาษอย่างเต็มที่ และไม่ต้องเสียพื้นที่การดาษไปกับสิ่งที่ไม่ต้องการอีกด้วย