Kính gửi tất cả, tôi đã thử CSS Vị trí: Tài sản cố định nhưng nó hoạt động bình thường trên Firefox và IE (hack cho IE6), nhưng nó không hoạt động Chrome. Tôi nghĩ Chrome là người mới nhất sẽ hỗ trợ nó rất dễ dàng nhưng vẫn không phải vậy. Tôi đã thử ra < thead>, < tfoot> < tbody> lại hoạt động trong IE và Firefox, nhưng có vấn đề trong Chrome. Xin vui lòng bất kỳ ai có một giải pháp thay thế cho nó.In chân trang trên mọi trang được in từ trang web, trên tất cả các trình duyệt (Chrome)
Trả lời
Đây là mã tôi sử dụng. Lưu ý tôi thiết lập cả html và chiều cao cơ thể đến 100%.
@media print {
html, body {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
}
#footer {
position: absolute;
bottom: 0;
}
}
Điều này không giải quyết được vấn đề gì cả. Nó sẽ làm cho chân trang được in trên trang cuối cùng mà thôi. Nó thậm chí phanh nó trong các trình duyệt làm việc với vị trí cố định. –
Có vẻ như Chrome [webkit] có cách xử lý vị trí khác nhau: được khắc phục trong bảng định kiểu in so với phần còn lại của trình duyệt.
Vì vậy, câu trả lời hiện tại cho câu hỏi này là:
Không có giải pháp thích hợp cho điều này trong Chrome.
Trong khi FF và IE hiển thị trên mọi trang, Opera không hiển thị gì cả và trình duyệt webkit chỉ hiển thị trên trang đầu tiên.
nhỏ tập tin thử nghiệm:
<!DOCTYPE HTML>
<html lang="en-US">
<head>
\t <meta charset="UTF-8">
\t <title>print css test by mtness</title>
\t <style type="text/css">
\t @media print {
\t \t #watermark {
\t \t \t display: block;
\t \t \t position: fixed;
\t \t \t top: 0;
\t \t \t right: 0;
\t \t \t z-index: 5;
\t \t }
\t \t p {
\t \t \t position: relative;
\t \t \t top: 40pt;
\t \t \t display: block;
\t \t \t page-break-after: always;
\t \t \t z-index: 0;
\t \t }
\t }
\t </style>
</head>
<body>
\t <div id="watermark">AWESOME!</div>
\t <p>page1</p>
\t <p>page2</p>
\t <p>page3</p>
</body>
</html>
nguồn lực hơn nữa có thể được tìm thấy ở đây:
http://room118solutions.com/2011/03/31/styling-print-headers-and-footers-with-css/
http://css-discuss.incutio.com/wiki/Printing_Headers
http://www.andypemberton.com/css/print-watermarks-with-css/
trang kiểm tra:
http://www.andypemberton.com/sandbox/watermark/
HTH. Trân trọng, mtness.
Tính đến tháng 6 năm 2015, điều này vẫn đúng với chrome. – mtness
Xem câu trả lời của tôi bên dưới để biết giải pháp có thể cập nhật cho vấn đề này, @mtness – lastmjs
[Lặp lại tiêu đề bảng trên trang đã in] (https://bugs.chromium.org/p/chromium/issues/detail?id=24826) đã được khắc phục trên Chrome vào ngày 5 tháng 6 năm 2016. Tôi có phiên bản 51.0.2704.103 trên Mac OS X và nó hoạt động. – Ricardo
Chỉnh sửa: Rõ ràng lỗi đã được sửa, vì vậy thư viện tôi chia sẻ bên dưới có thể không còn được sử dụng nữa.
Từ tất cả các nghiên cứu của tôi, chính xác là không có cách nào để có được vị trí: cố định để hoạt động trong Chrome. Đây là liên kết đến số bug trên trang dự án Chromium.
Trong thời gian chờ đợi, tôi đã tạo một dự án mã nguồn mở cho phép bạn in đầu trang và chân trang trong Chrome. Đó là vào đầu năm phát triển nhưng nó hoạt động, tùy thuộc vào cấu trúc của layout html của bạn:
https://github.com/byuarchdi/print-headers-and-footers
Đó là một tiến bộ công việc theo, và nó dựa chủ yếu trên CSS Regions Polyfill. Nhưng tôi đang sử dụng các kỹ thuật trong thư viện này để có hiệu quả rất tốt đối với một dự án tại nơi làm việc.
Lỗi đã được đánh dấu là cố định vào tháng 4 năm 2016. –
Nó đã được sửa chữa trong một thời gian, dường như nó lại bị hỏng ... ít nhất là trong webview của Android. Rất lạ. – fattire
Trong Chrome, tôi luôn nhận được "Không bắt buộc (lời hứa) LoạiError: document.getNamedFlow không phải là chức năng" ngay cả trong ví dụ của bạn – Ruwen
Tôi đã hoàn thành việc sử dụng bảng, nhưng chỉ cho tiêu đề trong chrome. Tôi đã đặt nội dung lặp lại trên thẻ thead và nội dung trang trong tbody, do đó trình duyệt đã hiểu chính xác.
Tuy nhiên, tôi đã gặp lỗi trong nội dung lớn HTML. Trong một số trường hợp, nội dung chồng chéo tiêu đề. Trong ngày mà tôi đăng bài này, vẫn không tìm thấy một giải pháp.
When printing tables in Google Chrome, content overlaps header
- 1. Chân trang ở trang in cuối cùng
- 2. Xóa phần đầu trang và chân trang của trình duyệt mặc định khi in HTML
- 3. Dấu trang trình duyệt Chrome trên android
- 4. Chân trang in ở cuối trang trong safari
- 5. Có thể in một chân trang khác nhau trên mỗi trang không?
- 6. Khả năng in đầu trang/chân trang HTML
- 7. Làm thế nào để có được khả năng tương thích trình duyệt chéo trong In trên trang từ tất cả các trình duyệt?
- 8. Bố cục in CSS - In trên một trang đơn
- 9. In văn bản được xoay từ trang web
- 10. Tôi làm cách nào để in một trang web với tất cả kiểu css được gắn vào trang?
- 11. Trang CSS-Break không hoạt động trên tất cả các trình duyệt
- 12. Cách in tiêu đề của GridView trên mỗi trang in
- 13. Làm thế nào để in trên giấy đã in từ một trang web?
- 14. Tạo đầu trang và chân trang của trang bằng cách sử dụng CSS để in
- 15. In nhiều trang bằng Javascript
- 16. Phân trang trong CodeIgniter: tất cả dữ liệu được in trong một trang duy nhất
- 17. Làm hình ảnh chân trang ở cuối trình duyệt web hoặc trang
- 18. Làm thế nào để tìm tất cả các liên kết/trang trên một trang web
- 19. Làm cách nào để in nhiều trang trên trang A4 mà không có lề trang?
- 20. Đầu trang và chân trang tùy chỉnh trong trang html
- 21. Tự động in hình ảnh từ trang web
- 22. trang đơn hiển thị, nhiều trang in vấn đề
- 23. Định vị hoàn toàn mọi thứ trên một trang web?
- 24. Phần tử chỉ hiển thị trên trang in
- 25. jQuery Mobile: Sử dụng cùng một tiêu đề chân trang cho tất cả các trang
- 26. Tắt tất cả điều khiển biểu mẫu trên trang web
- 27. $(). Load() thay vì tải toàn bộ trang, nhưng cần giữ menu trên tất cả các trang
- 28. mPDF vô hiệu hóa số trang, đầu trang và chân trang trên trang đầu tiên
- 29. In một trang mà không hiển thị trang đó?
- 30. Firefox chỉ in trang 1
Xin chào! Tôi cũng gặp phải vấn đề này. Có vẻ như chrome xử lý vị trí in: cố định khác với tất cả các vị trí khác. Chết tiệt ... Sẽ đào sâu hơn vào cái này. – mtness