Минимальная ширина в MSIE 6 - PullRequest
       20

Минимальная ширина в MSIE 6

6 голосов
/ 18 сентября 2008

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

Ответы [ 11 ]

8 голосов
/ 18 сентября 2008
foo { min-width: 100px }      // for everyone
* html foo { width: 100px }   // just for IE

(или передать отдельную таблицу стилей в IE, используя условные комментарии )

7 голосов
/ 18 сентября 2008

Вы можете использовать выражение (как предложено 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">&nbsp;</div>
</div>

#container .shim {
  width: 500px;
  height: 0;
  line-height: 0;
}

Это требует небольшой несемантической разметки, но это действительно кросс-браузерное решение и не требует дополнительных затрат на использование выражения.

2 голосов
/ 17 июня 2009

Я не знаю, у меня был некоторый успех с:

    min-width: 193px;
    width:auto !important; 
    _width: 193px;  /* IE6 hack */

Комбинация быстрого взлома dustin diaz 'min-height & Как указать в HTML или CSS абсолютную минимальную ширину ячейки таблицы

2 голосов
/ 09 октября 2008

Я возился с каждым ответом, данным здесь в прошлом месяце. И после игры с методом Преталя ( Min-width в MSIE 6 ), это, кажется, лучшая альтернатива min-width. Никаких взломов или чего-то еще, просто совместимый CSS-код, который реализуется за 30 секунд.

Из Googling вокруг выражения кажутся самыми популярными. В любом случае, для меня было случайным образом заблокировать мой браузер (как IE, так и FF).

2 голосов
/ 18 сентября 2008

Эта статья о CSS Play от Stu Nicholls показывает различные методы достижения минимальной ширины в IE во всех режимах (Quirks и т. Д.) И даже для IE / Mac.

0 голосов
/ 05 августа 2010

Кнопка с одной строкой

button{
background-color:#069;
float:left;
min-width:200px;
width:auto !important;
width:200px;
white-space: nowrap}
0 голосов
/ 23 октября 2008

Пример shim отлично подходит для того, чтобы заставить браузер показывать горизонтальную полосу прокрутки, когда контейнер достигает определенного размера, но вы заметите, что размер содержимого в контейнере будет по-прежнему изменяться по мере уменьшения размера окна. Я полагаю, что это не общая цель при попытке достичь минимальной ширины в IE 6.

Неполная техника минимальной ширины http://www.mediafire.com/imgbnc.php/260264acec99b5aba3e77c1c4cdc54e94g.jpg

Кроме того, использование выражений и других сумасшедших хаков CSS просто не очень хорошая практика. Они небезопасны и нечисты. Эта статья объясняет предостережения о хакерских атаках CSS и почему их следует вообще избегать.

Лично я считаю, что публикация scaryjeff - лучший совет для достижения истинной минимальной ширины в IE6, и как опытный разработчик макетов CSS, я еще не нашел лучшего решения, которое было бы применимо к подобным проблемам.

Эта статья о CSS Play от Stu Nicholls показывает различные методы достижения минимальной ширины в IE во всех режимах (Quirks и т. Д.) И даже для IE / Mac.

Я дал ответ на аналогичный вопрос, в котором подробно описывается использование этой техники для правильного достижения минимальной ширины. Это можно посмотреть здесь:

CSS: две 50% колонны с жидкостью, не учитывающие минимальную ширину

Техника проста, корректный CSS, который можно использовать практически в любой ситуации. Применительно к приведенному выше примеру прокладки это дает то, что я считаю правильной функциональностью минимальной ширины.

Правильный метод минимальной ширины http://www.mediafire.com/imgbnc.php/a67b2820bfbd6a5b588bea23c4c0462f4g.jpg

0 голосов
/ 23 сентября 2008

Используйте условные комментарии для ссылки и таблицу стилей MSIE 6, а затем создайте CSS, как показано ниже.

Совместимые браузеры будут использовать:

min-width: 660px;

Тогда MSIE 6 будет использовать:

width: expression((document.body.clientWidth < 659)? "660px" : "auto");
0 голосов
/ 18 сентября 2008

Быстрый взлом минимальной высоты работает для меня (также работает для ширины)

0 голосов
/ 18 сентября 2008

Это работает очень хорошо ...

div.container {
    min-width: 760px; 
    width:expression(document.body.clientWidth < 760? "760px": "auto" ); 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...