1. Alex

    01.07.2008 15:33

    DOCTYPE - любой на ваш вкус.
    HTML, BODY {width:100%, height:100%}
    Но цвет фона задать обязательно различным для этих элементов страницы.
    Посмотрите, что случилось с BODY, (которвый вы не трогали) в IE и в "стандартном" браузере.
    Единственный блок DIV, помещенный на страницу с margin-to:50px; [любая цифра], "стандартно" срывает ни в чем не повинный BODY со своего места.
    Это по стандарту - эффект вываливания.

    Решение проблемы:
    1. Задать верхний внутр. отступ для BODY, наприме, padding:1px; .
    О, все хорошо - как и задумывалось, все на своих местах. Но, черт возьми, зачем мне этот некстати появившийся скролл??
    2. Обернуть DIV в фантик из ещё одного DIV. Но это решение уже НЕ соответствует духу CSS и очень напоминает костыль для браузера.

    Может, кто подскажет "чистое" решение ?
  2. Иван Сагалаев

    01.07.2008 15:50

    Практически — можно, например, заменить у div'а верхний margin на padding.

    Но если поговорить про теоретическую чистоту и "дух CSS'а", то вы сами создаете себе проблемы через height: 100% для <html> и <body>. В CSS очень мало хороших средств работы с фиксированной высотой, он для этого не предназначен. В чем вообще нужда такого решения?

  3. Alex

    01.07.2008 20:25

    Связано с бакграундом.
    Просто нужна была полоска высотой 3пкс с отступом от верх. края 3пкс.
    Резать имидж глупо, тем более, если серфер может откл. изображения.

    Вообще то я предполагаю, что MS пытается держать свою SMART концепцию CSS, несколько отличную от W3C.
    Я имею ввиду адаптацию под "человека".

    Большой плюс этого, в том, что если бы их IE поддерживал CSS стандарты W3C так же, как и Netscap'Ы с Оперой, то процес верстки сразу был бы автоматизирован. Благо, разработчики ПО достигли достаточного ля этого уровня. И тогда профессия веб-мастера стала бы вымирающей, как и оператора перфокартной машинки.

    К сожалению, "РЕЗИНА" - это самая востребованная раскладка, а стандарт CSS2, как вы упомянули сейчас и в "учебнике": - ".. для этого не предназначен". Т.е. не предназначен для полноценной нашей работы. Поэтому MS, по моему сугубо личному ИМХО, и пытается свой SMART-стандарт противопоставить конкуренту, т.е. W3C.

    В этой конкурентной борьбе MS терпит неудачи, поскольку его браузеры морально устарели (браузер ИЕ6-8 - это браузер 7-летней давности с модификациями) и имееют кучу тривиальных багов, как и любое ПО.

    height: 100% - Это не блажь.
    % - не выдумка, а элемент любого стандарта. Почему я должен скромно опускать глаза завиев проценты? Вы же знаете, что браузеры "теряют" размер, если прерывается легитимная цепочка размеров от родительского до вложенных дочерних элементов страницы. Ну и т.д.

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

    Мой пример - это, как я называю “логические баги” стандарта.
    Когда для человека очевидно, что сначала обувается ботинок, а потом завязываются шнурки. Но стандарт требует начинать завязывать шнурки, а потом одевать ботинок. Это и есть “логический баг” стандарта. Со временем большинство привыкает следовать стандарту, и готово ради него (стандарта) на харакири.
    Ибо стандарт W3C - “священное писание”!!!

    Я считаю, что стандарты W3C не только можно, но и нужно обсуждать и подвергать критике. Ибо нам с ним работать.
  4. Иван Сагалаев

    01.07.2008 21:47

    Связано с бакграундом. Просто нужна была полоска высотой 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 не только можно, но и нужно обсуждать и подвергать критике. Ибо нам с ним работать.

    Но для этого надо сначала понять, почему они работают так, а не иначе :-)

  5. Отщеплен новый топик "Microsoft и стандарты".

bbcode