Jump to content

SelenIT

Expert
  • Posts

    4,327
  • Joined

  • Last visited

  • Days Won

    140

Everything posted by SelenIT

  1. Серый*, со всеми идеалистическими представлениями W3C начала века есть одна общая беда: поддержка браузерами (прежде всего линейкой IE, хотя FF2- и Opera8- тоже были "не ангелы"). SVG, например, пока (до ожидаемой 9-й версии) вообще не подерживается IE (по крайней мере, без спецплагинов или скриптов, преобразующих SVG в его IEшный аналог - VML, с потерей части форматирования). Поддержка object в IE тоже порядком поломана (не работают вложенные объекты, в IE6 при вставке в object HTML-страницы для нее строилась неполная DOM и т.д.). Всё это привело к тому, что многие разработчики разочаровались в "единственно верном светлом XML-будущем" и стали разрабатывать свой параллельный стандарт, узаконивший то, что работает (не только img, но и embed с iframe). Сейчас этот разрабатываемый стандарт называется HTML5 и считается очень перспективным. Так что информацию из восторженных статей начала 2000-х, предвещавших тупик HTML и скорую XMLизацию всего и вся, сегодня нужно воспринимать критичнее. Хотя SVG - штука действительно весьма удобная для градиентов, графиков и схем, простых иконок и логотипов и т.п. (т.е. кандидат на частичную замену gif/png, особенно для полностью "резиновых" дизайнов). А вот фотографии перегонять в вектор незачем, поэтому jpeg еще долго будет актуален...
  2. Имхо, на примере нагляднее: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Test</title> <style> /* красит каждого третьего потомка dl, независимо от типа */ dl>*:nth-child(3n+1) { color: red; } /* жирнит каждый третий dt и каждый третий dd отдельно */ dl>*:nth-of-type(3n+1) { font-weight: bold; } </style> </head> <body> <dl> <dt>Бесконечный цикл</dt> <dd>См. "бесконечный цикл"</dd> <dt>Рекурсия</dt> <dd>Способ общего определения объекта или действия через себя, с использованием ранее заданных частных определений. См. "рекурсия"</dd> <dt>CSS</dt> <dd>Каскадные таблицы стилей</dd> <dt>CSS3</dt> <dd>Собирательное название модулей CSS так называемого 3-го уровня. Разрабатываются независимо и в разном темпе.</dd> <dt>CSS Selectors level 3</dt> <dd>Один из <a href="http://www.w3.org/TR/css3-selectors/">модулей CSS</a>, описывающий селекторы.</dd> <dt>:nth-child</dt> <dd>Селектор выбора каждого n-го потомка</dd> <dt>:nth-of-type</dt> <dd>Селектор выбора каждого n-го однотипного потомка</dd> </dl> </body> </html>
  3. Обалдеть! Я был уверен, что IE-шный (ниже 8-го) "шибко умный" парсинг списков (съедающий пробелы между LI и переносящий их внутрь) ничем не пробить, а поди ж ты - "комбо" из text-justify: newspaper и hasLayout-а для UL совершают чудо и "принуждают его к сотрудничеству". Мегареспект и гиперуважуха! Если не секрет, как удалось узнать об этих магических нестандартных свойствах? И еще пара-тройка вопросов: 1) Что дает text-justify: newspaper; для не-IE7-? 2) Зачем понадобилось вырубать хелпер и добавлять правило для последней строки (text-align-last) для IE7-, не проще ли оставить хелпера на своем месте и обойтись магией одного лишь text-justify (я наскоро проверил в IE7/WinXP - вроде работает)? 3) Width:99.9% нужен только для включения лейаута (т.е. его можно легко заменить привычным и безопасным zoom:1) или где-то этот один пиксель реально спасает от гориз. скроллинга?
  4. Я сказал "как минимум" . Ноуты с предустановленной вистой, по моему, еще не редкость... Главное, что "шестерке" это не поможет подняться с нынешних рекордно низких 2 млн. . IE7 еще может напоследок подскочить, но он - уже не такая беда...
  5. По опыту прошлых лет, абсолютное кол-во дефолтных браузеров стабильно падает летом (сезон отпусков-каникул у корпоративщиков и "случайных" пользователей) и подскакивает осенью (массовые закупки новых "необжитых" компов к новому учебному году/поре годовых отчетов etc.). Одна надежда, что в этом году новые компы будут идти как минимум с Вистой (кроме нетбуков)...
  6. И доктайп не помешает, квирксмод (эмуляция IE5) в 2010-м - решительно не тру
  7. Правильно не пустили, отрывать данные от подписей в отдельный документ (ладно б просто в отдельную таблицу, как давным-давно делал неугомонный Стью...) - это варварство какое-то. Чем не угодили стандартные способы растяжки дива по контейнеру (напр. position:absolute + top + bottom) и overflow: auto, на кой в 2010 году фреймы?
  8. Если кнопка одна на форме, то как вариант - заменить на <button type="submit">текст</button>, там больше возможностей для стилизации...
  9. По идее, должно помочь, если в label вставить span с display:block, и width вместе с text-align'ом задать этому span-у. Проверить сейчас, к сожалению, не могу, т.к. сам давно последовал совету №1 из предыдущего коммента...
  10. rash, спасибо! Да, получается, нужно было любым способом "выбить" блок с отступом в отдельный контекст форматирования. Overflow:hidden и hasLayout (любым способом) - подходящие варианты.
  11. psywalker, спасибо! "Изоляция" блока с отступом в отдельный контекст (обертку с overflow:hidden) помогла!
  12. Наткнулся на занятную пакость в IE7, вот минимальный пример: <!DOCTYPE HTML> <html> <head> <title>Пример</title> <style> p { margin: 0; padding: 0; } div { padding: 2px; } </style> </head> <body> <div style="width: 72%; float: left; background: #fcc;"> <div> <div style="margin-bottom: 40px; width: 90%; background: #ccc;"> <p>Отступ задан только здесь, с последующим блоком никак не связан...</p> </div> </div> <div style="width: 60%; float: left; background: #cfc;"> <div style="width: 90%; background: #fff;"> <p>Откуда же в IE7 берется отступ под этим блоком?</p> </div> </div> <!-- ...а если раскомментить это?;) --> </div> </body> </html> В нормальных браузерах белый блок прижат к нижней рамке. В IE7 под ним, как и сверху, рисуется 40px розового. Если раскрыть коммент или добавить что угодно в нормальном потоке, он прижимается . Но мне нужно найти решение без дополнительного кода... Подскажите, пожалуйста, куда копать?
  13. Конечно . Мое предложение относилось к условию
  14. Как вариант, можно прибегнуть к "магии" inline-block (см. напр. http://blog.grakhov.com/post/99406348/inline-block). Правда, там есть свои сюрпризы (напр., пробелы между тегами учитываются), но задачу размещения разновысоких блоков в строку оно решает...
  15. SelenIT

    Input URL

    RedEclipse, вроде же уже разобрались, что href у input-а не работает (поскольку не предусмотрен объектной моделью). А <input type="submit"> всегда отправляет форму, и в результате открывается адрес ее action-а. А "../" работает в соответствии со своим смыслом - это ссылка на родительскую директорию относительно текущей. Чтобы прыгнуть сразу на два уровня вверх, нужен соотв. путь - "../../". Чтобы прыгнуть с любого места в корень сайта, можно использовать "/". Подробнее про относительные ссылки можно посмотреть, например, здесь (первое, что нагуглилось).
  16. psywalker, с замечанием согласен, на полную универсальность метода и не претендовал. В основном я хотел показать возможности inline-block и центрирования его с помощью text-align (плюс запрет переноса этих блоков на другую строку). Но чем, все-таки, так уж плохи отрицательные маргины и широкие сплошноцветные бордеры?
  17. Увы, задать "в лоб" фиксированный отступ фоновой картинки от правого края в CSS2.1 невозможно. Самое тривиальное решение - добавить эти 250px самой картинке (в виде белого поля справа), в PNG это не сильно скажется на размере файла. Альтернатива посложнее - сделать общую обертку шириной с левую колонку, а сайдбару визуально вынести из него наружу отрицательным маргином (на всю его ширину).
  18. Небольшая вариация на тему решения psywalkerа. Насчет красоты не ручаюсь, но может подскажет что-нибудь полезное... <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <style type="text/css"> *{ margin: 0; padding: 0;} ul{ list-style: none; background: #888; border-top: 75px solid #ccc; border-bottom: 1em solid #ccc; text-align: center; white-space: nowrap; } ul li { display: inline-block; margin-top: -75px; } ul li span { margin: 0; display: block; width: 55px; height: 55px; border: 10px solid #ccc; } ul li a { display:block; margin: 0; text-align: center; padding: 4px; color: #fff; background: #888; border-left: 1px solid #ccc; text-decoration: none; } ul li:first-child a { border: none; } ul li a:hover { background: transparent; } *+html ul li { /* IE7 */ display: inline; min-height: 1px; } * html ul li { /* IE6 (optional) */ display: inline; height: 1px; } </style> <title>Документ без названия</title> </head> <body> <p>Контент до менюшки</p> <ul> <li style="background: red"><span></span><a href="#">Ссылка</a> </li><li style="background: yellow"><span></span><a href="#">Ссылка</a> </li><li style="background: green"><span></span><a href="#">Ссылка</a> </li><li style="background: orange"><span></span><a href="#">Ссылка</a> </li><li style="background: lime"><span></span><a href="#">Ссылка</a> </li><li style="background: maroon"><span></span><a href="#">Ссылка</a> </li><li style="background: black"><span></span><a href="#">Ссылка</a> </li><li style="background: teal"><span></span><a href="#">Ссылка</a> </li><li style="background: orangered"><span></span><a href="#">Ссылка</a></li> </ul> <p>Контент после менюшки</p> </body> </html>
  19. Ее не видно. Но она есть ul#cssmenu img { border: 0; }должно решить проблему
  20. Хотел сказать, что с не столь далеких времен свойство zoom больше не IE-only. Насчет Оперы, правда, комментатор по ссылке, похоже, приукрасил (по крайней мере, в 10.52 под Убунтой не работает), но в 5-м Хроме работает стабильно. Так что в редких случаях, имхо, можно пользоваться свойством по прямому назначению (напр. в JS-эффектах а-ля FishEye), но при использовании ради побочных эффектов надо уже держать ухо востро (zoom:1, конечно, теоретически ни на что влиять не должен, но кто знает...).
  21. Это не ОК, это Quirks mode (режим совместимости с глюками браузеров 90-х). 100% от чего? По стандарту CSS, высота наследуется не от auto, а только от явно заданного значения. Чтобы подхватить высоту окна, нужна строчка html, body { height: 100%; }
  22. Мои поздравления вдогонку!
  23. С точки зрения смены фона при наведении - ничуть.
  24. С инлайн-блоками нужно постоянно держать ухо востро по поводу пробелов между тегами. В данном примере повезло, что ширина чайлда меньше 100% ширины парента, а то бы хелпер перенесся на новую строку - и привет... Имхо, пробел перед хелпером желательно убрать, а для пущей надежности паренту добавить white-space: nowrap (ну а чайлду вернуть white-space: normal).
×
×
  • 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