min-width IE 6
Тъй като старото Internet Explorer не поддържа минимална ширина, а на мен ми трябва точно това за един течен лейаут, изхачих ето това:
body
{
margin:0 10px;
min-width:1007px;
_width:expression(document.documentElement.offsetWidth < 1048 ? '1007' : 'auto');
}
Числата са нагласяни на око, с фино ресайзване на прозореца. Има и някакви чисти CSS решения, които обаче не схванах. Освен това expression + _ ми се струва напълно приятен подход за решаване на проблеми от този тип. Може да се упражни и с conditional comments, ако държите на валидацията на цсс-а.
Март 6th, 2007 at 12:34 am
Добре изглежда и твоето, другото проблема е, че има допълнителни тагове. Но не е толкова сложно, слага в div-a, един върху друг единия се състои само от широк бордър. А другия с margin-a се наслагва в/у него. И така се получава някак изкуствен min-width. Между другото в IE7 го поддържа вече нали?
Март 6th, 2007 at 9:51 am
Да, поддържа го. Затова и хаквам с подчертавка, която IE7 не разпознава. Гореупоменатия подход не е универсален, аз съм си го нагласил спрямо моя случай (body). Ако отиде на вътрешни елементи става по-сложно.
Март 6th, 2007 at 11:49 pm
Я интересно, виж как моя коментар е в 12:34 am, а твоя отговор е в 9:51 am на същия ден?
Изумителна работа.
Март 7th, 2007 at 12:59 pm
Wordpress. Всъщност, вероятно няма значение
.
Март 7th, 2007 at 8:57 pm
По отношение на часовете - точно така трябва да бъде - 12:00 am е полунощ, a 12:00 pm - обяд
Март 17th, 2007 at 7:20 pm
странно… само
* html body {width:1007px;}
.. не работи ли?
Март 19th, 2007 at 10:08 am
@uv: Не, щото правя течен лейаут. идеята е да се разпъва по екрана, но да не се свива след определена ширина.
Март 20th, 2007 at 8:57 pm
Има и чисто CSS решение, без да се влагат елементи и без да се “маже” много.
Идеята е проста, използват се white-space: nowrap; и width и се задават само за IE6 , тъй като знаем, че в ИЕ6 има доста проблеми с боксовия модел, и ако съдържанието стане по широко родителския елемент ще си разшири размера.Подобен е и трика за min-height за ИЕ6.
Ето ти пример за това което говоря, на блоков елемент (div).
New Document
.container { min-width: 200px; float: left; border: 1px solid black; _white-space: nowrap; _width: 200px; }Тук малко е невалиден CSS кода заради _ но така е някак си по спретнато, ако искаш да ти е валидин си ги изнеси в един conditional comments.
Март 22nd, 2007 at 7:24 pm
@abozhilov: Тъй като май и ти (като предишния коментар) не разбра за какво точно ползвам min-width, направих много прост пример - http://underlog.org/uploads/min-width.html . Така като гледам, явно не съм го обяснил добре.
Трика с това, че експлорър прави _width на нещо като min-width не ме устройва в случая. Защото имам течен лейаут, който искам да се разпъва, но да не се свива след определено намаляне на размера на прозореца. Точно това, което прави min-width. _width или * html body няма да позволяват на елемента да се опъва по браузъра.
Април 3rd, 2007 at 3:23 pm
Чистото решение, макар трудно смилаемо и доста завъртяно е за предпочитане… с малко напъни се схваща и наистина работи. Този експрешън при мен доста често е водил до забив на браузъра.
Април 3rd, 2007 at 4:27 pm
И това е вярно. Експрешъните могат да докарат до такива главоболия. Трябва внимателно да се пипа.