You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 2-ui/1-document/02-dom-nodes/article.md
+12-12Lines changed: 12 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,9 +6,9 @@ libs:
6
6
7
7
# DOM дерево
8
8
9
-
Основой HTMLдокумента являются теги.
9
+
Основой HTML-документа являются теги.
10
10
11
-
В соответствии с Объектной Моделью Документа ("Document Object Mode", коротко DOM), каждый HTML-тег является объектом. Вложенные теги называют "дочерними" узлами родительского элемента.
11
+
В соответствии с объектной моделью документа ("Document Object Mode", коротко DOM), каждый HTML-тег является объектом. Вложенные теги называют "дочерними" узлами родительского элемента.
12
12
13
13
Текст, который находится внутри тега, также является объектом.
14
14
@@ -30,7 +30,7 @@ libs:
30
30
</html>
31
31
```
32
32
33
-
DOM -- это представление HTMLдокумента в виде дерева тегов. Вот как это выглядит:
33
+
DOM -- это представление HTML-документа в виде дерева тегов. Вот как это выглядит:
Если браузер сталкивается с некорректно написанным HTMLкодом, он автоматически корректирует его при построении DOM.
92
+
Если браузер сталкивается с некорректно написанным HTML-кодом, он автоматически корректирует его при построении DOM.
93
93
94
-
Например, в начале документа всегда должен быть тег `<html>`. Даже если его нет в документе -- он будет в дереве DOM, браузер его создаст. Тоже самое касается и тега `<body>`.
94
+
Например, в начале документа всегда должен быть тег `<html>`. Даже если его нет в документе -- он будет в дереве DOM, браузер его создаст. То же самое касается и тега `<body>`.
95
95
96
96
Например, если HTML-файл состоит из единственного слова `"Привет"`, браузер обернет его в теги `<html>` и `<body>`, добавит необходимый тег `<head>`, и DOM будет выглядеть так:
**Все, что есть в HTML, даже комментарии, является частью DOM.**
182
182
183
-
Даже директива `<!DOCTYPE...>`, которую мы ставим в начале HTML, тоже является DOMузлом. Она находится в дереве DOM прямо перед `<html>`. Мы не будем рассматривать этот узел, мы даже не рисуем его на наших диаграммах, но он существует.
183
+
Даже директива `<!DOCTYPE...>`, которую мы ставим в начале HTML, тоже является DOM-узлом. Она находится в дереве DOM прямо перед `<html>`. Мы не будем рассматривать этот узел, мы даже не рисуем его на наших диаграммах, но он существует.
184
184
185
185
Даже объект `document`, представляющий весь документ, формально, является DOM узлом.
Вы можете увидеть DOM, понажимать на элементы, детально рассмотреть их и так далее.
209
209
210
-
Обратите внимание, что структура DOM в инструментах разработчика отображается в упрощенном виде. Текстовые узлы показаны как простой текст. И, кроме пробелов, нет никаких "пустых" текстовых узлов. Ну и отлично, потому что большую часть времени нас будут интересовать узлы-элементы.
210
+
Обратите внимание, что структура DOM в инструментах разработчика отображается в упрощенном виде. Текстовые узлы показаны как простой текст. И кроме пробелов нет никаких "пустых" текстовых узлов. Ну и отлично, потому что большую часть времени нас будут интересовать узлы-элементы.
211
211
212
212
Клик по этой <span class="devtools" style="background-position:-328px -124px"></span> кнопке в левом верхнем углу инспектора позволяет при помощи мыши (или другого устройства ввода) выбрать элемент на веб-странице и "проинспектировать" его (браузер сам найдет и отметит его во вкладке Elements). Этот способ отлично подходит, когда у нас огромная HTML-страница (и соответствующий ей огромный DOM), и мы хотим увидеть, где находится интересующий нас элемент.
В правой части инструментов разработчика находятся следующие подразделы:
219
219
- **Styles** -- здесь мы видим CSS, примененный к текущему элементу: правило за правилом, включая встроенные стили (выделены серым). Почти все можно отредактировать на месте, включая размеры/внешние и внутренние отступы.
220
-
- **Computed** -- здесь мы видим итоговые свойства CSS элемента, которые он приобрёл в результате применения всего каскада стилей (в том числе унаследованные свойства и т.д.).
221
-
- **Event Listeners** -- в этом разделе мы видим обработчики событий, привязанные к DOMэлементам (мы поговорим о них в следующей части учебника).
220
+
- **Computed** -- здесь мы видим итоговые CSS-свойства элемента, которые он приобрёл в результате применения всего каскада стилей (в том числе унаследованные свойства и т.д.).
221
+
- **Event Listeners** -- в этом разделе мы видим обработчики событий, привязанные к DOM-элементам (мы поговорим о них в следующей части учебника).
222
222
- ... и т.д.
223
223
224
224
Лучший способ изучить инструменты разработчика -- это прокликать их. Большинство значений можно менять и тут же смотреть результат.
Изучая DOM, мы также хотим применять к нему JavaScript. Например: получить узел и запустить какой-нибудь код для его изменения, чтобы посмотреть результат. Ниже приведено несколько способов перемещения между вкладками Elements и Console.
229
229
230
230
- На вкладке Elements выберите первый элемент `<li>`.
231
-
- Нажмите `клавишу:Esc` -- прямо под вкладкой Elements откроется Console.
231
+
- Нажмите `key:Esc` -- прямо под вкладкой Elements откроется Console.
232
232
233
233
Последний элемент, выбранный во вкладке Elements, доступен в консоли как `$0`, предыдущий, выбранный до него, как `$1` и т.д.
234
234
235
235
Теперь мы можем запускать на них команды. Например `$0.style.background = 'red'` сделает выбранный элемент красным, как здесь:
236
236
237
237

238
238
239
-
С другой стороны, если мы находимся в консоли и есть переменная `node`, ссылающаяся на DOMузел, можно использовать команду `inspect(node)`, чтобы увидеть этот элемент во вкладке Elements.
239
+
С другой стороны, если мы находимся в консоли и есть переменная `node`, ссылающаяся на DOM-узел, можно использовать команду `inspect(node)`, чтобы увидеть этот элемент во вкладке Elements.
240
240
241
241
Или мы можем просто вывести его в консоль и исследовать "на месте", как `document.body` ниже:
242
242
@@ -258,4 +258,4 @@ HTML/XML документы представлены в браузере в ви
258
258
259
259
Здесь мы рассмотрели основы, наиболее часто используемые и важные действия для начала разработки. Подробную документацию по инструментам разработки Chrome Developer Tools можно найти на странице <https://developers.google.com/web/tools/chrome-devtools>. Лучший способ изучить инструменты походить по разным вкладкам, почитать меню: большинство действий очевидны для пользователя. Позже, когда вы немного их изучите, прочитайте документацию и узнаете то, что осталось.
260
260
261
-
У DOMузлов есть свойства и методы, которые позволяют выбирать любой из элементов, изменять, перемещать их на странице и многое другое. Мы вернемся к ним в в последующих разделах.
261
+
У DOM-узлов есть свойства и методы, которые позволяют выбирать любой из элементов, изменять, перемещать их на странице и многое другое. Мы вернемся к ним в в последующих разделах.
0 commit comments