HTML\CSS → HTML5: Что следует помнить

Каскадность — браузер находит все CSS-правила, а затем комбинирует их и получает итоговый список свойств. Комбинирование свойств производится по правилам, которые опираются на приоритетность и специфичность. Благодаря механизму каскадности, CSS-правила будут комбинироваться, а при конфликте свойств будет применяться механизм приоритетов.

Порядок определяется по:

  • важности;
  • специфичности;
  • порядку в исходном коде.

Наследование в CSS — механизм, с помощью которого значения свойств элемента-родителя передаются его элементам-потомкам.

Поток — это порядок отображения элементов на странице. По умолчанию блочные элементы отображаются как прямоугольные области, идущие друг за другом сверху вниз, а строчные элементы располагаются сверху вниз и слева направо и при необходимости переносятся на новую строку.

Блоку можно задать внешную рамку, которая не влияет на его размер и не занимает места.

outline: 3px solid #cacaca;
outline-offset: 10px;

Если рамка border элемента широкая, а сам элемент имеет нулевую ширину и высоту, то стороны рамки становятся треугольными. Эту тухнику используют для создания стрелок.

Некоторые списки лучше оборачивать в dl.
Ссылка на главной не должна вести на себя.

<!-- Логотип на главной странице -->
<a class="header-logo"><img></a>

<!-- Логотип на других страницах -->
<a class="header-logo" href="/"><img></a>

i — тект отличающийся от окружающего текста, но не являющийся более важным.

Для любого элемента можно использовать собственные атрибуты, начинающиеся с префикса data-, это позволяет хранить текстовую информацию, которая может помочь в работе скриптов, а также для оформления элементов через CSS.

<p data-text="hello">world</p>
p::before {
    content: attr(data-text) " ";
}

Функиця attr() используется для добавления значения атрибута HTML-элемента в свойства.

Чтобы был эффект от вертикального выравнивания vertical-aling: middle был виден, нужно задать высоту строки такую же, как высота элемента.

Свойство clip может обрезать содежимое элемента, с помощью прямоугольной области. Все, что не поместится в эту область — будет не видимым. Синтаксис: clip: rect(верхняя-координата, правая-координата, нижняя-координата, левая-координата);

Свойство clip работает только для абсолютно спозиционированных элементов.

clip: rect(0, 100px, auto, 0);

Свойство counter-reset создает переменную, в которой будет храниться счетчик отображений элемента. Такой счётчик может выводиться с помощью свойства content и псевдоэлементов::after и ::before. Синтаксис: counter-reset: <имя_счетчика>.
Свойство counter-increment позволяет увеличивать значение счетчика. Чтобы увеличивать счетчик, нужно добавить свойствоcounter-increment: <имя_счетчика> к каждому элементу, который будет нумероваться.
Функция counter(<имя_счетчика>) позволяет считывать значение счетчика и передавать его в псевдоэлементы.( нужно задать им свойство позволяет передавать значение счетчика (через свойство content).

ul {
    counter-reset: counter_name;
}
li::before {
    counter-increment: counter_name;
    content: "part " counter(counter_name) ". ";
}

Пример использования JavaScript в HTML5

var control = document.querySelector('.class');
var data = control.dataset.attribute;   // получаем data-attribute=".."
if (control) {
    control.classList.remove('class');
    control.classList.add('active');
    control.innerHTML = 'inner text' + data;
}

var controls = document.querySelectorAll('.class');
for (var i = 0; i < controls.length; i++) {
    element.style.width = '10px';
}

document – это специальная переменная, в которой хранитсякорневой элемент HTML-документа, будем называть его просто «документ». В нём хранятся все остальные теги.

querySelector – это метод документа, который по указанному селектору ищет и возвращает первый найденный элемент, подходящий под селектор. В этом методе можно использовать любые CSS-селекторы.

Другой метод querySelectorAll возвращает все элементы, соответствующие селектору.

У элементов, которые мы находим с помощью querySelector, есть свойство classList, в котором хранится список классов элемента. Список классов можно изменять, удаляя или добавляя в него классы с помощью методов add и remove свойстваclassList.

В свойстве dataset HTML-элемента хранятся все значения его data-атрибутов. Обратиться к ним можно по названию data-атрибута, удалив из названия приставку data-.

Добавлять содержимое в HTML-элемент через JavaScript можно с помощью свойства innerHTML. Присвоенная свойству innerHTML строка заменяет всё содержимое HTML-элемента. В этой строке можно использовать любой HTML-код.

Метод addEventListener позволяет отслеживать и обрабатывать события котрые происходят с объектом. Первый параметр задаёт тип события (например, click), второй — функцию-обработчик.

С помощью element.style можно и получать, и изменять значения свойств.