Так как же правильно верстать сайты?
Ну у вас там нет ничего — несколько десятков строк кода. Не страшного кода. Фтопку препода.HTML
Нет meta с charset. Шанс на то, что сервер не отдаст кодировку в Content-Type, ничтожно мал, но соломку лучше положить. Да и для локального просмотра по file:// пригодится. Прямо перед title.
Декларация есть, стили перед скриптом.
Часть элементов без классов, что может превратить дальнейшее усложнение кода в сущий ад.
Блоки с классами clear и line — избыточный код. Это реализуется с помощью псевдоэлементов или самих элементов.
А вот a.submit — чушь. В форме нужна кнопка button.submit. У формы должен быть action, отправляться она должна по https:// и методом post.
По стилистике «Ваш» — архаизм. Выкиньте.CSS
Не привязывайтесь к именам тэгов. Потом сильно пожалеете.
Шрифт задан а html — хорошо.
Задавать блочным элементам в нормальном потоке width: 100%; — моветон.
Не ставьте z-index с шагом больше, чем 1.
Устанавливать cursor для :hover — странно. Лучше не делать смену этого правила при наведении, ведь курсор имеет смысл только при наведении.
Для border-radius не нужно вендорных префиксов.
Размер кегля шрифта лучше привязывать либо к размеру кегля родительского элемента, либо корневого элемента (rem).
Жонглирование странными значениями размеров говорит о том, что для вас тема построения визуальной модели пока сложна. Обязательно к прочтению.JS
Ну тут вообще ничего пока нет. Но уже если пишете $(), то jQuery-то нужно подключить.
по стилистике кода:
- разные кавычки в html,
- код типа "ul.navleft li:hover, ul.navcentral li:hover, ul.navleft .active" лучше форматировать с переносом каждого селектора на отдельную строку (легче читать),
- код "margin-left: 10px; width: 25px; height: 25px;" тоже фигово, каждое правило на новой строке
по коду:
- нет указания кодировки
- label должен связываться с input (select, textarea) через атрибуты for-id
- класс .clear - лишний, как и элемент с его использованием (есть другие, более семантичные варианты очистки потока)
- описание поля следует после самого поля (некорректно логически, хотя конечно в CSS можно настроить любой вид)
- отправка формы - кнопкой (должна быть)
- универсальный селектор "*" не к месту,
- стилизация через имя тега (огромное зло, и, поверьте, сложно расширяемое и поддерживаемое)
Можно еще придраться к слишком общим именам селекторов (reg, submit и т.п.).
- селекторы типа tag.class - совершенно излишни, достаточно .class
............
В общем, таких мелких косяков еще кучу найти можно (я просто код посмотрел, не анализируя построение разметки, а там наверное тоже есть интересности), но убивать за это явно не стоит =)))