Начнем с простого. Откровенно говоря, это еще не программирование. HTML — язык разметки гипертекста (Hypertext Markup Language). Он определяет структуру страниц и то, из каких элементов она состоит. Эти элементы определяются тегами: заголовки, текст, ссылки, списки и др. Важная задача тегов — определение семантики веб-документов. Например, заголовок первого уровня (h1) должен быть только один, а правильное оформление структурных элементов (header, footer, article и др.) облегчит чтение кода и его считывание поисковыми (и не только) роботами.
Язык CSS нужен для стилизации HTML-вёрстки. Название расшифровывается как Cascading Style Sheets или по-русски каскадные таблицы стилей. Каскадные они потому, что язык использует наследование от родителя к потомку, спускаясь вниз по элементам. При помощи CSS мы можем позиционировать элементы, менять их размер, задавать правила типографики, создавать анимации и многое другое.
HTML отвечает за структуру, а CSS — за внешний вид.
Умение верстать поможет вам создавать реалистичный и реализуемый дизайн, наладить коммуникацию с разработчиками, а также претворять свою работу в жизнь. Более того, в Европе и США это умение — уже стандарт рынка и поможет вам соответствовать его требованиям.