Weź ten banalny przykład i otworzyć go:HTML/CSS: Dlaczego ciało nie rozciąga się do jego zawartości?
<html>
<body style="background-image:url(http://upload.wikimedia.org/wikipedia/commons/2/21/Mandel_zoom_00_mandelbrot_set.jpg);background-repeat: no-repeat; background-position: top center;">
<div style="width: 8000px; border: 3px solid red;">Demo</div>
</body>
</html>
Strona jest wykonana tak, że ciało ma górną skoncentrowane obraz tła i zawierającą element, który przelewa granice okna więc jest przewijanie w poziomie (jeśli masz monitoruj szerzej niż 8000px, wtedy jesteś naprawdę fajny, zmniejsz okno i odśwież).
Problem polega na tym, że z jakiegoś powodu <body>
nie rozciąga się, aby zawierać <div>
. Pozostaje on na tej samej szerokości co okno ekranu i przepełnia je. To z kolei powoduje, że tło jest wycentrowane w niewłaściwym miejscu i przycina je do rozmiaru rzutni. Całkiem brzydko, gdy przewijasz w prawo.
Znalazłem już rozwiązanie tego problemu, ale zastanawiam się, DLACZEGO to jest tak? Wydaje się być również spójny w różnych przeglądarkach. Ale moim zdaniem jest to całkowicie sprzeczne z intuicją i zasadniczo niepoprawne błędne. Element pojemnika powinien być wystarczająco duży, aby pomieścić jego dzieci - o ile nie są one bezwzględnie ustawione, w takim przypadku nie biorą udziału w obliczeniach układu.
Hej. Powrót do tego 2 lata później i szukam tego samego rozwiązania, które mówisz, że znalazłeś. Odpowiedź Bobince'a nie pomaga, bardzo .. (Czy opcja jest jedyną opcją?) – SoreThumb
Nadal używam float. Sprawdź to tutaj: http://www.drowtales.com –