Каким способом окончательный имитирует минимальную ширину свойства CSS в Internet Explorer 6? Лучше не пробовать?






сделайте свой тег css как _Width: 500px или что-то еще.
foo { min-width: 100px } // for everyone
* html foo { width: 100px } // just for IE
(или передать отдельную таблицу стилей IE, используя условные комментарии)
Prestaul, IE6 рассматривает ширину как минимальную ширину.
Насколько я понимаю, это будет работать в IE6, но не в IE7: blog.throbs.net/2006/11/17/IE7+And+MinWidth+.aspx
То же исправление, примененное к min-height, похоже, работает для меня как в IE6, так и в IE7!
min- * работает в IE 8. Возможно, вам стоит опубликовать новый вопрос с подробным описанием вашей конкретной проблемы.
Хорошо, но в некоторых случаях IE6 действительно обрабатывает width как width (а не min-width). Иногда это работает для меня, а иногда нет.
Это работает очень хорошо ...
div.container {
min-width: 760px;
width:expression(document.body.clientWidth < 760? "760px": "auto" );
}
Этот CSS не будет соответствовать стандартам W3C. Кроме того, это может вызвать нежелательные эффекты [456bereastreet.com/archive/200611/…. Кроме того, CSS должен иметь только представление, а не поведение.
Кого волнует, будет ли он проверяться или нет, это может привести к сбою браузера пользователя. Очень легко попасть в ситуацию бесконечного цикла, поскольку выражения оцениваются практически для всех событий, таких как события перекомпоновки, а само выражение также вызывает перекомпоновку. Если не проявить особую осторожность, событие перекомпоновки может вернуться к элементу, к которому привязано выражение.
Да, этот код может привести к катастрофе. Вместо этого он должен проверить, меньше ли ширина, чем семьсот шестьдесят-один.
Эта статья в CSS Play, автор Stu Nicholls, показывает различные методы достижения минимальной ширины в IE во всех режимах (Quirks и т. д.) И даже для IE / Mac.
Вы можете использовать выражение (как предлагает HBoss), но если вас беспокоит производительность, лучший способ сделать это - добавить прокладку внутри элемента, к которому вы хотите применить минимальную ширину.
<div id = "container">
The "shim" div will hold the container div open to at least 500px!
You should be able to put it anywhere in the container div.
<div class = "shim"> </div>
</div>
#container .shim {
width: 500px;
height: 0;
line-height: 0;
}
Это требует небольшой несемантической разметки, но является действительно кроссбраузерным решением и не требует дополнительных затрат на использование выражения.
Опечатка: сущность & nbsp; обозначает неразрывный пробел в вашем коде, который у вас был & nbsp;
Хороший улов! Через два с половиной года после того, как это было опубликовано!
Быстрый взлом минимальной высоты у меня работает (также работает по ширине)
Используйте условные комментарии для ссылки и специальную таблицу стилей MSIE 6, а затем создайте CSS, как показано ниже.
Совместимые браузеры будут использовать:
min-width: 660px;
Тогда MSIE 6 будет использовать:
width: expression((document.body.clientWidth < 659)? "660px" : "auto");
См. Ответ Hugoware о том, почему такие выражения плохи.
Я возился с каждым ответом, данным здесь за последний месяц. И после экспериментов с методом Pretaul (Мин. Ширина в MSIE 6) он кажется лучшей альтернативой min-width. Никаких хаков или чего-то подобного, просто соответствующий CSS-код, реализация которого занимает 30 секунд.
Судя по поиску в Google, выражения кажутся самыми популярными. В любом случае для меня это предназначалось для случайной блокировки моего браузера (как IE, так и FF).
Пример прокладки подходит для того, чтобы заставить браузер показывать горизонтальную полосу прокрутки, когда контейнер достигает определенного размера, но вы заметите, что содержимое в контейнере все равно будет изменяться по мере уменьшения размера окна. Я полагаю, что это не общая цель при попытке достичь минимальной ширины в IE 6.
Кроме того, использование выражений и других безумных приемов CSS - не лучшая практика. Они небезопасны и нечисты. Этот статья объясняет недостатки CSS-хаков и почему их следует избегать вообще.
Я лично считаю пост scaryjeff лучшим советом для достижения истинной минимальной ширины в IE6, и, как опытный разработчик макетов CSS, я еще не нашел лучшего решения, которое было бы применимо к проблемам такого рода.
This article on CSS Play, by Stu Nicholls, shows the different methods for achieving min-width in IE, in all modes (Quirks, etc) and even for IE/Mac.
Я дал ответ на аналогичный вопрос, в котором подробно описывается использование этой техники для правильного достижения минимальной ширины. Его можно посмотреть здесь:
CSS: два 50% -ных столбца, не соответствующих минимальной ширине.
Это простой и достоверный CSS, который можно использовать практически в любой ситуации. Применительно к приведенному выше примеру прокладки это приводит к тому, что я считаю правильной функциональностью минимальной ширины.
Я не знаю, у меня был некоторый успех с:
min-width: 193px;
width:auto !important;
_width: 193px; /* IE6 hack */
Комбинация быстрого взлома пыли на минимальной высоте и Как указать в HTML или CSS абсолютную минимальную ширину ячейки таблицы
Кнопка одной строки
button{
background-color:#069;
float:left;
min-width:200px;
width:auto !important;
width:200px;
white-space: nowrap}
Это не обеспечивает минимальную ширину в IE. Фактически вы просто отказываетесь от IE ...