CSS трюки и секреты. Советы и секреты CSS

Даже верстальщики с довольно таки большим опытом долго не могут привыкнуть к тому, что только с помощью CSS можно сделать практически что угодно - от разметки колонок до кнопок и всплывающих окон. Технология Cascading Style Sheets позволяет указывать практически любые элементы дизайна — от размера шрифтов до цвета отдельных блоков. Но не все знаю, что CSS могут сделать намного больше.
Синтаксис CSS

Существуют три способа применения стилей в документе HTML.

1. Встраивание (inline). Описание стиля можно встроить в различные дескрипторы (теги) HTML, для которых стиль имеет смысл, например: для объявления абзацев, заголовков, горизонтальных полос, якорей и ячеек таблицы. В следующем примере демонстрируется дескриптор объявления абзаца с добавлением к нему атрибута STYLE для получения требуемого эффекта.

Текст красного цвета

2. Внедрение (embed), обеспечивающее контроль над страницей HTML. Использование дескриптора

текст красного цвета

3. Связанные (link) стили, называемые также внешними, являются развитием внедренных стилей. При этом используется тот же дескриптор STYLE, что и ранее, но все описания хранятся в отдельном файле (обычно с расширением.css). Сам файл либо должен располагаться в корневом каталоге узла, либо вы должны корректно определить связь с ним в HTML-документах.

текст красного цвета

style.css должен содержать:

Селекторы

Это элементы дескрипторов, задаваемые в начале определения листов стилей; эти элементы сообщают браузеру, где применить стиль. Стоящее после селектора определение стиля заключается в фигурные скобки. Вот пример, в котором селектором является BODY:

body { color: blue}

Несколько селекторов можно группировать вместе, отделив их друг от друга запятыми:

h1, p, h2{font-size: 12px}

Вместо селекторов можно использовать маску *. В данном примере стиль с определенным кеглем шрифта применяется ко всем находящемся на странице дескрипторам:

* { font-size: 14pt}

Другим символом маски является знак >. Таким образом, браузеру дается указание искать дочерние селекторы в пределах определенного родительского. В данном примере стиль применяется только к элементам LI спискам OL:

ol > li {list-style-type: decimal}

Используя селекторы классов, можно к одному и тому же дескриптору применять разные стили. После общего селектора следуют точка и имя класса, и стиль применяется тому дескриптору, чей атрибут CLASS соответствует этому имени. В следующем примере стиль применяется ко всем дескрипторам H2, у которых атрибут CLASS равен "myBlue":

h2.mybule {background-color: bule}

у этого заголовка синий фон

Селекторы также можно определять с помощью атрибута id, используя для этого символ #. В следующем примере стиль соответствует любому дескриптору, у которого значение атрибута id является "ducie"

#ducie {border-color: yellow}

Селектор A соответствует любому элементу А, у которого задан определенный атрибут, не зависимо от его значения (не работает в IE).

table{ border:1px solid red;}

Селектор A соответствует любому элементу А, определенный атрибут которого имеет заданное значение (не работает в IE).

input {background-color:red;}

Селектор А соответствует любому элементу А, который имеет заданное значение в качестве одного из значений атрибута lang (не работает в IE).

P{text-align:left;}

Псевдоклассы

Псевдокласы являются особой группой, позволяющей объединять несколько стилей для какого-либо объекта. Например, вы можете задать свойства для первой буквы параграфа. Для этого вы назначаете для дескриптора P псевдокласс:first-letter, в котором устанавливаете различные стили:

p:first-letter { float: right; font-size: 2em; color: red;}

В CSS2 определяются следующие псевдоклассы:

:first-child -первый дочерний элемент другого элемента;

:hover — элемент, над которым в настоящее время находится курсор;

:active — активный в данный момент элемент;

:focus — элемент, имеющий фокус ввода;

:lang — этот псевдокласс определяет текущий язык;

:first-line — первая формированая строка абзаца;

:first-letter — первая буква абзаца;

:before — определяет содержимое перед элементом;
:after — определяет содержимое после элемента.

Хорошо Плохо

Каскадный таблицы стилей обладают огромным функционалом и скрывают много интересных особенностей, а порой и подводных камней. За время работы у меня накопилось (и продолжает накапливаться) библиотека связанных с CSS трюков и секретов. Что-то забывается, что-то кажется сегодня ненужным, но может пригодится в будущем. Поэтому самое правильное, это записывать и делиться и самому проще потом найти и кому-то еще может оказаться полезно.

Многие примеры кастомных элементов совершенно не соответствуют проблемам действительности. Начнем с того как в принципе делается кастомный чекбокс и откуда идет необходимость. С необходимость все просто – нативный дизайн чебоксов мало кому нравится и смотрится не очень почти в любом сайте. Теперь как его, собственно, изменить – нативный компонент изменить не получится, каким он родился,

Отличная статья с визуальными примерами о том как работает схлопывание внешних отступов у элементов – What’s the Deal with Margin Collapse?. Как-то так получилось, что не все фронтенд разработчики знают об этом поведении внешних отступов. Когда схлопывание происходит У двух соседних элементов. У дочернего элемента. В том случае, если высота элемента равна нулю, то схлопнуться

Порой нужно разобраться в том где расположен каждый из элементов. Это нужно обычно для того чтобы найти баг в css. Например, отловить как внезапно нарисовался скроллбар или почему появился лишний overflow. Самое простое решение для этого – выделить все элементы добавив им рамку. Однако, использовать стиль border не стоит потому что поедет верстка, так как

Доклад Виталия Фридмана (Vitaly Friedman) о том как сделать веб лучше и быстрее для всех. Виталий копает в браузерных технология так глубоко, что скоро найдет нефть. В этом и вся прелесть его докладов. Рекомендую всегда. Я перечислю основные моменты видео, самая презентация целиком находится ниже. Сжимаем изображения Помимо gzip существует еще как минимум 2 технологии

Каждый раз как говорю о том, что нужно оптимизировать css селекторы, не использовать каскады, то слышу в ответ – “так и так быстро работает, тем более на небольшом количестве элементов”. И тут сложно не согласиться – действительно быстро, если немного элементов, более того вы скорее всего и не сталкивались толком с проблемами медлительности из-за кривых

Немного новостей из мира обновлений в хроме. Остальные браузеры тоже подхватывают конечно, но пока выступают только в роли догоняющих. Новая разметка grid В сентябре прошлого года я писал о том, что в браузеры собираются внедрять новую css разметку. Так вот она уже в хроме! Можно брать и пользоваться. Кстати, поддерживается всеми современными браузерами. Сайт с

Разные селекторы по-разному обрабатываются браузером (капитан очевидность). Как следствие одни работают быстрее чем другие. Имеет смысл внимательно подходить к работе с селекторами с самого начала, потому что когда уже нужно решать проблему с перформансом написано столько кода, что мама не горюй. Разные селекторы по скорости работы. Чем ниже, тем хуже. ID, например Класс, например

Очень приятная коллеция примеров визуальных веб решений – анимация, скрипты. Аж больше 300 штук, собранных отовсюду в сети. Автор конечно проделал большую работу, разумеется большая часть этих примеров так и останется на полках фронтендеров, но для вдохнавления все равно стоит посмотреть 😉 Ссылки

Если вы называете себя опытным игроком, то это значит, что вы давно уже знаете эти секреты, и они вам ни к чему. Только, пожалуй, матчасть повторить. Хотя все равно советуем пробежаться глазами, вдруг что интересное найдёте.

А если вы еще не самый опытный игрок, то эти советы помогут вам подняться на пару уровней выше. Ведь это как в любом другом мастерстве - когда мастера открывают свои секреты, хорошие ученики их слушают и применяют, а плохие пропускают мимо ушей и остаются на своем уровне.

Итак, начнем с самого банального. Уважаемые контр-террористы. Если ваши противники имели неосторожность запереться в одной комнате, и там сидят уже продолжительное время, не давая вам туда даже заглянуть, то вам помогут ваши верные друзья - пулемет и гранаты. Ну и три напарника с теми же «друзьями». Поверьте, что четыре пулеметчика, расстреливающие одну закрытую комнату, из которой валит дым - то еще адское зрелище.

А вот секрет для террористов, которые еще не знают его. Если вы понимаете, что проигрываете, а вам уж очень нужны очки за игру, то просто застрелите всех заложников и спрячьтесь. Авось не найдут. Вы проиграете, конечно, но очки добавятся.

Перезаряжать свой автомат бегайте в укромный уголок, в местах, где вас не смогут достать, найти и убить. Но если вдруг такой казус произошел, и вас заметили, то самое время вспомнить, что такое desert eagle, что пистолет - тоже оружие, и что нож, кстати, тоже подойдет, чтобы смыть кровью врага свой позор - засекли же!

Хитрый и довольно изощренный план - гранату можно использовать еще и как.. камешек. Увесистый такой камешек. Бросьте в голову врагу, если у него меньше 15% здоровья. Поверьте, эту смерть он запомнит очень надолго.

Выбирайте css bhop сервера по отзывам на форумах, очень помогает сориентироваться в ситуации на сервере, а значит, больше удовольствия от игры получите.

Двери - вещь опасная. Не ломитесь в них. Некоторые из них,кстати, открываются, если рядом взорвалась осколочная граната. Но это довольно брутальный способ открытия дверей. Если вы один, а рядом никого нет - откройте дверь и быстро отойдите. А если вас двое - то путь один дверь открывает, а другой - стреляет. Можете, конечно, пострелять сразу в дверь, но в таком случае можете попрощаться с конспирацией. Если уж очень интересно, есть ли кто а дверью, можете постоять рядом, да послушать.

И вообще не бойтесь стрелять сквозь стены и двери, если вам не надо особо скрываться. Добрая половина оружия пробивает стены насквозь. А кольт м1 так вообще может 5 трупов одной пулей сделать.

Уже давно прошло время компьютерных клубов, и поэтому молодым игрокам уже не поучиться играть так, как учились мы. А мы учились, слушая крики поверженный и не очень в клубах, как они кричали друг на друга и на себя, как играли «стенка на стенку». Забавное было время. Сейчас же вы можете играть при помощи голосовой связи, а значит, все так же слушать, кто где находится. Но помните, что мертвые игроки порой могут рассказать своим напарникам, кто рядом проходит. Это подло, но это повсеместно.

Решили пробежаться? Меняйте оружие. Решили пробежаться? Выключайте прицел. Решили пробежаться? Хватайте в руки нож и бегите. Хватит говорить, просто бегите. Не стреляйте на бегу, просто бегите.

Снайперам. Господа снайперы, вы в курсе вообще, что на эту роль берут только очень умных игроков? Не прыгайте с включенным прицелом. Это раз. Меняйте свое местонахождения. Найдите на каждой карте по два-три хороших места и короткими перебежками между ними бегайте. Из любого из этих мест вас не должно быть видно, а все подходы к нему должны простреливаться. Еще неплохо было бы иметь маленький закуток, куда можно отойти, да перезарядиться. Если видите гранату - прячьте лицо. Слепой снайпер - мертвый снайпер.

Статьи по теме: