Правильная ли верстка сайта?

Сразу скажу делаю первые шаги в изучении сайтостроения, а именно верстки. Сверстал вот такой "резиновый" шаблон сайта, придерживаясь основ HTML5. Изначально шаблон был написан на простом HTML и имел статический вид.
Верстку строил на основе float и "двойной обертки" ширину блоков указывал явно (в пикселях)-родительский класс и в процентах -дочерний класс.
Прошу указать на недостатки моей верстки, ошибки, на что обратить внимание в дальнейшем, а также какой способ вы бы использовали при создании "резинового" сайта (подразумеваю использования "выстраивать элементы позиционированием", "центрирование").
Что можно предпринять для адаптации такого шаблона?
Также прошу ответить на некоторые вопросы:
1)Возможно ли строить сетку сайта не на float-ах а на display:block/inline-block? Что лучше выбирать на будущее?
2) Какой путь развития в плане front-end разработки выбрать, насколько мои предположения истинны?
Предполагаю такой ход развития:
Клиентская часть (сама верстка)
1) Изучение Html5, CSS (методов верстки резиновая и адаптивная) ,изучение основ JavaScript
2) Освоение CSS фреймворка Bootstrap
3) Адаптация шаблона под CMS WordPress
4) Далее приступать к адаптации шаблона под более сложные CMS Joomla, Drupal.
После клиентской части изучить серверную, а именно основы PHP, ООП в PHP, написание различных модулей под WordPress.
Буду благодарен за ваши отзывы и советы! Интересно услышать советы профессионалов.
Прилагаю HTML и CSS код своего шаблона

https://codepen.io/dmitriu256/pen/EyaEMj
  • Вопрос задан
  • 3094 просмотра
Решения вопроса 1
@esvlad
Веб-разработчик
1. не просто возможно, а так и делается
2. Согласен, лучше начинать с основ, HTML4 и CSS2, и дальше углубляться в HTML5, CSS3, LESS, SCSS, а не просто отсеять старое и смотреть новое, далее JS и jQuery, без него туго в верстке, а потом можно и бутстрап смотреть, сразу смотреть не советую, многие прыгают от него, хотя кроме кучи лишнего кода, особенно у новичков, он мало чего дает (лично сам верстаю без бутстрапа), дальше, чтобы адаптировать под CMS, нужно знать как устроена эта CMS и соответственно знать PHP, потому вообще без разницы какую выбирать. А вот про PHP не совсем верно, клиентская часть тоже состоит из PHP, поэтому его просто нужно изучать с основ и до паттернов проектирования.

А теперь по шаблону:
Во первых, чтобы в каждом блоке не писать margin & padding 0px, лучше просто в начале указать
* {
 margin: 0;
 padding: 0;
}

body{
    font-size: 12px;
}
p, ol {
    line-height: 180%;
}
.logo h1{
    letter-spacing: -2px;
    font-size: 3.6em;
}
nav a {
    font-size: 16px;
}

чуется, что, что-то в будущем пойдет не так? px, %, px, em,.., правильней все размеры указывать в пикселях, если в чем то другом, то хотя бы, чтоб было, что-то одно, либо px, либо em и т.п. иначе жизнь превратиться в ад).
<div class="banner-wrap">
 <div class="banner">
  <div class="banner-img">
   <img src="images/header-img.jpg" alt="Наш банер"/>
  </div>
 </div>
</div>

.banner-wrap{
    width: 1160px;
    margin: 0 auto;
}
.banner{
    margin: 20px auto 50px auto;
}
.banner-img{
    height: 500px;
    border: 20px solid #FFFFFF;
}

Для чего столько оберток? Все вложенные div'ы по сути ничего не делают, проще:
<div class="banner">
    <img src="images/header-img.jpg" alt="Наш банер"/>
</div>

.banner{
    width: 1120px;
    height: 500px;
    margin: 20px auto 50px auto;
    border: 20px solid #FFFFFF;
}

Кода меньше, результат такой же.
Вместо
ul .first {
   //...
}

Лучше
ul.sidebar > li:first-child{
 //...
}

далее
<article>
           <ul class="content">
              <li> <h3>Lorem ipsum dolor interdum</h3>
               <p>Ut vel nisl tristique justo ornare iaculis. Suspendisse suscipit, orci ac interdum viverra, nulla orci facilisis mi, a ultrices mi lectus vitae felis. Morbi suscipit adipiscing orci et blandit. Morbi a nulla ut tellus blandit placerat a quis eros.</p>
               <p><a href="#" class="button-style">Read More</a></p>
               </li>
            </ul>
</article>

Нонсенс, главный вопрос, зачем? зачем писать лишние теги, да и еще не подходящие по контенту, ul li это элемент списка, а тут статья, не нужно так делать, так нужно:
<article>
 <h3>Lorem ipsum dolor interdum</h3>
 <p>Ut vel nisl tristique justo ornare iaculis. Suspendisse suscipit, orci ac interdum viverra, nulla orci facilisis mi, a ultrices mi lectus vitae felis. Morbi suscipit adipiscing orci et blandit. Morbi a nulla ut tellus blandit placerat a quis eros.</p>
 <a href="#" class="button-style">Read More</a>
</article>

и соответственно стили
article{
    width:70%;
    float: right;
    margin:0px;
    margin-top:-2px;
    padding-top: 0px;
    padding-bottom:16px;
    border-bottom: 1px solid black;
}
article:last-child{
    border: none;
}
article > h3{
    font-size: 14px;
    font-weight:200;
    margin: 0;
    color: #222222;
}
article > a:hover {
    text-decoration: underline;
    color: #6B6B6B;
}
.button-articles {
    display: inline-block;
    margin: 30px 0 12px 0;
    padding: 7px 30px;
    background: #36332E;
    border-radius: 5px;
    line-height: 21px;
}

ну это если не придираться к мелочам))
и напоследок:
- Сверстал вот такой "резиновый" шаблон
- ширину блоков указывал явно (в пикселях)

Если указал ширину явно, то это уже не резиновый шаблон)
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
abyrkov
@abyrkov
JavaScripter
Что касается верстки, то она довольно ужасна :). Таблицы уже редко используют, float непредсказуемый. Вы правы, лучше блоки и инлин-блоки использовать.
Что касается плана, я, наоборот, посоветовал бы крепко выучить сначала HTML + CSS, затем JS (причем ES6 в последнюю очередь). Фреймворки оставьте на потом - они только испортят вкус и добавят говнокода :)
Кстати, учите в первую очередь не очень устаревший, но не самый последний материал - помните, от IE6 прямо завтра не откажутся.
Ответ написан
Комментировать
artem90
@artem90
TeamLead, Developer
1. Возможно. Так можно и на таблицах, но так делать никогда не стоит))
Посмотрите в сторону flexbox - https://css-tricks.com/snippets/css/a-guide-to-flexbox/
2. Советую сразу же начать с фреймворков типа bootstrap - быстрее получите первый результат.

В целом на начальном этапе, я советую Вам отсеить материал по верстке старше 2 лет, а использовать только свежак - к тому, моменту как Вы хорошо освоите текущий свежак, он уже будет весьма устаревшим.
Ответ написан
@novrm
Ставьте сразу локальный сервер, например xampp.
Потом начинайте писать сайт на php, параллельно используя bootstrap.
Так вы быстрее выучите html, css, php, js.
Для ООП устанавливайте фреймворк. Только с Symfony не начинайте - для новичка он достаточно сложный.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы