Браузер - программа с богатыми возможностями:
HTML (Hypertext Markup Language) - язык разметки гипертекста. Под гипертекстом подразумевается множество ресурсов с текстовой информацией, объединенных с помощью гиперссылок. В процессе развития HTML оброс кучей дополнительных возможностей.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Site Title</title>
<script src="index.js"></script>
<link href="index.css" rel="stylesheet" type="text/css" />
</head>
<body>
</body>
</html>
Как видите, HTML - это древовидная структура данных, представленная в виде парных тэгов (например <html>
и </html>
), которые могут хранить
вложенные тэги (<head>
и <body>
) и так далее. В <head>
находится заголовок документа с настройками - кодировкой, именем страницы и так далее;
в <body>
- собственно тело документа. В общем случае любые тэги могут быть внутри любых других тэгов, однако из этого правила много исключений.
Перенос строк и количество пробелов не имеет никакого значения для отображения; для новой строки используйте тэг <br />
. Если же хотите
сохранить форматирование как в исходном тексте - используйте тэг <pre>
.
Ссылки в HTML используются для двух основных целей: для отображения пользователю с возможностью перехода, или же для каких-то технических целей.
<a href='http://google.com'>google</a>
<a href='http://ya.ru'>яндекс</a>
Эти ссылки для пользователя.
А эти - для технических целей. Именно они подключают ваш JS и CSS код в документ в repl.it:
<head>
....
<script src="index.js"></script>
<link href="index.css" rel="stylesheet" type="text/css" />
</head>
Ссылки представлены в формате URL(Unified Resource Locator):
<протокол>://<сайт>/путь/к/файлу?<параметры> где:
/
)Ссылки могут быть абсолютными (как выше в общей структуре URL) и относительными. В случае с относительными отсутствующие части берутся из строки адреса браузера:
<head>
....
<script src="index.js"></script>
<link href="index.css" rel="stylesheet" type="text/css" />
</head>
Как видите, ссылки на index.js
и на index.css
не содержат в себе других частей URL, а значит они являются относительными. значит мы можем
открыть эти файлы, добавив адрес из строки браузера. Проделайте это. Относительные ссылки полезны, если вы не знаете в какой папке, или на сайте
с каким именем будет располагаться ваш код. При использовании абсолютных ссылок вам придется найти и исправить сотни ссылок даже в небольшом проекте с
использованием HTML.
a
. Служит для создания ссылок на другие страницы или сайты.img
. Добавляет картинку.p
. Добавляет параграфdiv
. Добавляет контейнер для других тэгов.table
. Добавляет таблицуtr
. Добавляет строку таблицыtd
. Добавляет ячейку таблицыi
. Добавляет курсивный текстul
. Добавляет ненумерованный списокol
. Добавляет нумерованный списокli
. Добавляет элемент списка в тэги ul
или li
input
. Добавляет поля ввода разных типов.textarea
. Добавляет многострочное поле ввода для текстаselect
. Добавляет выпадающий список.br
. Добавляет перенос строки.Тэги бывают парные и непарные. Парные могут включать в себя другие тэги и текст; непарные (img
, input
, br
) не включают в себя ничего, кроме своих
параметров. В конце непарного тэга желательно ставить /
: <br />
, <input type='email' name='email' />
и так далее.
Так же тэги деляться на блочные и строчные. Блочные по умолчанию занимают всю ширину и начинаются с новой строки; строчные же обычно
предназначены для придания части текста какого-то свойства (например a
создает ссылку, i
- курсив). Обратите внимание на float
в CSS для
расположения несколько блочных элементов по горизонтали рядом, или же используйте Bootstrap или иной фреймворк.
В тэгах так же встречаются параметры, которые указаны в открывающем тэге и имеют определенный смысл в зависимости от тэга:
<a href='http://google.com'>Здесь параметром является `href`, а его значение - ссылка, на которую перейдет браузер при клике </a> <br/>
<input type='checkbox' /> параметр `type` указывает браузеру, какой именно тип поля ввода нужен <br/>
<input type='email' placeholder='Например это поле ввода email' /><br/>
Параметров может быть несколько, они записываются как <имя параметра>="<значение>" через пробел.
...бывают только многострочными
<!-- это комментарий -->
CSS (Cascading Style Sheets) - каскадная таблица стилей.
HTML хранит общую структуру и информацию; а CSS - то, как эта структура отображается. Таким образом можно кардинально изменить вид сайта, просто изменив CSS и не меняя информацию и структуру HTML-документа.
Для того, что бы определить стиль (внешний вид) тех или иных элементов в дереве HTML-тэгов, нужен способ указания множества тэгов, к которым применяется стиль. Этот способ называется CSS-Selector, и пишется на специальном языке, который позволяет осуществлять поиск в дереве тэгов и задавать им стиль.
* { /* все тэги */
background-color: lightgray;
}
a { /* все тэги a */
color: black;
}
a.mainmenu { /* все тэги a, в которых параметр class="mainmenu" */
font-size: 20px;
}
.mainmenu { /* все тэги, в которых параметр class="mainmenu" */
background: darkgray;
}
#someId { /* тэг, в котором параметр id="someId" */
background-color: red;
}
#someId a { /* все тэги a внутри тэга с id="someId" */
color: green;
}
#someId > a { /* все тэги a внутри тэга с id="someId" на уровень ниже и не глубже*/
color: blue;
}
Таким образом с помощью языка CSS-Селекторов вы можете выбрать множество тэгов внутри HTML-документа и применить те или иные настройки внешнего вида к ним.
Для изучения HTML и CSS используйте google, HTMLBOOK и Developer Tools, который позволяет наглядно увидеть структуру HTML и стили, связанные с элементами в HTML.
jQuery это библиотека, написанная на JavaScript, которая унифицирует и упрощает работу с HTML и CSS, используя встроенные функции JavaScript. Для работы с элементами HTML обычно используются CSS-Селекторы и функции обратного вызова.
$("#someId").click(function(){
alert("Вы нажали на элемент #someId");
});
$("#addButton").click(function(){
var a = +$("#aInput").val();
var b = +$("#bInput").val();
alert("Сумма а и b: " + (a + b));
});
Пример выше назначает обработчик события click
(клик левой кнопкой мыши) на элементы с id="someId"
и id="addButton"
, после чего выполняют
определенные действия. Обработчик кнопки сложения так же предполагает наличие полей ввода c id="aInput"
и id="bInput"
.
jQuery требует подключения, используя тэг <script>
, иначе у вас не будет функции $
, через которую доступен функционал jQuery.
Bootstrap - один из популярных HTML/CSS фреймворков, который упрощает создание HTML и CSS, т. е. верстку, предоставляя приятный внешний вид изначально. Для того, что бы не морочить себе голову с красотой страниц сайта - используйте его или другие подобные фреймворки.
Используйте Content Distribution Networks, для подключения библиотек типа jQuery. Это избавляет вас от проблем в repl.it и экономит трафик пользователя.
90% ваших вопросов сейчас имеют ответ с пояснениями в гугле. Просто не стесняйтесь искать. Если вы нашли что-то новое, обычно достаточно поискать
<что-то новое> примеры
или <что-то новое> samples
для того, что бы разобраться на простых примерах. Так же есть полезные сервисы для обмена
опытом, например Stack Overflow. Обычно ваши вопросы будут вести именно туда :-).
На текущий момент существует великое множество библиотек и фреймворков, которые помогают и ускоряют разработку. Некоторые из них:
Опять же, для начала определитесь, какую задачу вы хотите решить, а потом загуглите по возможным библиотекам, почитайте обзоры, и подберите наиболее подходящее решение. Запомните - инструмент подбирается под задачу, а не наоборот. Правильно выбранный инструмент позволяет решить задачу быстро и качественно
Кроме библиотек, которые подключаются и запускаются в браузере поверх встроенных возможностей JS, предоставляя стандартные решения для задач, с которыми сталкивается разработчик, существуют еще множество сервисов, которые хранят свои данные на других серверах, однако вы их можете использовать в своем JS-коде. Например, вы можете использовать Карты Google на своем сайте, не храня терабайты картинок земной поверхности на своих серверах. Документация по сервисам Google достаточно хорошо написана и почти полностью переведена на русский.
API (Application Programming Interface) - общий термин, которым называют те или иные продуманные способы взаимодействия с библиотеками. Например, набор функций jQuery - это API. API можно подразделить на сетевые и локальные. Например API Google Карт так и называется. Естественно задачи постройки маршрутов, отображения поверхности Земли и прочие выполняются за счет ресурсов серверов Google, так что эти API являются сетевыми. Хотя изнутри JS-кода это не всегда заметно.
Так как браузер - изначально программа для сетевого взаимодействия, то JS обладает богатыми сетевыми возможностями. Рассмотрим их:
a
для пользователя или img
для подгрузки картинки;Например, ничего не мешает нам найти и использовать в своем коде список городов по странам. Получим эти данные, используя AJAX. JSON
Canvas - возможность HTML5, которая позволяет выделить блочный элемент для рисования любого вида 2D графики на нём. У вас есть возможность рисовать по-пиксельно, задавая цвет каждой точке; а так же рисовать текст, линии, круги и другие графические примитивы. пример
События - те или иные действия пользователя (нажатия кнопок, операции с мышью или на тачскрине), или внутри ОС, которые известны ОС и предполагают реакцию кода на них (отрисовку нового символа, действия при клике и так далее). Код, который обрабатывает событие, называется обработчиком события и обычно реализуется с помощью функций обратного вызова. См. jQuery примеры и обработку событий без jQuery в примере выше (Canvas)