Maksymalna szerokość z procentem nie działa w IE 8 ani Firefox 3. Właściwe szerokości piksela działają dobrze. Czy czegoś brakuje?Maksymalna szerokość CSS z procentem
Mam formularz wejściowy i chcę wyświetlić tekst objaśniający po prawej stronie. Ale nie chcę, aby tekst wyjaśniający niszczył formę.
Nie korzystałem jeszcze z szerokości maksymalnej, ale wydawało się to doskonałym rozwiązaniem. Napisałem ten prosty styl CSS:
div.hint {max-width: 50%; float: right;}
Potem napisał:
<div class=hint>... hint text</div>
<form action=xxx method=post>
... etc ...
div.hint zgniecie formę poważnie w lewo.
Próbowałem tego z tylko trochę tekstu zamiast formularza. Div.hint zajmuje około 95% ekranu, po prostu daje niewielki margines po lewej stronie, a następnie drugi tekst jest pchnięty całkowicie poniżej niego.
Jeśli zmienię maksymalną szerokość z procentu na stałą liczbę pikseli, wygląda na to, że działa. Ale nie chcę oprzeć go na pikselach, ponieważ nie znam wymiarów przeglądarki użytkownika.
Czy procent nie działa z maksymalną szerokością pomimo tego, co przeczytałem w dokumentacji, czy coś mi brakuje?
W odpowiedzi na komentarz Seanmonster za: Tutaj dam trywialny ale kompletną stronę internetową, która pokazuje, co myślę powinny działać, ale nie:
<html><title>Max width test</title>
<style>
.form {max-width: 75%; float: left;}
.hint {max-width: 50%; float: right;}
</style>
<div class=hint>
<p>Fourscore and seven years ago our forefathers brought forth on this continent a new nation, conceived in liberty and dedicated to the proposition that
all men are created equal. We are now engaged in a great civil war, testing whether that nation, or any nation so conceived and so dedicated,
can long endure. We are met on a great battlefield of that war. We have come to dedicate a portion of that field as a final resting place
for those who here gave their lives that that nation might live. It is altogether fitting and proper that we should do this. Etc.
</div>
<div class=form>
<table>
<tr><th>Label 1 <td>Value 1
<tr><th>Label 2 <td>Value 2
<tr><th>Label 3 <td>Value 3
</table>
</div>
</html>
Kiedy otworzyć tę stronę w przeglądarki, dostaję, nie dwie kolumny, ale "podpowiedź" div biorąc 100% szerokości, a poniżej "div" formularza biorąc 100% szerokości. Jeśli zmienię zarówno maksymalną szerokość na "szerokość: 50%", otrzymam dwie kolumny, jak można się spodziewać. Najwyraźniej brakuje mi czegoś o tym, jak powinna działać maksymalna szerokość, ale ... Nie rozumiem.
Z dałeś informacji, problem nie powinien istnieć. Być może dasz nam link do przykładu, abyśmy mogli zobaczyć, jak dzieje się to na wolności. – seanmonstar
Otworzyłem twój przykładowy kod w FF3.5.3 na komputerze Mac i PC i działało dobrze. Dostaję zachowanie, które opisujesz w IE 7, i nie masz 8 do przetestowania. – Emily
@Emily: Próbowałem tylko powyższego przykładu z IE 8 przed opublikowaniem go. Powiem ci na słowo, że działa z Firefoksem. Ale próbowałem innych, podobnych przykładów, które zawiodły podobnie w Firefoksie, więc najwyraźniej nie są one całkowicie odporne na główną przyczynę.W każdym razie naprawdę chcę czegoś, co działa z przynajmniej IE 7, IE 8 i Firefox 3, ponieważ są to prawdopodobnie najpopularniejsze przeglądarki. – Jay