- UA
- RU
Общие требования
Существуют базовае требования (стандарты), и специальные требования или пояснения, которые должен предоставить («собрать» при общении с клиентом или на основе аналогичных проектав — на основе полученного ранее собственного опыта) Project Manager (PM) при постановке задачи.
По следам статьи Чистота и порядок — превыше всего. Рекомендации к коду.
Пункты, касательно css фреймворка и препроцессоров — это специальные параметры, без которых легко обходиться большинство проектов, и за их использование платят отдельные деньги. Если требования не предъявляються — спросите, чтобы не было сюрпризов и фраз в конце что-то вроде — «а я думал(а), что вы профессионалы». Может, и профессионалы, но не телепаты 🙂.
Также делаем только то, что в параметрах и заказали. Любая бесплатно выполненная работа может повлечь другие бесплатные работы.
Структура папок, файлов и их наименование
Никакой кириллицы, ни в названиях файлов, ни в папках, ни в комментариях в коде.
Обычнй набор файлов и папок выглядит так:
Пример базового набора (заготовки — HTML шаблон) файлов/папок находиться тут. Если нет отдельных требований — используем свое.
Наименование изображений
logо — название для лого, только так.
Для фоновых изображений добавляем bg- , для иконок ico-
Например, bg-top.png или ico-fb.png
Если есть возможность, то лучше давать тематические названия, если это сделать нельзя, то именуем ico-01.png, ico-02.png, bg-box.png и в таком стиле.
Основная структура страницы
<header class="header">header</header>
<div class="content">
<section class="blog">
<article class="item">article 1</article>
<article class="item">article 2</article>
<article class="item">article 3</article>
</section>
</div>
<footer class="footer">footer</footer>
Наименование классов
Все классы могут повторяться на странице множество раз, если указывать стили относительно непосредственного родителя. К примеру, если меню находиться в хедере и футере, и укажем стили для меню относительно хедера и футера, то этот стиль применться только в одном месте, а название класса будет несколько раз на странице. Так и нужно поступать везде, чтобы не ломать голову над уникальным названием класса.
Основные элементы
Навигационное меню / многоуровненове. Это самый важный и сложный элемент любого сайта.
<ul class="menu">
<li class="active"><a href="#">Home</a></li>
<li>
<a href="#">Products</a>
<ul>
<li class="active"><a href="#">Category 1</a></li>
<li><a href="#">Category 2</a></li>
<li><a href="#">Category 3</a></li>
</ul>
</li>
<li><a href="#">About</a></li>
<li><a href="#">Contact</a></li>
</ul>
Только чистый список. Никаких классов ни на <li>, ни на <a>, и также нельзя добавлять классы на вложенные <ul>, все классы добавляются относительно родителського <ul>. Иногда лучше (гибче) расположить меню в блоке с классом menu, и не вешать его на родительский <ul>, так как в зависимости от CMS название может отличаться и так будет универсальней. Единственный класс можно добавлять только на <li> — это класс активного состояния — active, вот в таком виде <li class="active">
. Обычно у пункта автивного состояние такое же поведение, как у ссылки меню по наведению, поэтому, если дизайнер этого не показал, то необходимо прописать активный пукнт такой же, как и по наведению.
Пример реализации выпадающего навигационного меню на HTML/CSS.
Списки
Так как у нас используется и должен использоваться reset.css, который обнуляет все стандартные отступы и прочие свойства, то все списки <ul>, <ol> будут обнулены, не будет ни буллетов, ни цифр. Их нужно будет отдельно прописывать относительно контентной области (текстовой) и только там, так как списки у нас есть в хедере как минимум, а часто есть еще отдельное навигационное меню в футере.
Кнопки
Обычно, это тег с class="btn"
. При этом, различаем кнопки для форм и кнопки вообще. Для форм используют <input> и <button>, для всего остального — тег <a>. Вот в таком виде <a href="#" class="btn">Button</a>
. Если несколько разных кнопок и они схожи между собой, то нужно делать гибко, чтобы можно было добавля дополнительный класс менять размер и/или цвет кнопки <a href="#" class="btn small orange">Button</a>
— в таком виде.
Картинки
Картинки, которые используются в контенте, оборачиваются в тег <figure>, если у картинки есть подпись, то оборачивается в figcaprion
<figure>
<img src="/images/img-01.jpg" alt="">
<figcaption>title</figcaption>
</figure>
Пагинация (разбивка на страницы)
<ul class="pagin">
<li class="prev"><a href="#"><</a></li>
<li><a href="#">1</a></li>
<li><span>2</span></li>
<li><a href="#">3</a></li>
<li><a href="#">4</a></li>
<li class="next"><a href="#">></a></li>
</ul>
Для текущей страницы нет ссылки, что логично, ее кликнуть нельзя. Для остальных есть ссылка, первая и последняя ссылка — вперед и назад, уголки вставляем только как спецсимволы
Вас также может заинтересовать