-
DOCTYPE - любой на ваш вкус.
HTML, BODY {width:100%, height:100%}
Но цвет фона задать обязательно различным для этих элементов страницы.
Посмотрите, что случилось с BODY, (которвый вы не трогали) в IE и в "стандартном" браузере.
Единственный блок DIV, помещенный на страницу с margin-to:50px; [любая цифра], "стандартно" срывает ни в чем не повинный BODY со своего места.
Это по стандарту - эффект вываливания.
Решение проблемы:
1. Задать верхний внутр. отступ для BODY, наприме, padding:1px; .
О, все хорошо - как и задумывалось, все на своих местах. Но, черт возьми, зачем мне этот некстати появившийся скролл??
2. Обернуть DIV в фантик из ещё одного DIV. Но это решение уже НЕ соответствует духу CSS и очень напоминает костыль для браузера.
Может, кто подскажет "чистое" решение ? -
Практически — можно, например, заменить у div'а верхний margin на padding.
Но если поговорить про теоретическую чистоту и "дух CSS'а", то вы сами создаете себе проблемы через height: 100% для
<html>и<body>. В CSS очень мало хороших средств работы с фиксированной высотой, он для этого не предназначен. В чем вообще нужда такого решения? -
Связано с бакграундом.
Просто нужна была полоска высотой 3пкс с отступом от верх. края 3пкс.
Резать имидж глупо, тем более, если серфер может откл. изображения.
Вообще то я предполагаю, что MS пытается держать свою SMART концепцию CSS, несколько отличную от W3C.
Я имею ввиду адаптацию под "человека".
Большой плюс этого, в том, что если бы их IE поддерживал CSS стандарты W3C так же, как и Netscap'Ы с Оперой, то процес верстки сразу был бы автоматизирован. Благо, разработчики ПО достигли достаточного ля этого уровня. И тогда профессия веб-мастера стала бы вымирающей, как и оператора перфокартной машинки.
К сожалению, "РЕЗИНА" - это самая востребованная раскладка, а стандарт CSS2, как вы упомянули сейчас и в "учебнике": - ".. для этого не предназначен". Т.е. не предназначен для полноценной нашей работы. Поэтому MS, по моему сугубо личному ИМХО, и пытается свой SMART-стандарт противопоставить конкуренту, т.е. W3C.
В этой конкурентной борьбе MS терпит неудачи, поскольку его браузеры морально устарели (браузер ИЕ6-8 - это браузер 7-летней давности с модификациями) и имееют кучу тривиальных багов, как и любое ПО.
height: 100% - Это не блажь.
% - не выдумка, а элемент любого стандарта. Почему я должен скромно опускать глаза завиев проценты? Вы же знаете, что браузеры "теряют" размер, если прерывается легитимная цепочка размеров от родительского до вложенных дочерних элементов страницы. Ну и т.д.
Поэтому я не соглашусь с вами, что CSS не предназначен работать с процентами. Если вам известны офиц. положения W3C на этот счет, то буду признателен за ссылку.
Мой пример - это, как я называю “логические баги” стандарта.
Когда для человека очевидно, что сначала обувается ботинок, а потом завязываются шнурки. Но стандарт требует начинать завязывать шнурки, а потом одевать ботинок. Это и есть “логический баг” стандарта. Со временем большинство привыкает следовать стандарту, и готово ради него (стандарта) на харакири.
Ибо стандарт W3C - “священное писание”!!!
Я считаю, что стандарты W3C не только можно, но и нужно обсуждать и подвергать критике. Ибо нам с ним работать. -
Связано с бакграундом. Просто нужна была полоска высотой 3пкс с отступом от верх. края 3пкс. Резать имидж глупо, тем более, если серфер может откл. изображения.
Ну как так глупо... Прямого пути для этого в CSS2 нет (помог бы border-image из CSS3), следовательно вы все равно обречены на хак. И какой критерий "глупости" хака вы предлагаете? Пока что то, что вы изобрели вместо картинки просто не работает. Так почему это вдруг "умно"?
Вообще то я предполагаю, что MS пытается держать свою SMART концепцию CSS, несколько отличную от W3C. Я имею ввиду адаптацию под "человека".
MS давно уже не делает с CSS'ом ничего такого. Во времена IE5 они его реализовали одни из первых, и с большими багами. Под них успели написать сайты, и теперь все это наследие MS вынуждены поддерживать. Нет тут никакой мудрой концепции.
Большой плюс этого, в том, что если бы их IE поддерживал CSS стандарты W3C так же, как и Netscap'Ы с Оперой, то процес верстки сразу был бы автоматизирован. Благо, разработчики ПО достигли достаточного ля этого уровня.
Вы себе противоречите :-). Если бы разработчики ПО достигли "достаточного уровня", у нас бы уже и не было проблем. Они есть именно из-за того, что хоть какого-то вменяемого уровня интероперабельности они стали достигать очень недавно. Причем по большей части виноваты в этом не они, а как раз сами стандарты, которые были тогда написаны, вообще-то, довольно плохо. Но все-таки с ними можно жить. Вот и живем :-)
К сожалению, "РЕЗИНА" - это самая востребованная раскладка, а стандарт CSS2, как вы упомянули сейчас и в "учебнике": - ".. для этого не предназначен".
Востребованность — это не закон физики, мы сами можем на нее влиять. Если дизайнер предлагает клиенту красивый сайт, то будет ли он состоять из "резиновых" колонок — вопрос второстепенный. Вот вам первый попавшийся под руку пример: http://www.markoprljic.iz.hr/. Если я правильно вижу, сайт состоит из одной колонки, и вообще довольно просто. Но большинство клиентов будут биться в экстазе от такого исполнения.
Так что, колоночная верстка повсюду — это во многом просто из-за костности мышления.
В этой конкурентной борьбе MS терпит неудачи, поскольку его браузеры морально устарели (браузер ИЕ6-8 - это браузер 7-летней давности с модификациями) и имееют кучу тривиальных багов, как и любое ПО.
IE8 вы зря сюда приклеили, у него практически целиком новый движок.
height: 100% - Это не блажь. % - не выдумка, а элемент любого стандарта. Почему я должен скромно опускать глаза завиев проценты? Вы же знаете, что браузеры "теряют" размер, если прерывается легитимная цепочка размеров от родительского до вложенных дочерних элементов страницы. Ну и т.д.
Именно из-за того, что браузеры "теряют" фиксированную высоту в процентах это и есть нудобный инструмент. Понимаете, это не "досадный баг", это так спроектировано специально. Я вот тут подробно писал обоснование.
Когда для человека очевидно, что сначала обувается ботинок, а потом завязываются шнурки. Но стандарт требует начинать завязывать шнурки, а потом одевать ботинок. Это и есть “логический баг” стандарта. Со временем большинство привыкает следовать стандарту, и готово ради него (стандарта) на харакири. Ибо стандарт W3C - “священное писание”!!!
Дело не в святости (хотя я полностью согласен, что это основная причина для большинства). Дело в том, что даже не слишком удачный стандарт лучше, чем отсутствие стандарта. Так уже было в 90-х, когда несовместимости Netscape и IE были настолько большими, что люди реально делалил совершенно разный HTML для них. Два сайта вместо одного. То, что есть сейчас — файл с хаками для IE — это достижение. Хотя, кто ж спорит, хотелось бы лучше.
Я считаю, что стандарты W3C не только можно, но и нужно обсуждать и подвергать критике. Ибо нам с ним работать.
Но для этого надо сначала понять, почему они работают так, а не иначе :-)
-
Отщеплен новый топик "Microsoft и стандарты".
