Jak osiągnąć max-width w IE
09 marca 2006
Max-width pozwala ustawić maksymalną szerokość dla elementu - gdy zawartości jest mniej, blok zmniejsza się do niej dopasowując. Jeśli natomiast zawartości jest tyle, że wychodzi poza ustawioną wartość, blok przestaje się rozszerzać zatrzymując na maksimum. W ten sposób można zbudować prosty layout, który będzie dość szeroki, żeby wygodnie pomieścić trzy kolumny, ale na rozdzielczościach DTP nie spowoduje powstania lotniska - nie do przeczytania.
Ale max-width nie działa na IE. Jak tam to zrobić? Skorzystać z jednego z wielu backdoorów jakie sobie MS zostawił.
width: expression(document.body.clientWidth > 901 ? "900px" : "auto");
Nie waliduje się, więc trzeba to ukryć - ale pewnie wiesz jak. ;-) Pamiętaj tylko, że gdy jakimś cudem ustawiłeś layout dla body, to clientWidth zwraca 0 i z metody nici. Ale tak - to działa. Sprawdź sam.
Wartości w wyrażeniu powinny się różnić, aby strona nie zamarzała podczas zmieniania rozmiaru okna.


