Jump to content

SelenIT

Expert
  • Posts

    4,327
  • Joined

  • Last visited

  • Days Won

    140

Everything posted by SelenIT

  1. Не оно случайно (особенно вариант с clear:right)?
  2. Вкратце как-то так: Инлайн - это обычная строка текста. Она переносится по словам (если инлайновый элемент обвести рамкой, при переносе эта рамка разорвется), учитывает соседние пробелы, последующий текст продолжается в той же строке. Инлайны подчиняются text-align (в частности, их можно центрировать). Плавающий блок - это, как справедливо отмечено выше, именно блок (строки текста переносятся внутри него, рамка получается сплошная), пробелы между закрывающим тегом и следующим не учитываются, последующий текст "вытесняется" в незанятое соседнее пространство и там переносится по строкам как обычно, столько строк, сколько уместится по высоте блока. "Выпадают" из контейнера (не влияют на его высоту, если нет последующих блоков с clear или отдельного контекста форматирования, напр. через overflow:hidden). Ширина блока по умолчанию ужимается по контенту. Может прижиматься только к правому или левому краю, центрировать нельзя. По вертикали всегда выравниваются по верхней границе. Бывают проблемы в IE6. Есть еще inline-block: внутри он ведет себя как блок (сплошной прямоугольник, может содержать несколько строк и т.п.), а снаружи - как строчный элемент (слово текста в рамке или картинка). Соседние пробелы учитываются, последующий текст идет в одну строку, продолжается после блока. Ширина блока по умолчанию ужимается по контенту. Не "выпадают" из контейнера. Подчиняются text-align (можно центрировать). Могут выравниваться по вертикали с помощью vertical-align (по верху, низу, центру, базовой линии текста и не только). Требуют небольшого хака в IE6-7 и аццких хаков в (к счастью, практически вымершем) FF2. Ссылки про float-ы: раз (почти исчерпывающая), два. Про inline-block - например, вот (см. тж. комменты). Еще была когда-то хорошая статья Томми Олссона (http://www.autisticcuckoo.net/archive.php?id=2005/01/11/block-vs-inline-1), но сейчас его сайт лежит с ошибкой (нашелся только немецкий перевод).
  3. html{ overflow:auto; }для документа в ифрейме должно помочь.
  4. Видимо, получалась циклическая зависимость: ширина блоков должна браться от ширины таблицы, но та в случае длинного содержимого должна браться по контенту. Поэтому контент и распирал таблицу на всю свою фактическую ширину и не обрезался. Table-layout: fixed; эту зависимость от ширины контента убирает.
  5. А что в маленьком примере с кодировкой? И что за символы перед доктайпом - BOM-метка?
  6. Имхо, сюда напрашивается добавочная таблица связей (search_id, product_id). Тогда подсчитать кол-во соответствий можно будет обычным джойном, без мучений с лайком. Тем более, что лайк с '%' в начале всё равно не сможет использовать индексов...
  7. SelenIT

    Float in Float

    С <p> не перепутали случайно? В <li> блоки пихать можно. Собственно, возможность вложенных списков на этом строится. Плюс редко, но бывает необходимость сделать, например, список блочных цитат с подписями или ленту новостей с заголовками и анонсами...Вот в <a> пихать блоки можно только в HTML5 (в браузерах это уже работает, но в IE может глючить курсор при наведении).
  8. Разве что отогнать текст пустышкой подходящего (как минимум не меньшего, чем врезка) размера, а саму врезку отпозицинировать поверх пустышки абсолютно... Или яваскриптом, оставить в нужном месте пустой плавающий плейсхолдер, а после загрузки врезки сделать document.getElementById("id_плейсхолдера").appendChild(document.getElementById("id_врезки")) - правда, в момент срабатывания верстка дернется (как бывает при догрузке картинок с незаданными размерами) и при отключенных скриптах, увы, придется врезке побыть концевой сноской. Других вариантов (по крайней мере, до массовой поддержки template layout'ов и подобных радостей CSS3) не вижу...
  9. Запоздало, но от души присоединяюсь к поздравлениям и пожеланиям!
  10. Между тегами. Был про это топик на Хабре (я сам долго не верил, пока не поэкспериментировал).
  11. Почему? Если иконка - именно оформление, а не иллюстрация... Если хотя бы ширина иконок фиксирована - можно извернуться как-то так... <!DOCTYPE html> <title>h2</title> <style> h2 * { vertical-align: middle; } h2 span { display: inline-block; padding-left: 50px; } h2 img { margin-right: -50px; } </style> <h2><img src="icon.gif"><span>Текст в 1 строку</span></h2> <h2><img src="icon.gif"><span>Текст подлиннее в 2 строки</span></h2> <h2><img src="icon.gif"><span>Очень-очень длинный-предлинный текст в целых 3 строки</span></h2> Но по-моему фонами - лучше всего.
  12. psywalker, если делать списком - в IE7 (включая IE8-притворщика) и ниже пробелов между элементами списка не будет, они тупо игнорируют закрывающий </li>. А здесь эти пробелы критичны...
  13. Почему +1? Месяцы-то в JS с нуля нумеруются (для удобства использования в индексах массивов). Первый код - абсолютно правильный, ищет "нулевой день марта" = последний день февраля, что и требуется. По сути, второй раз вызывать new Date() даже не надо, эти даты и так совпадают. О високосных годах тоже беспокоиться незачем, new Date() учитывает все эти вещи сам.
  14. Можно пропорционально растянуть пробелы между пунктами. Не самый красивый пример навскидку: <!doctype html> <title>test</title> <style> .menu { text-align: justify; } .menu a { display: inline-block; border: 1px solid; padding: 1em; } a:hover { text-decoration: none; color: green; } a.end { width: 100%; height: 0; overflow: hidden; padding: 0; border: 0; } </style> <!--[if lte IE 7]> <style> .menu a { display: inline; zoom: 1; } </style> <![endif]--> <div class="menu"> <a href="#">Новости</a> <a href="#">Свадьба</a> <a href="#">Семейные праздники</a> <a href="#">Детские праздники</a> <a href="#">Корпоративы</a> <a href="#">Кейтеринг</a> <a href="#">Форум</a> <a class="end"></a> </div> Не список, потому что LI с фактическим display:inline-block странно воспринимаются IE6-7...
  15. Шрифт, нарисованный на CSS
  16. С vertical-align можно поиграться... top или middle попробовать (возможно, вдобавок к line-height). Но вообще идея про фоновую картинку - самая правильная. В этих <li> точно ссылок нет, случаем? Можно было бы сделать фоном для #menu li a...
  17. В качестве варианта для затравки: <!doctype html> <style> .left_bg { background: #ccf; min-width: 400px; overflow: hidden; } .right_bg { float: right; background: #fcc; width: 50%; padding-left: 30px; border-left: 70px solid #ccc; } .left { float: left; width: 100%; margin-left: -100%; } .left .content { padding: 10px 100px 10px 10px; } .middle { float: left; width: 70px; background: #ccc; margin-left: -100px; } .middle .content { padding: 10px; } .right { float: left; width: 100%; margin-left: -30px; } .right .content { padding: 10px; margin-right: -30px; } </style> <div class="left_bg"> <div class="right_bg"> <div class="left"> <div class="content"> <p>Left column content</p> </div> </div> <div class="middle"> <div class="content"> <p>Mid. col. con­tent</p> </div> </div> <div class="right"> <div class="content"> <p>Right column long text content</p> </div> </div> </div> </div> Правда, проверял пока только в FF3.6...
  18. SelenIT

    $_POST vs $_REQUEST

    Замена $_POST на $_REQUEST в плане "защиты" - с чем боролись, на то и напоролись. Опасность register_globals в том, что подсунуть данные можно любым путем (хоть постом, хоть гетом, хоть куками), $_REQUEST - та же ерунда в профиль. Но вообще у этого скрипта странная логика. Я бы делал всё последовательно. Сначала проверил, пришли ли нужные пост-данные. Если не пришли - вывел бы форму с требованием их ввести, дергать базу в этом случае вообще бессмысленно. А вот если пришли - тогда есть смысл коннектиться к базе, делать запрос и выводить сообщение об успехе или ошибке в зависимости от его результата (наподобие примера Ялекса)...
  19. Это CSS2.1. Но это не весь CSS, существующий на сегодняшний день (как минимум), а с CSS3 уже не всё так просто...
  20. Имхо, тем, кто озабочен "валидацией CSS", полезно сперва прояснить для себя, что это такое (hint: валидность HTML/XML - соответствие приложенной схеме, а где указывается схема для CSS и указывается ли вообще?)...
  21. Нельзя. Ссылку в ссылке через таблицу-прослойку "воспринимает" как раз только IE, а вообще это ошибка с непредсказуемым результатом, работать "вложенные ссылки" скорее всего не будут. Сделайте общую обертку для ссылки и ее подсказки (напр. div) и задавайте эффект для нее, а для IE6 (если его поддержка важна) используйте JS-костыль типа whatever:hover. Или сразу делайте подсказку на JS, есть неплохие готовые решения с JQuery и т.п., с плавным появлением, подгонкой к границам окна и прочими плюсами. И еще, вкладывать блочное в строчное (table в span в данном случае) — тоже ошибка.
  22. SelenIT

    HTML 5.0

    По-моему, XML и HTML5 нисколько не противоречат друг другу. Первое — инструментальная база (со всеми ее плюсами в виде простого парсинга, неограниченной расширяемости, кучи стандартных средств для обработки, выборок и преобразований и т.п., и минусами в виде драконовского контроля ошибок и неопределенности семантики и дефолтного отображения), второе — сборная солянка из унифицированного словаря, кучи унифицированных же интерфейсов всего ко всему (заточенных под реальные задачи) и двух взаимозаменяемых стандартных и однозначных синтаксисов, один их которых дает бонус нефатальности ошибок, а второй — сюрприз — является XMLем . Можно объединить их плюсы — XHTML5. Кстати, менюшки в HTML5 тоже могут быть вполне себе семантичными...
  23. Я бы сказал, что не "еще лучше", а только второй вариант и есть правильный. Первый — разве что для каких-нибудь совсем уж художественных изысков...
  24. Для IE это лишь комменты. Непонятно только, кого таким макаром обманываем — то ли валидатор, то ли всех остальных...
  25. Нет, обернуть скрипты в CDATA, заэкранировав соотв. метки: <script type="text/javascript"> //<![CDATA[ здесь скрипт //]]> </script> Еще лучше выносить скрипты в отдельный файл. P.S. И стоил этот XHTML таких мучений?
×
×
  • 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