Блоковая модель в CSS
За много лет у меня выработалась привычка использовать только те приемы CSS верстки которые дают одинаковые результаты во всех браузерах. При этом уже различия браузеров меня не сильно и волнуют - я просто не использую приемы которые могут не работать в том или ином браузере. При этом, есть вещи которые ни в коем случае нельзя делать, чтобы не усложнять себе жизнь. Одна из таких запретных вещей - никогда нельзя указывать одновременно ширину элемента вместе с padding, margin или border. Если так сделать то разверзнуться небеса и боги CSS будут гневно метать в вас молнии а демоны Interhet Explorer сделают с вами чего похуже.
Чтобы наглядно показать почему так нельзя делать я создал файлик. В нем четыре раскрашенных примера:
1. div с шириной 300 пикселей;
2. div с шириной 300 пикселей и рамкой;
3. div с шириной 300 пикселей, рамкой и паддингом;
4. div с шириной 300 пикселей, рамкой, паддингом и маржином;
Как мы видим, во всех браузерах (я использовал FF, Сhrome и IE, для простоты будем называть этот набор "всеми браузерами") картина примерно одинаковая. При этом обратите внимание - ширина 300 пикселей применяется к внутренней области HTML элемента. Т.е. если задать у элемента десятипиксельные бордер, паддинг и маржин то ширина элемента будет 360 пикслелей.
Такое поведение кажется совершенно нелогичным, но это факт - и в стандарте CSS это четко прописано. Как следствие - невозможно использовать ширину 100% вместе с паддингом, маржином или бордером - тогда элемент гарантированно вылезет за пределы своего владельца, что приведет к весьма непредсказуемым результатам.
Но это только одна сторона медали, теперь уберем из файла DOCTYPE. Как мы знаем html файлы без DOCTYPE в Internet Explorer обрабатыватются совершенно по-другому чем с оным. Это так называемый QuirckMode или еще его называют "режим совместимости".
Во всех браузерах картинка осталась такой же. Кроме Internet Explorer.
Как мы видим не только мне блоковая модель описанная в CSS не понравилась - разработчики IE тоже посчитали её нелогичной, поэтому в ширину элемента в IE входит бордер и паддинг.
Хотя режим совместимости в браузерах используется все реже и реже указанные особенности приходится учитывать при создании страничек на HTML.
10 причин почему я буду голосовать за Прохорова
1. Блог Михаила Прохорова у меня в избранном уже много лет. Товарищ интересно пишет. Кто нибудь ещё из кандидатов в президенты ведёт свой блог САМ столько лет?
2. Прохоров президент Союза Биатлонистов России - кто ещё из кандидатов ТАК активно поддерживает спорт в нашей стране?
3. Прохоров №2 в рейтинге российских миллиардеров - молодец. Многие скажут, что свои миллиарды он получил в перестроечные лихие времена, так и есть, но я знаю много людей которые в перестроечные лихие времена получили как и Прохоров много миллиардов. Сейчас они либо всё это растеряли и пропили, либо умерли, либо в тюрьме. Прохоров сумел приумножить свой капитал. Предприятия принадлежащие Прохорову реально работают - и обратите внимание, это не тупо нефть и газ - это металлургия, это машиностроение, это высокие технологии, это медиа (например РБК) и многое другое.
4. Прохоров - проект Путина? Очень хорошо - я вчера видел машину скорой помощи на которой было написано что Скорая Помощь - Проект Путина. Вот ведь сюрприз - а я то не знал. За такие проекты я буду голосовать двумя руками.
5. Рост Михаила Прохорова — 204 см. Хочу Президента который будет выше всех на голову в прямом и переносном смысле.
6. Прохоров живет в России. Не в Англии, не в Латвии а в России.
7. Прохорову 46 лет. В этом возрасте мозги еще хорошо работают.
8. Предвыборная программа Прохорова не призывает "начать все сначала" - она опирается на сегодняшние реалии и не сулит глобальных перемен - люди устали от перемен - они хотят стабильности.
9. Тот факт, что Прохоров в России, и всё ещё жив и здоров, говорит о том, что он умеет договариваться и делиться. Это полезные качества для политика. Особенно, в нашей стране.
10. Лично мне, чисто субъективно, Прохоров наиболее симпатичен - из всех кандидатов выглядит по-человечески только он один.
На самом деле этот cписок я могу продолжить, но уже озаглавил его как "десять причин", поэтому, пока хватит.
Не рaботает Wake On Lan в Ubuntu
Заметил, что рабочая машинка не стартует по WakeOnLan, при этом пока стояла Windows просыпалась без проблем, с переходом на Ubuntu просыпаться перестала, при этом не просыпается именно после сессии ОС — в биосе стоит что надо просыпаться, а сцуко не просыпается. Поставил ethtool — так тот говорит что wakeonlan у карточки выключен. Похоже, Ubuntu заботливо его вырубает.
Чтобы врубить обратно добавил rc.local:
ethtool -s eth0 wol g
Теперь всё работает.
Собственно вопрос — кто нибудь знает более гуманный способ врубить wake on lan обратно?
Хехе
Вчера рассказали анекдот, наверно бородатый, но мне понравился:
5 марта, утро, Чуров заходит к Путину и говорит, у меня две новости, хорошая и плохая, с какой начать?
П. Ну давай с хорошей.
Ч. Вы - Президент России.
П. А какая плохая?
Ч. За Вас никто не проголосовал.
А если серьезно, то ведь проголосуют и проголосуют многие. Например, молодые люди, которые сейчас набрали ипотечных кредитов на тридцать лет, и работают, чтобы эти кредиты погасить. Им новый президент нафиг не сдался. Ибо смена президента у всех сейчас ассоциируется со сменой курса, инфляций, революцией и прочей фигней. Печально.