max-width с процентом, похоже, не работает ни в IE 8, ни в Firefox 3. Конкретные ширины пикселей отлично работают. Я что-то упускаю?CSS max-width с процентом
У меня есть форма ввода, и я хочу отобразить пояснительный текст справа от него. Но я не хочу, чтобы пояснительный текст раздавал форму.
Я раньше не использовал максимальную ширину, но это было отличное решение. Я написал этот простой стиль CSS:
div.hint {max-width: 50%; float: right;}
Тогда я писал:
<div class=hint>... hint text</div>
<form action=xxx method=post>
... etc ...
div.hint давит форму сильно влево.
Я попробовал это с помощью некоторого текста вместо формы. Div.hint занимает около 95% экрана, просто дает небольшой запас слева, а затем другой текст подталкивается полностью под ним.
Если я изменяю максимальную ширину от процента до фиксированного количества пикселей, она работает. Но я не хочу основывать его на пикселях, потому что я не знаю размеров браузера пользователя.
Процент процентов не работает с максимальной шириной, несмотря на то, что я читал в документации, или я чего-то не хватает?
В ответ на комментарий Seanmonster в: Здесь я дам тривиальный, но полный веб-страницу, которая показывает, что я думал, что должно работать, но это не так:
<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>
Когда я открываю эту страницу в браузер, я получаю, а не два столбца, но div «hint» принимает 100% ширины, а ниже «div» формы принимает 100% ширины. Если я изменил как максимальную ширину на «width: 50%», я получу два столбца, как я ожидал. По-видимому, я пропустил что-то о том, как max-width должен работать, но ... я не понимаю.
С информацией вы данной, ваша проблема не должна существовать. Возможно, вы могли бы найти ссылку на пример, чтобы мы видели, как это происходит в дикой природе. – seanmonstar
Я открыл ваш пример кода в FF3.5.3 на Mac и ПК, и он работал нормально. Я получаю поведение, которое вы описываете в IE 7, и не тестируете 8. – Emily
@Emily: Я только пробовал пример выше с IE 8, прежде чем отправлять его. Я буду говорить на нем, что он работает с Firefox. Но я пробовал другие аналогичные примеры, которые не совпадали с Firefox, поэтому, по-видимому, они не полностью защищены от первопричины.В любом случае, я действительно хочу что-то, что работает, по крайней мере, с IE 7, IE 8 и Firefox 3, поскольку они, вероятно, являются наиболее популярными браузерами. – Jay