Прочитав комментарии к заметке Firefox 3: * {display: block } bug, понял что заметная часть читателей Хабра, в том числе серьёзно занимающиеся веб-разработкой, не совсем верно представляют себе что-то же такое HTML, и почему теги отображаются так, а не иначе.
arzamas @arzamas
Пользователь
css fix для различных браузеров
2 мин
12KПредставьте себе абстрактный разговор абстрактного заказчика с абстрактным верстальщиком.
— У тебя бага в менюшке, все наверх съехало, — говорит заказчик.
— Посмотрел во всех браузерах, нету! Ты в каком смотришь? — говорит верстальщик.
— В фаерфоксе.
— Нормально все там, — говорит верстальщик, просмотрев сайт во всех версиях фаерфокса.
— Осталось бага. Если это важно, то я с мака.
+149
FC-TrackBar 0.4.1 — новое начало
2 мин
2.8KЗаглянем в прошлое
Не так давно в статьях раздела JavaScript были представлены широкой публике трекбары:![](http://fastcoder.org/demo/TrackBar/0.4.1/screen3.gif)
Проект неожиданно получил продолжение. К разработке присоединились камрады abarmot и 1602, а активное обсуждение привело к улучшению текущего и реализации нового функционала. Поэтому, появилось желание сделать проекту свой собственный «дом», где он будет жить и развиваться, что было успешно реализовано на sourceforge.net. Теперь вместо того, чтобы писать статью на каждое изменение в трекбарах автор может спокойно обновлять архивы и описания, а вы самостоятельно скачивать последние версии.
+42
Динамическая висячая пунктуация в HTML
2 мин
6.2KНаверняка вы видели на многих сайтах свешивающиеся в начале строк кавычки и скобки. И хотя на бумаге такое полное свешивание в простых текстах (не заголовках) как минимум спорно, на вебе это выглядит отлично. Такое поведение текста называется «висячая пунктация», и на текущий момент есть ровно один способ её реализации в (X)HTML/CSS — добавление парных стилей. Этот способ, скажем, применён на сайте Артемия Лебедева.
Главный минус классической «лебедевской» реализации висячей пунктуации на вебе — её статичность. Поясню, как у них это сделано.
В CSS прописаны парные стили: .h[symbol] и .s[symbol], например, .slaquo и .hlaquo. Для каждого из них прописан отвес через margin. При использовании свешивающихся символов в тексте к пробелу перед символом добавляется стиль s[symbol], а к самому символу — h[symbol]. Соответственно, когда и пробел, и символ, находятся в одной строке, отвесы взаимно компенсируются, и текст выглядит как обычно. А когда свешивающийся символ по каким-то причинам сносится на следующую строку — первый стиль (балансирующий второй блок) остаётся на предыдущей строке, поэтому нужный символ свешивается влево на заданный отвес.
Реализация по сути хорошая, с одним «но» — шрифты. Для каждого шрифта отвес, скажем, открывающей кавычки-ёлочки или открывающей скобки разный. Да, конечно, мы можем его вычислить вручную и прибить в таблице стилей гвоздями (так и сделано у Лебедева на сайте), но для этого придётся быть уверенным, что как минимум у 90% посетителей сайта будет именно этот шрифт. В случае, если браузер покажет это каким-то иным шрифтом, начнутся проблемы с разъезжающимися строками.
Что было сделано?
Главный минус классической «лебедевской» реализации висячей пунктуации на вебе — её статичность. Поясню, как у них это сделано.
В CSS прописаны парные стили: .h[symbol] и .s[symbol], например, .slaquo и .hlaquo. Для каждого из них прописан отвес через margin. При использовании свешивающихся символов в тексте к пробелу перед символом добавляется стиль s[symbol], а к самому символу — h[symbol]. Соответственно, когда и пробел, и символ, находятся в одной строке, отвесы взаимно компенсируются, и текст выглядит как обычно. А когда свешивающийся символ по каким-то причинам сносится на следующую строку — первый стиль (балансирующий второй блок) остаётся на предыдущей строке, поэтому нужный символ свешивается влево на заданный отвес.
Реализация по сути хорошая, с одним «но» — шрифты. Для каждого шрифта отвес, скажем, открывающей кавычки-ёлочки или открывающей скобки разный. Да, конечно, мы можем его вычислить вручную и прибить в таблице стилей гвоздями (так и сделано у Лебедева на сайте), но для этого придётся быть уверенным, что как минимум у 90% посетителей сайта будет именно этот шрифт. В случае, если браузер покажет это каким-то иным шрифтом, начнутся проблемы с разъезжающимися строками.
Что было сделано?
+48
Веб-типографика сегодня. Часть IV
13 мин
43KЧасть I — Часть II — Часть III — Часть IV — Часть V — Часть VI
Часть IV
Итак, настала пора выяснить, какие шрифты и с какой долей вероятности могут оказаться установленными в тех или иных операционных системах либо в результате каких-то особых ситуаций (например, при установке пакетов Microsoft Office, Adobe Creative Suite или CorelDRAW! Suite), либо в «девственно чистых» ОС (что, несомненно, наиболее приемлемый вариант). А также узнать, какие из этих шрифтов пригодны для использования и в каких конкретно случаях.
Часть IV![](https://habrastorage.org/getpro/habr/post_images/f18/80e/21d/f1880e21d305a68bc84939831c2e01e1.png)
Итак, настала пора выяснить, какие шрифты и с какой долей вероятности могут оказаться установленными в тех или иных операционных системах либо в результате каких-то особых ситуаций (например, при установке пакетов Microsoft Office, Adobe Creative Suite или CorelDRAW! Suite), либо в «девственно чистых» ОС (что, несомненно, наиболее приемлемый вариант). А также узнать, какие из этих шрифтов пригодны для использования и в каких конкретно случаях.
+84
Эффективный способ повысить умственную работоспособность
13 мин
221KВ прошлой заметке я писал о том, чего не стоит делать, если у вас проблемы с работоспособностью. В этой части я расскажу об эффективном способе, не требующем медикаментов. Медикаменты — это только поддержка, дополнение. Но способ этот требует организованности и силы воли, а потому так нелюбим большинством из нас.
+157
Вредная верстка
9 мин
74KКак определить, что сайт сверстан качественно?
Есть много статей о том, как делать хорошо, но совсем нет – о том, как делать не надо, ведь даже валидный и кроссбраузерный сайт может быть сверстан отвратительно.
Есть много статей о том, как делать хорошо, но совсем нет – о том, как делать не надо, ведь даже валидный и кроссбраузерный сайт может быть сверстан отвратительно.
Из этой статьи вы узнаете:
- О плохих приемах современной верстки;
- О том, как даже не будучи профессионалом, за 5 минут определить плохо ли сверстан сайт или нет.
+147
Разгоняем CSS-селекторы: id против class, раунд второй
1 мин
5.3KВ первой статье цикла я уже рассматривал скорость работы движка, ответственного за создание и отображение HTML-страницы на экране. Однако, сейчас речь пойдет о несколько другом аспекте, нежели движок CSS-селекторов. Данная серия тестов была посвящена скорости создания отдельного HTML-документа.
Если в первых двух исследованиях ставилась под вопрос скорость распознавания браузером CSS-правил и их применение, то сейчас интересовал другой вопрос, а именно: как быстро браузер создает DOM-дерево в зависимости от наличия в нем элементов с
Для этого было подготовлено 3 набора HTML-файлов. Первый содержал 10000 элементов, у которых часть имеет
читать дальше на webo.in →
Методика
Если в первых двух исследованиях ставилась под вопрос скорость распознавания браузером CSS-правил и их применение, то сейчас интересовал другой вопрос, а именно: как быстро браузер создает DOM-дерево в зависимости от наличия в нем элементов с
id
или class
?Для этого было подготовлено 3 набора HTML-файлов. Первый содержал 10000 элементов, у которых часть имеет
id
(количество именованных элементов варьировалось от 50 до 10000). Во втором HTML-файлы были, практически, идентичными, только вместо id
имели атрибут class
. В третьем наборе в DOM-дереве были только элементы с id
(т.е. варьировалось само число элементов). Соответственно, все измерения проводились в скрытом iframe
, чтобы избежать отрисовки загружаемой страницы на экране.читать дальше на webo.in →
+37
Всё ли так просто с многоточием?
7 мин
93K
Многоточие (эллипсис, от греч. ellipsis — незаполненность) — самостоятельный типографский знак, разновидность отточия, состоящий из трёх точек идущих подряд, используется для обозначения скрытого смысла, особенностей устной речи (вздох, пауза, задумчивость), недосказанности либо для исключения из текста некоторых слов, например при цитировании.
+112
Виды денежных расчетов с фрилансерами
6 мин
3.9KСначала маленькая преамбула:
Для большинства людей, которые уже занимаются или занимались фрилансом — данный пост ничего нового не расскажет.
Для тех, кто работает с иностранными заказчиками — тоже. Суть данной заметки — ознакомительная, для того, чтобы помочь тем, кто только собирается «встать на тропу фриланса».
Эдакая удобная шпаргалка по методам расчета с заказчиками. Также будет полезна для заказчиков, которые работают с фрилансерами и не знали (не знают) как можно расчитываться с фрилансерами.
Для большинства людей, которые уже занимаются или занимались фрилансом — данный пост ничего нового не расскажет.
Для тех, кто работает с иностранными заказчиками — тоже. Суть данной заметки — ознакомительная, для того, чтобы помочь тем, кто только собирается «встать на тропу фриланса».
Эдакая удобная шпаргалка по методам расчета с заказчиками. Также будет полезна для заказчиков, которые работают с фрилансерами и не знали (не знают) как можно расчитываться с фрилансерами.
+9
Rss-иконки на раздачу | Продолжение акции
2 мин
917Я не сомневался, что моя акция с раздачей иконок будет иметь успех. Учитывая, что в данном случае «халява» не благоукраденная, как варез, или что-то в этом роде. Авторские иконки, каждая из которых — моё метафорическое видение блога-участника акции, его темы и характера.
Итак, первые десять участников уже получили иконки, и осветили акцию в своих блогах. Я решил составить в этом посте минигалерею, со ссылками на конкретные применения (разместить успели не все, но это — дело времени).
1. Подкастер и радиогик Росновский, получил «сплэш-айкон» с плюющимся весёлым динамиком:
![rosnovsky](http://www.design-freak.com/images/rss_campaign/001.jpg)
2. Еретик, у которого «по пять страниц» обо всём читабельном на свете обрёл архивную арэсэс-книгу:
![eretik](http://www.design-freak.com/images/rss_campaign/002.jpg)
3. ИКЕА-блог иконку не получил… В традициях компании ему достались составляющие, для самостоятельного монтирования:
Итак, первые десять участников уже получили иконки, и осветили акцию в своих блогах. Я решил составить в этом посте минигалерею, со ссылками на конкретные применения (разместить успели не все, но это — дело времени).
1. Подкастер и радиогик Росновский, получил «сплэш-айкон» с плюющимся весёлым динамиком:
![rosnovsky](http://www.design-freak.com/images/rss_campaign/001.jpg)
2. Еретик, у которого «по пять страниц» обо всём читабельном на свете обрёл архивную арэсэс-книгу:
![eretik](http://www.design-freak.com/images/rss_campaign/002.jpg)
3. ИКЕА-блог иконку не получил… В традициях компании ему достались составляющие, для самостоятельного монтирования:
+87
Для «чайников»: Стандарт стопроцентно читабельных сайтов
5 мин
6.4KПеревод
Большинство веб-сайтов нашпиговано мелким текстом, читать который — сплошное мучение. Для чего? Нет никаких причин для того, чтобы ужимать так много информации на один экран. Это — просто дурацкое коллективное заблуждение, восходящее к временам, когда экраны были очень, очень маленькими. Поэтому…
Мы не хотим постоянно менять настройки размера шрифта в браузере при посещении каждого нового сайта.
Сайты со страницами, под завязку набитыми информацией, не привлекательны визуально — они ужасны. Заполнение страниц всякой всячиной никогда не влияло на юзабилити положительно. Это просто лень-матушка заставляет вас вываливать на наши головы всю эту информацию. Мы хотим, чтобы вы подумали и заранее решили, что именно является наиболее важным. Мы не хотим делать вашу работу за вас.
Потому что в таком случае все сайты плохие. В прокручивании веб-страницы нет ровным счётом ничего страшного. Ни-че-го. Так же, как нет ничего страшного в перелистывании страниц книги.
95 % того, что обычно называют веб-дизайном, — это типографика.
Лучше вместо этого перестаньте тереться носом об экран, откиньтесь в кресле назад (!) и продолжайте чтение этой статьи в расслабленной позе.
Не заставляйте нас изменять размер шрифта
Мы не хотим постоянно менять настройки размера шрифта в браузере при посещении каждого нового сайта.
Не доказывайте нам, что переполненные страницы лучше выглядят
Сайты со страницами, под завязку набитыми информацией, не привлекательны визуально — они ужасны. Заполнение страниц всякой всячиной никогда не влияло на юзабилити положительно. Это просто лень-матушка заставляет вас вываливать на наши головы всю эту информацию. Мы хотим, чтобы вы подумали и заранее решили, что именно является наиболее важным. Мы не хотим делать вашу работу за вас.
Не втирайте нам, что прокрутка страниц — это плохо
Потому что в таком случае все сайты плохие. В прокручивании веб-страницы нет ровным счётом ничего страшного. Ни-че-го. Так же, как нет ничего страшного в перелистывании страниц книги.
Не говорите нам, что текст не важен
95 % того, что обычно называют веб-дизайном, — это типографика.
Не требуйте, чтобы мы начали носить очки
Лучше вместо этого перестаньте тереться носом об экран, откиньтесь в кресле назад (!) и продолжайте чтение этой статьи в расслабленной позе.
+113
Цифры, числа и числительные
9 мин
38KПо следам хабралинча имени Рюмкина коснёмся темы правильного типографического оформления чисел. В голову пришли следующие темы, если что-то вдруг забыто — пишите в комментариях, добавлю в статью.
- Минускульные и маюскульные цифры
- Целые числа и десятичные дроби
- Простые дроби
- Буквенные сокращения (тысяча, миллион, миллиард)
- Диапазоны
- Порядковые числительные и числительные в составе сложных слов
+77
Аудиоплеер mp3 файлов на flash для вашего сайта — бесплатно
1 мин
9KИтак, для всех тех, кто хотел mp3-плеер на свой сайт, абсолютно бесплатно для вас мы сделали вот такой:
![](https://habrastorage.org/getpro/habr/post_images/e26/3fe/3bb/e263fe3bbf4ff0678dea75b244a4e274.png)
Да, да, абсолютно бесплатно.
Пользуйтесь на здоровье!
![](https://habrastorage.org/getpro/habr/post_images/e26/3fe/3bb/e263fe3bbf4ff0678dea75b244a4e274.png)
Да, да, абсолютно бесплатно.
Пользуйтесь на здоровье!
+38
Какие этапы прописывать в договоре
7 мин
13KВ прошлых заметках и комментариях к ним я рекомендовал разбивать работу с заказчиком на этапы, каждый этап сдавать и получать за него деньги. Коллеги стали спрашивать, какие этапы можно выделить при создании сайта, и я решил написать об этом подробнее.
+54
Blueprint
4 мин
27KBlueprint — довольно интересный фреймворк для верстки сеткой, который я лично считаю удобным, потому как он позволяет довольно просто создавать весьма сложные страницы, при этом не думая об IE.
Со страницы проекта на Google Code скачиваем архив.
В архиве будет папка blueprint/ там и содержатся основные файлы фреймворка, их и подключаем к странице:
Со страницы проекта на Google Code скачиваем архив.
В архиве будет папка blueprint/ там и содержатся основные файлы фреймворка, их и подключаем к странице:
<link rel="stylesheet" href="css/blueprint/screen.css" type="text/css" media="screen, projection">
<link rel="stylesheet" href="css/blueprint/print.css" type="text/css" media="print">
<!--[if IE]><link rel="stylesheet" href="css/blueprint/ie.css" type="text/css" media="screen, projection"><![endif]-->
+46
Верстка без float'ов
2 мин
8.7KПеревод
Существует много разных способов css разметки. Некоторые базируются на абсолютном позиционировании, другие используют float'ы. Первый метод плохо поддерживает «резиновость» макета, тогда как второй это неплохой способ разметки.
Но, как и многие мощные инструменты, float'ы имеют свои изъяны. Для начала, верстка на основе float'ов не такая простая к пониманию, а также float'ы есть источником многих багов (в основном в ИЕ), что делает их не идеальным вариантом в погоне за кроссбраузерностью.
Итак, речь далее пойдет о
Но, как и многие мощные инструменты, float'ы имеют свои изъяны. Для начала, верстка на основе float'ов не такая простая к пониманию, а также float'ы есть источником многих багов (в основном в ИЕ), что делает их не идеальным вариантом в погоне за кроссбраузерностью.
Итак, речь далее пойдет о
+45
Grid Design или вёрстка с Сеткой.
4 мин
42KНа технику Сетки я обратил внимание около года назад. Тогда эта техника после очень поверхностного изучения показалась мне бесполезной и очень экспериментальной, отталкивало то что для реализаций необходимо создавать лишнюю разметку. Но сейчас уже становится трудно не замечать количество веб-сайтов построенных на сетке, а так же количество статей и уроков о ней. Благодаря последним стало гораздо проще изучить и понять принципы и концепцию, сделать более менее реальные выводы. Мой вывод спустя год таков — «Это простое и полезное решение которое когда либо было создано для вёрстки веб-страниц, должен знать каждый уважающий себя веб-дизайнер.»
+29
Про резиновую верстку
1 мин
29KНавеяно этим.
Для тех, кто, возможно, не знает как сделать так, чтоб всё было хорошо.
Сайт должен тянуться только до определённой величины, и сужаться тоже только до некоторого значения. Я обычно беру 1500 и 980 пикселей соответственно.
Как сделать? min-width и min-height.
Но ведь IE их не поодерживает. А expression слишком нагружает браузер… Спокойно, други! Я выведу вас к свету из тьмы!
Пишем далее.
А в ie.js помещаем
В чём особенная вкусность приведённого метода? А в том, что минимальное и максимальное значение нужно задавать только в одном месте, ну и вообще.
Пользуйтесь, короче, на здоровье!
Для тех, кто, возможно, не знает как сделать так, чтоб всё было хорошо.
Сайт должен тянуться только до определённой величины, и сужаться тоже только до некоторого значения. Я обычно беру 1500 и 980 пикселей соответственно.
Как сделать? min-width и min-height.
#site {
margin: 0 auto; /*это чтоб центрировать контент при превышении max-width*/
min-width: 980px;
max-width: 1500px;
}
Но ведь IE их не поодерживает. А expression слишком нагружает браузер… Спокойно, други! Я выведу вас к свету из тьмы!
Пишем далее.
А в ie.js помещаем
window.attachEvent('onload', mkwidth);
window.attachEvent('onresize', mkwidth);
var minwidth = document.getElementById("site").currentStyle['min-width'].replace('px', '');
var maxwidth = document.getElementById("site").currentStyle['max-width'].replace('px', '');
function mkwidth(){
document.getElementById("site").style.width = document.documentElement.clientWidth < minwidth ? minwidth+"px" : (document.documentElement.clientWidth > maxwidth ? maxwidth+"px" : "100%");
};
В чём особенная вкусность приведённого метода? А в том, что минимальное и максимальное значение нужно задавать только в одном месте, ну и вообще.
Пользуйтесь, короче, на здоровье!
+116
Всё (или почти всё) о пробеле
13 мин
135KКак следует из заголовка, речь в статье пойдёт о неотъемлемой части любого русскоязычного (и не только) текста — о пробеле. Мы затронем историю пробела, виды пробелов, вопросы употребления пробела в веб-типографике.
Вообще говоря, пробел — это любое пустое место в рукописном, печатном или отображаемом на любом другом носителе тексте. Так что пробелы бывают разные:
Вообще говоря, пробел — это любое пустое место в рукописном, печатном или отображаемом на любом другом носителе тексте. Так что пробелы бывают разные:
- спусковые (большие вертикальные пропуски в первой полосе издания) и концевые пробелы полосы,
- абзацные отступы и концевые пробелы абзаца,
- межстрочные пробелы (между строками текста),
- межсловные пробелы (между словами в одной строке),
- межбуквенные пробелы (между буквами в слове).
+126
Информация
- В рейтинге
- Не участвует
- Откуда
- Казахстан
- Дата рождения
- Зарегистрирован