Баг с max-width в ИЕ8
6863 сообщения
#14 лет назад
Есть такая конструкция:img.mainphoto {
display:block;
margin:0 auto;
width:100%;
max-width:600px;
}
Даное фото выводится в средней колонке трехколоночной разметки. При ширине экрана 1024 занимает все пространство в своей колонке (ужимается прим. до 500пкс). При большей - имеет свою родную ширину 600пкс. Это в нормальных браузерах и, как ни странно, в ие 7.
В ие6 - без коментариев, растягивает на 100% экрана. Но на этого зверя есть оружие.
А вот ие8 меня свалил наповал... ширина ведет себя как надо. А вот высота... при достижении max-width высота продолжает увеличиваться.
Решено прописать max-height в РНР. несколько лишних телодвижений...
Но поведение ие8 все-равно покоя не дает... Полдня в гугле ситуацию не прояснили. Колдовство с !doctype и haslayot не подействало. Никто не сталкивался?
1807 сообщений
#14 лет назад
Overflow: hidden?Да и в целом свойство не совсем кроссбраузерное, более того, за сверстанные мной over9000 макетов, этим свойством не воспользовалси НИ РАЗУ... Опишите проблему на конкретном примере, может вы не тем страдаете...
6863 сообщения
#14 лет назад
Где вы увидели Overflow: hidden?Попробуйте сами указанное css на standalone изображении. И потягайте рамку окна в ие8. Сами увидите.
6863 сообщения
11416 сообщений
#14 лет назад
Цитата ("floppox"):И сколько у вас лет стажа?
Ну судя по всему с 18 лет ежедневно по 3 макета в день

1807 сообщений
#14 лет назад
Цитата:Где вы увидели Overflow: hidden?
попробуйте сами указанное css на standalone изображении. и потягайте рамку окна в ие8. Сами увидите
Говорю, может ПОПРОБОВАТЬ overflow: hidden........просто как вариант, первое, что в голову взбрело.
Цитата ("floppox"):
ОффтопикЦитата ("nehovaysyatopol"):а сверстанные мной over9000 макетов
хм... позвольте поинтересоваться, сколько макетов в день вы верстаете? И сколько у вас лет стажа?
Вы как-то так бувально все воспринимаете...
ссылка
Какбы фигуральное выражение, примерно обозначающее "много"
327 сообщений
1807 сообщений
6863 сообщения
#14 лет назад
Цитата ("nehovaysyatopol"):Говорю, может ПОПРОБОВАТЬ overflow: hidden
Ничего не помогает. Только задать соответствующий max-height.
Короче, мс не перестает радовать новыми необычными решениями...
1807 сообщений
#14 лет назад
А нельзя картинку обернуть блоком, которому уже и задать max-width и overflow? Должно помочь по идее...
6863 сообщения
#14 лет назад
У блоков высота пропорционально не меняется ни в одном браузере. Посути, ие8 забыл, что img - это именно картинка. В общем. Только что пришла в голову идея. Возможно этот глюк как раз из-за display:block у картинки!
Надо попробовать. Спасибо, что натолкнули на мысль.
6863 сообщения
#14 лет назад
Нет, эксперимены с display ни к чему не привели. block, inline-block и отсутствие свойства - ниче не меняется. Еще нарыла значение run-in, кое на что повлияло --- в ие8 размеры стали, как у оригинала картинки, не меняются вообще.
В остальных браузерах масштабирование нормальное при любом значении display, в том числе run-in.
2989 сообщений
#14 лет назад
Возможно проблема в этой связке.Цитата ("floppox"):
width:100%;
max-width:600px;
Я уже сталкивался в ие с тем, что он из двух значений, схожих по назначению, выбирает большее, а второе просто игнорирует. В данном случае width: 100% может принимать большее значение, чем ограничение max-width.
1807 сообщений
#14 лет назад
Мне вот все-таки кажется, что вы усложняете решение простой задачи (как и топикстартер параллельной темы, про фон). Можно глянуть на пациента и пощщупать ево?
2989 сообщений
#14 лет назад
Цитата ("nehovaysyatopol"):Мне вот все-таки кажется, что вы усложняете решение простой задачи (как и топикстартер параллельной темы, про фон). Можно глянуть на пациента и пощщупать ево?
Это ко мне вопрос?
Если ко мне, то пациент давно излечен.
Диагноз: для дива с width:100% любые другие значения связанные с шириной в ие игнорировались.
Лечение: 2 вложенных дива, для внешнего width:100%, для внутреннего max-width:...
1807 сообщений
#14 лет назад
elosoft, да вообще-то не к вам, а к ТС. Но вобщем-то ваша идея понятна, я примерно таким путем и шел. Если работает - ну и слава богу, а вам респект. 
6863 сообщения
#14 лет назад
Господа. Я не ищу рещшение задачи, а пытаюсь обсудить найденный баг конкреного браузера ИЕ 8. Еще раз повторю ВОСЕМЬ.Где взять "пациента" я уже писала.
Еще раз... <img src="любая картинка на вашем компе" style="width:50%;max-width:500px;">
Вставляете это в чистый хтмл-документ, сохраняете, открываете в ие ВОСЕМЬ. Уменьшаете окно браузера до ширины меньше 1000 пкс и плавно тянете за правую кромку. Когда ширина изображения достигнет 500пкс, оно перестанет увеличиваться вширь и начнет расти только ввысь.
Для сранения, в остальных браузерах, включая ие7, изображение перестает расти вообще.
Решение для ие8 - прописать соответствующий max-height (но оставить height:auto).
Недостаток решения (уже конкретно для работы на цмс) - дополнительная нагрузка на сервер, который должен теперь этот самый max-height вычислить, а для этого лишний раз обратиться к изображению.
elosoft, Вы и вовсе невнимательно читаете. Проблемы с шириной нет. Есть проблема с соотношением высоты и ширины.
Цитата ("elosoft"):
Диагноз: для дива с width:100% любые другие значения связанные с шириной в ие игнорировались.
Не позорьтесь. Речь не идет об ие6.
791 сообщение
#14 лет назад
Картинку можно обернуть дивом<div class="mainphoto"><img src="best.jpg" alt=""></div>
.mainphoto {
margin:0 auto;
width:100%;
max-width: 600px;
border:3px solid #daff10;
}
.mainphoto img {
display:block;
width:100%;
}