Jeśli chodzi o prawdziwą „uniwersalną odpowiedź”, nie mogę jej udzielić. Mogę jednak udzielić prostej i ostatecznej odpowiedzi na niektóre szczegóły ...
670 PIKSELI
Przynajmniej wydaje się to bezpieczną odpowiedzią dla produktów Microsoft. Czytałem wiele sugestii, w tym 675, ale po przetestowaniu tego samemu 670 jest tym, co wymyśliłem.
Pomijając wszystkie DPI, problemy z marginesami, różnice sprzętowe, ta odpowiedź opiera się na fakcie, że jeśli używam podglądu wydruku w IE9 (ze standardowymi marginesami) - i USTAWIAM ROZMIAR DRUKU NA 100% zamiast domyślnego „zmniejsz, aby dopasować” , wszystko mieści się na stronie bez ucinania na tej szerokości.
Jeśli wyślę do siebie wiadomość e-mail w formacie HTML i otrzymam ją w programie Windows Live Mail 2011 (czym stał się Outlook Express) i wydrukuję stronę o szerokości 670 - znowu wszystko pasuje. Jest to prawdą, jeśli wyślę go do rzeczywistego wydruku lub pliku MS XPS (wydruk wirtualny).
Zanim zacząłem eksperymentować, użyłem dowolnej szerokości 700. We wszystkich opisanych powyżej scenariuszach odcinano część strony. Kiedy zmniejszyłem do 670, wszystko pasowało idealnie.
Jeśli chodzi o ustawienie szerokości - po prostu użyłem prymitywnej „opakowującej” tabeli html i zdefiniowałem jej szerokość na 670.
Jeśli możesz dyktować oprogramowanie użytkownika końcowego, takie sprawy mogą być proste. Jeśli nie możesz (jak to zwykle bywa w przypadku), możesz przetestować szczegółowe informacje, takie jak przeglądarki, których używają, itp. I zakodować na stałe rozwiązania dla ważnych. Między IE a FF pokryjesz dosłownie około 90% użytkowników sieci. Wpisz inny kod dla „wszystkich innych”, który generalnie wydaje się działać i nazwij to dniem ...
width:auto
który dostosuje szerokość treści do szerokości papieru