Jump to content

SelenIT

Expert
  • Posts

    4,327
  • Joined

  • Last visited

  • Days Won

    140

Everything posted by SelenIT

  1. Поддерживаю Ogaligа. Чисто CSSные менюхи (особенно многоуровневые) не способны состязаться с JS-вариантами не сколько даже в легкости поддержки, сколько в юзабилити. То, что при случайном промахе мимо нужного пункта четвертого уровня (к примеру) мгновенно пропадают все три уже раскрытые, на мой взгляд, никуда не годится. Нужна задержка хотя бы 0.4-0.5с (если подпункты открываются с модной сейчас анимацией, она получается как бы автоматически). А в простейшем случае (html представляет собой вложенный список, в JS используются три функции - по наезду на подменю сбросить таймер на его скрытие, по наезду на пункт показать его подменю и убрать чужие, по уходу с подменю поставить таймер на его скрытие) проблем кроссбраузерности будет в разы меньше, чем при попытке реализовать похожую функциональность на голом CSS. Как минимум, заведомо меньше хаков для того же IE понадобится. Я искренне восхищаюсь достижениями Стью Ничолза (доказавшего, что функциональность выпадающего меню можно реализовать чистым CSS даже в IE6, пусть и с хаками) и ему подобных энтузиастов. Но рассматриваю такие примеры отчасти как демо потенциальных возможностей технологии, отчасти как увлекательные упражнения для мозга (это, кстати, не устает повторять и сам Стью в пояснениях к своим CSS-чудесам. Для практики удобнее и надежнее прямолинейные, бесхитростные JS-решения. В т.ч. на базе модных (и потому достаточно оттестированных во всех значимых браузерах) фреймворков...
  2. Меня, если честно, больше заботит не печать, а как раз экраны с нестандартными настройками (а-ля ноутбуки 15" с 1650х1080, где пиксели действительно так малы, что каждый третий захочет увеличить пиксельную картинку). Качество ресэмплинга картинок без запаса в существующих браузерах меня решительно не устраивает (особенно при некратных значениях зума типа 125%). А вот пример hommа ведет себя адекватно как минимум в последних FF и Опере. Вместо ожидаемого неизбежного замыливания картинок они, наоборот, вдруг начинают играть новыми деталями — приятный сюрприз для пользователя! В общем, полным ходом идем к тому, о чем еще в 2001-м писал классик Трафик, конечно — это да... Но часто говорят, что каналы у всех "уважаемых" пользователей достаточно толстые, лимит трафика — удел лузеров вроде меня , и вообще визуальная безупречность в эпоху веба-двух-нулей куда важнее (я сам так не считаю, но мое мнение не беспристрастно. Может быть, уже успел сложиться более-менее общепринятый компромисс? Опять же, как теперь лучше оптимизировать графику (форматы, настройки и т.п.), чтобы их качество максимально сохранялось при уменьшении (из-за запаса)?
  3. Кстати, с удовольствием послушал бы опытных людей, надо ли учитывать это в реальных проектах (закладывая во всю графику запас по разрешению) и если надо, то как делать это правильно. Учитывая, что full-page zoom быстро становится преобладающей фичей всех гламурно-модерновых браузеров, и многие считают, что он является единственно верным и вот-вот совсем вытеснит масштабирование одного лишь текста (сам я упорно придерживаюсь противоположной точки зрения — в силу сабжа, но я, похоже, в меньшинстве. Может, могут помочь новые селекторы CSS3, позволяющие задавать разные значения (в т.ч. пути к картинкам) в зависимости от физического разрешения экрана и т.п.?
  4. По-моему, вполне достойно эта тема "разжевана" здесь.
  5. SelenIT

    Clip

    References in this specification to an absolutely positioned element (or its box) imply that the element's 'position' property has the value 'absolute' or 'fixed'. ссылка
  6. SelenIT

    Clip

    Пардон... а в чем несовместимость-то?
  7. Для этого есть свойство min-height. А для непонимающего его IE6 — _height или с полдесятка других хаков на выбор...
  8. Ну надо же... Действительно, хотя мне самому упорно казалось, что работает (может, в 8-м IE видел? , но... такое ограничение документировано:
  9. Должно работать. Можно минимальный проблемный код/ссылку на реальную проблемную страницу?
  10. Можно и без inherit-а, типа <div id="ladder">Hello<div>Hello<div>Hello</div></div></div> Но, по-моему, семантически неправильно это — городить матрешку-небоскреб ради одной лишь лесенки отступа. Если количество строк ограничено разумным пределом, я бы скорее сделал так: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <title>Это, кстати, валидная страница :)</title> <style type="text/css"> p { margin: 0; } p + p { margin-left: 10px; } p + p + p { margin-left: 20px; } p + p + p + p { margin-left: 30px; } p + p + p + p + p { margin-left: 40px; } </style> <p>красота</p><p>важна,</p><p>но семантика</p><p>гораздо</p><p>важнее</p>Правда, для IE6, как обычно, понадобятся костыли...
  11. Во-первых, в строгом режиме у таблицы нет атрибута height, высоту можно задавать исключительно через стили (да и ячейкам, по-хорошему, тоже). Во-вторых, не надо указывать ячейкам таблицы "display:block", в браузерах, поддерживающих стандарты, у ячейки свой особый display:table-cell и его нечаянное переопределение может развалить таблицу к свиньям собачьим. В третьих, пора приучаться писать код аккуратно, не путая и не теряя открывающие и закрывающие теги (даром что HTML это прощает). Ну и наконец: в чем прикол резиновой средней строки, если общая высота внешней таблицы все равно фиксирована?
  12. Как вариант: повторяемый фон меню назначить body (background-position: 100% 0; background-repeat: repeat-y;), нижнюю картинку задать неповторяемым фоном для общего контейнера меню и контента (background-position: 100% 100%, а верхнюю картинку - для самого блока меню, тоже неповторяемым фоном.
  13. В IE7 уже работает, правда только в стандартном режиме (с правильным доктайпом). Для IE6 есть гадкий воркэраунд: .class1 .class2 { /* стили как нужно */ } .class1 * .class2 { /* явно возвращаем дефолтные значения */ }
  14. Присоединяюсь к поздравлениям!
  15. Подозреваю, что "человек захотел" просто надписи с градиентом, а не невидимое меню при отключенных картинках и недовольство поисковиков . Хотя бы alt-ы прописать можно ведь было. А в наши дни такое вообще делают обычно фоновой картинкой и убиранием текста за пределы видимости средствами CSS. И уж совем честно — действительно, на таких тонких линиях этот самый градиент вполне можно и не заметить...
  16. SelenIT

    C#

    Какая версия фреймворка/студии? Дженерики появились в .NET2.0 (VS2005). Если юзаете 1.1 (VS2003) - придется пользоваться обычным ArrayList-ом и при переборе приводить каждый его элемент к Int-у (по дефолту там всегда object). Но лучше обновиться, тем более уже третий фреймворк вовсю наступает...
  17. 1) Где доктайп (хоть какой-нибудь, хоть <!DOCTYPE HTML>)? Верстать для Quirks mode — тупиковый путь, как ни крути. 2) Картиночное меню, да еще без alt-текстов — жесть оцинкованная. И для юзера, у которого по какой-то причине не прогрузились картинки, и для поисковиков. 3) Теги надо использовать по назначению! Список из одного пункта — явно не то, чем стоит оформлять заголовок. А вот список новостей, наверное, лучше делать как раз списком, а не безликими дивами.
  18. А как же пример Котерова из моего поста выше, с многократным join-ом таблицы с ней же самой? Хотя не спорю, работать с результатом такого запроса действительно неудобно, так что практическая ценность этого решения невелика.
  19. Это что за язык? IE в принципе не понимает незнакомых тегов (вот список понимаемых). Что мешает использовать какой-либо из штатных тегов, напр. Hx?
  20. Понятно. Я опять зациклился на старом стереотипе "все одним запросом" (тут, по-моему, действительно или Nested Sets, или вышеприведенное монстро. С хранимками-то вариантов, конечно, побольше будет (хотя от рекурсии в том или ином виде все равно особо не уйти). А у инфобокса, похоже, и впрямь политика такая странная...
  21. Прикрутить-то теоретически можно... <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <style> a[href^="http:"] { color: green; position: relative; } a[href^="http:"]:after { position: absolute; color: red; background: yellow; content: 'лучший сайт по (X)HTML/CSS'; top: 0.75em; left: 1em;display: none; text-decoration: none; white-space: nowrap; } a[href^="http:"]:hover:after { display: block; } </style> </head> <body> <p><a href="http://htmlbook.ru">htmlbook.ru</a></p> </body> </html> Но вот работать, как хотелось бы, будет только в последних Операх (в Google Chrome текст подсказки остается подчеркнутым, в FF3 и вовсе не слушается position-а, тупо выводится сразу после текста). В IE8b2 подсказка выводится всегда, не обращая внимания на статус :hover, а предыдущие версии IE не понимают псевдоэлемента :after. Так что, как обычно, проблема не в стандарте, а в его поддержке браузерами...
  22. 100% от чего? По стандарту CSS, наследовать высоту можно только от явно заданного значения. Поэтому чтобы задать 100%-ную высоту какому-либо элементу, height:100% должно быть указано для всех его предков, вплоть до корневого элемента (html).
  23. Подозреваю, что имелось в виду что-то вроде этого (судя по упоминанию Котерова, вот соотв. обсуждение на его форуме. Кстати, не так уж оно тормозит. Но формат вывода получается не слишком удобный... Вообще про деревья неплохая подборка на PHPclub'е.
  24. Это свойство - самый безобидный по побочным эффектам включатель свойства hasLayout. Который сам по себе большая и запутанная тема, лучше всего раскрытая по-русски, наверное, здесь. К счастью, в 8-й версии этого безобразия не будет. Но и волшебного исправлятора глюков не будет, соответственно...
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy