Вам не нужна совместимость со всеми браузерами. Netscape уж точно не нужен :-P
Мне очень помогло ежедневное чтение статей по заданной теме с хабра и прочих ресурсов такого типа. И гугл. Просто море гугла. Не знаешь как что-то сделать — гугл. Знаешь, но считаешь, что не оптимально — гугл. Сделал, но работает не везде — гугл. Главное правильно подбирать запросы, ответы не всегда лежат на поверхности, но они почти всегда есть.
Сразу нужно узнать про такую вещь как css-reset, дабы нивелировать различия браузеров. Очень помогает. Кроме того, я бы прочитал все статьи с
html-book.ru, а также про все теги и CSS-свойства (по возможности), ставя в приоритет наиболее популярные.
Можно заморочиться с методологией названий стилей, по типу
БЭМ или
MCSS, чтобы избежать проблем и путаницы (а они будут) в своих стилях.
И самое главное — нужно просто постоянно верстать. Можно проходить какие-нибудь
уроки или ставить себе самому задачи. Если повезёт, можно просто попасть в неплохую фирму и развиваться там. В идеале в фирме должен быть наставник, который поможет-подскажет.
А в какой-то момент, набравшись определённого опыта, начинаешь без проблем решать любую поставленную задачу, потому что уже безошибочно разбираешь в уме страницу на более мелкие блоки и сразу видишь, что и как можно сделать. Вариантов решения одной и той же задачи зачастую очень много. И чем дальше, тем больше, потому что старые браузеры постепенно отмирают, а новые, кто-то медленнее, кто-то быстрее, но стараются соблюдать спецификацию.
Ещё при вёрстке очень неплохо бы использовать
специальный сайт, который расскажет, что и где
поддерживается. Очень помогает и очищает код от всяких лишних
вендорных префиксов, которые в уроках и на форумах любят иногда писать в диких количествах, в том числе и несуществующие.