Что такое HTML-тэги и атрибуты, валидатор (validator) W3C. Структура и правила написания тегов

Программист сталкивается с рядом проблем при написании HTML тегов. При работе над большим сайтом программный код разрастается, и вести контроль становится проблематично, программист может не закрыть тег и верстка сайта «уедет» — блок налезает на другой и внешний вид сайта портится.

Блочная верстка — ад программиста


На крупном сайте следить за тегами проблематично, особенно если над его разработкой работают несколько программистов. Основатели HTML предупреждают программистов и призывают соблюдать стандарты. Небольшие ошибки в коде нормальны и легко исправимы. Рассмотрим способы проверки HTML кода на ошибки и выявление незакрытых тегов и других элементов .

Определение незакрытых тегов

Как проверить код на незакрытые дивы (

), табличные элементы ( / /
) и другие теги? Простейший способ — текстовый редактор с подсветкой синтаксиса. Скачайте notepad++ поддерживающий десятки языков программирования. Нужные для веб-кодинга HTML, JavsScript, PHP и другие языки он подсвечивает.

Проверить обычные HTML элементы не сложно, и если незакрытые теги вставки гиперссылки « » теги форматирования « » / «

» или « » можно определить визуально, то с блочными элементами вроде дивов и таблиц это не сработает. Код большой, один див является оберткой другого, при большой вложенности можно перепутать и случайно удалить один элемент и верстка поедет.


Что бы определить незакрытый тег (html элемент страницы) включаем подсветку в notepad++
  1. 1. В меню выбираем «Синтаксис»
  2. 2. Выбираем нужный язык, в нашем случае HTML
  3. 3. Номер строки
  4. 4. Древовидная полоса, позволяющая просматривать внутренности тегов

Проверка заключается в закрытии одного дива за другим нажатием на плюсики «+», если тег не закрывается, значит, закрывающегося тега нет. Исследуем код и прописываем недостающий в нужно месте.

Определить к какому закрывающемуся тегу относится элемент можно нажатием в редакторе на этот тег. Редактор подсветит открывающейся и относящийся к нему закрывающейся тег. Можно определить ошибку при просмотре, когда закрывающегося элемента не обнаруживается, или он относится к другому элементу, который рушит логику кода.

Это простейший способ проверки, требующий ручной работы. Автоматизированных систем нет, только программист может понять, где нужно прописать закрытие дива или таблицы, не нарушив визуального оформления страницы.


Используйте встроенные отладчики FireBug (FireFox) и инспекторы-исследователи встроенные в браузер. Открыть отладчик (редактор) кода в Opera можно нажатием комбинации «Ctrl-Shift-C» или как показано на рисунке. Правой кнопкой мыши жмем на исследуемом объекте и в контекстом меню жмем «Просмотреть код элемента».

Валидатор HTML: Общий анализ и поиск ошибок в коде

Проверить код на ошибки можно валидатором HTML — W3C.

Markup Validation Service (MVS) — Этот валидатор проверяет правильность разметки веб-документов в HTML, XHTML, SMIL, MathML и т.д. Если вы хотите проверить конкретный контент, такой как RSS / Atom-каналы или таблицы стилей CSS, содержимое MobileOK или найти неработающие ссылки, есть другие валидаторы и доступные инструменты. В качестве альтернативы можете попробовать наш валидатор на основе не DTD.

Сервис позволяет проверить CSS, HTML, XHTML, JS… после анализа сайта сервис выдаст ошибки и метод устранения проблемного участка кода.. Можно исправить, но не обязательно прислушиваться к сервису если ваш сайт нормально отображается и индексируется. Каждый 2 крупный сайт не до конца соблюдает стандарты HTML, проверьте сами.

Содержимое html-документа или веб-страницы определяется содержимым html элементов.

HTML элементы

HTML-элемент — это все, что находится между стартовым(открывающим) и конечным(закрывающим) тегами.

Синтаксис элементов html

  • HTML элемент начинается с открывающего/стартового тега .
  • HTML элемент заканчивается закрывающим/конечным тегом .
  • Содержимое элемента — это все, что находится между открывающим и закрывающим тегами.
  • Некоторые элементы могут быть пустыми .
  • Пустые элементы состоят только из открывающего тега.
  • Большая часть html элементов может иметь атрибуты.

(Вы узнаете больше об атрибутах в следующих главах учебника.)

Вложенные элементы

Большая часть html элементов может быть вложена друг в друга. HTML документ состоит из вложенных элементов.

Пример


Это мой первый параграф.


Приведенный пример состоит из трех элементов:

1. Элемент

используется для вставки параграфа в веб-страницу. Имеет открывающий и закрывающий теги. Содержимое этого элемента в нашем примере - надпись «Это мой первый параграф».

2. Элемент описывает видимую часть содержимого веб-страницы. Имеет открывающий и закрывающий теги. В него вложен элемент

Со своим содержимым.

3. Элемент описывает весь html документ. Имеет открывающий и закрывающий теги. В него вложены уже два элемента и

Не забывайте закрывающий тег

Большинство браузеров корректно отобразят ваш код html, даже если вы забудете поставить закрывающий тег. Однако, это может привести к ошибкам и непредсказуемым результатам.

Внимание! Будущие версии HTML не позволяют забывать закрывающие теги.

Пустые HTML элементы

HTML элементы без содержимого называются пустыми элементами. Пустые элементы состоят из одного тега.


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

В XHTML, XML и будущих версиях HTML все элементы должны быть закрыты. Чтобы сделать это, вам достаточно добавить наклонную черту через пробел после названия тега —
. Это хорошая привычка, которая пригодится в будущем.

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

Открывающие и закрывающие теги, теги-контейнеры

Теги могут быть открывающими (начальными) и закрывающими (конечными). Открывающие теги состоят из знаков «<» и «>» между которыми указывается имя тега, а у закрывающих перед именем дополнительно ставится прямой слэш (/).

Большинство HTML-тегов являются парными - имеют обязательные открывающий и закрывающий теги, например: и . Некоторые имеют только открывающий тег, например
, и называются пустыми . Другие же могут иметь открывающий тег, а закрывающий можно указывать, а можно и нет, тогда браузер сам определит, где заканчивается действие тега.

Теги, которые имеют обязательный или необязательный закрывающий тег принято называть теги-контейнеры или элементы-контейнеры .

Все теги HTML не чувствительны к регистру, то есть можно указывать и или вообще .

Теперь совет. Рекомендую вам всегда писать теги в нижнем регистре (строчными буквами) и ставить необязательные закрывающие теги. Во-первых, это является признаком профессионализма и хорошего тона, а во-вторых, в HTML-коде со всеми закрывающими тегами гораздо проще ориентироваться и править его. Ну да я вам об этом еще не раз напомню.

Пример использования тегов

Жирный шрифт Курсивный шрифт

Результат в браузере

И все таки, как будет правильно - «теги» или «элементы»?

Вообще, в большинстве случаев правильно будет говорить - «элементы». Именно из HTML-элементов состоит веб-страница, и именно элементы выводят в окне браузера изображения, таблицы, ссылки и т.д. А теги предназначены для того, чтобы сообщить браузеру, где и какой элемент находится, начинается и заканчивается. Давайте еще раз рассмотрим пример, который расположен выше. Там указаны два элемента B и I . Каждый из них содержит обычный текст и имеет открывающий и закрывающий теги.

Так уж сложилось, что на сегодняшний день слово «тег» прочно вошло в русский язык (да и не только в русский) в качестве синонима слову «элемент». Я думаю из-за того, что при использовании обоих слов не теряется смысл повествования. Поэтому в данном учебнике я тоже буду использовать оба этих слова, чтобы вы привыкли к ним и научились подсознательно определять, о чем идет речь в каждом конкретном случае. И сильно на этом не заморачивайтесь, знаете, чем отличается тег от элемента - вот и хорошо.

Теги можно указывать в одну строку, а можно в несколько

Да, HTML-теги можно указывать в одну строку, а можно в несколько, для браузеров это не имеет никакого значения, они просто игнорируют переносы строк. А также между тегами можно ставить сколько угодно пробелов - все подряд идущие пробелы браузеры воспринимают как один. Например, вот так:

Жирный шрифт Курсивный шрифт

Результат в браузере

Правильная вложенность тегов

Многие теги можно вкладывать друг в друга, чтобы они вместе воздействовали на один и тот же элемент страницы. Но при этом важно соблюдать правильную вложенность - тег, появляющийся раньше, должен закрываться позже. Кстати, ошибка вложенности является одной из самой распространенной среди новичков.

<тег1><тег2><тег3> ... - правильно

<тег1><тег2><тег3> ... - неправильно

Пример использования вложенных тегов

Жирный курсивный шрифт

Результат в браузере

Родительские и дочерние теги, потомки и предки

Чтобы указать иерархическую структуру HTML-тегов, их принято называть определенными словами. На самом деле все очень просто. Итак, давайте возьмем такой пример:

<тег1> <тег2>... <тег3><тег4>...

Родительские теги - тег является родительским для других тегов, если они вложены внутрь него на один уровень. В нашем примере <ТЕГ1> является родительским для <ТЕГ2> и <ТЕГ3> , но не является для тега <ТЕГ4> . А вот <ТЕГ3> родитель <ТЕГ4> .

Дочерние теги - обратно родительским. <ТЕГ2> и <ТЕГ3> дочерние для <ТЕГ1> , а <ТЕГ4> для тега <ТЕГ3> .

Предки - тег является предком для всех тегов, которые находятся внутри него на любом уровне вложенности. <ТЕГ1> предок для всех тегов, а <ТЕГ3> предок <ТЕГ4> .

Потомки - обратно предкам. Все теги - потомки тега <ТЕГ1> , но <ТЕГ4> еще и потомок тега <ТЕГ3> .

Ну что, не запутались? Чтобы проще запомнить, проведите аналогию со своим семейным древом и сразу все встанет на свои места.

Что значит «один тег содержит другой»?

Как вы уже знаете, теги можно вкладывать друг в друга и, соответственно, одни могут содержать другие. Но тут есть один небольшой, но очень важный момент, которому новички часто не уделяют должного внимания. Давайте возьмем уже знакомый нам пример:

<тег1> <тег2>... <тег3><тег4>...

Говорят, что один тег содержит другой только, если первый является родительским тегом, а второй - дочерним и никак иначе. то есть в нашем примере <ТЕГ1> содержит <ТЕГ2> и <ТЕГ3> , но не содержит <ТЕГ4> . А вот <ТЕГ3> как раз и содержит <ТЕГ4> . Немного необычно, правда? Но своя логика в этом есть, согласитесь.

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

Типы тегов

В HTML, теги делятся на несколько типов или моделей:

Inline (встроенные, уровня строки) - все, что выводят эти теги на страницу, всегда отображается браузером на одной сроке. И только если доступной ширины (например, ширины окна браузера) не хватает, то происходит перенос строки на следующую и т.д.

Пример использования встроенных тегов

Жирный шрифт Курсивный шрифт

Результат в браузере

Block (блочные, уровня блока) - все, что выводит каждый из таких тегов на страницу, отображается браузером с новой строки, После себя такие элементы также создают переносы строк.

Пример использования блочных тегов

Параграф 1

Параграф 2

Результат в браузере

Параграф 1

Параграф 2

Есть еще теги других типов, но о них мы с вами поговорим в дальнейших уроках, а эти два типа самые распространенные в HTML.

Ну что, надеюсь пока все понятно? Тогда пошли дальше.

Здравствуйте, уважаемые читатели блога ! Продолжаем рубрику «Создаем сайт с нуля», а в частности тему тегов... И сегодня мы рассмотрим теги, которые присутствуют в любой интернет-страничке - , и . Есть еще один тег, который должен находиться в каждом HTML-документе и про который я уже писал в одной из предыдущих статей — , поэтому затрагивать его мы не будем.

В прошлых статьях рубрики я писал про создание пустого файла в формате html. Фактически, он был использован в статье про (именно в нем были применены теги заголовков). Теперь мы напрямую будем редактировать этот файл с полными описаниями.

И начнем статью именно с редактирования созданного файла. Лично я назвал его index.html, но имя может быть любым. Открываем его с помощью любого текстового редактора (лучше использовать Notepad++, так как в нем есть подсветка кода и другие полезные примочки). И сразу добавим в него теги , и ровно в таком порядке, в каком они написаны. Не забудьте их закрыть, как показано на скриншоте. Документ примет следующий вид:

А теперь рассмотрим значение каждого тега в отдельности. Не зря же они есть в каждом HTML-документе.

Функции тега

Итак, тег является контейнерным (). Внутри него заключается все видимое и невидимое содержимое веб-страницы (включая теги и ). Открывающий тег идет сразу после декларации Doctype, а закрывающий стоит в конце документа. Тем самым, он дает понять браузеру, откуда начинать обработку документа и где ее заканчивать.

Теоретически, он и сам может понять что и как. Ведь ? Это переводчик языка HTML и вряд ли он начнет обработку с середины документа и закончит ее, не дойдя до конца. Вопрос, конечно, спорный, но я всегда думал (и сейчас не отказываюсь от своего мнения) о том, что написание данного тега обязательно.

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

Единственное, что точно могу сказать — большинство атрибутов не поддерживаются HTML 4.01 или нежелательны. Хотя один пример все же приведу. — всплывающая подсказка в любом месте документа. Например, при наведении мыши на изображение вы можете увидеть всплывающий текст. Также и в случае с этим тегом:

А вот что вы увидите, наведя курсор на документ с данным содержимым:

Предпочтительнее использовать атрибут title не в теге , а в любых других конкретных участках страницы. Во-первых — удобно, во-вторых — поисковые системы лучше отнесутся к вашему сайту. Непосредственно на оптимизацию ресурса этот тег не оказывает. Идем далее.

Функция тега

И следующим на очереди идет тег . В нем содержится вся техническая информация о странице, которая служит для помощи браузеру и поисковым системам. Тег является контейнерным и следует сразу после , только в отличии от последнего, закрывающий тег стоит не в конце документа, а перед открывающим тегом .

Какую же информацию можно увидеть в ? А никакую. Все, что находится в пределах этого тега доступно для глаза человека только с помощью просмотра исходного кода страницы. Все содержимое этого тега предназначено для поисковых систем и браузеров . Единственное, что вы хоть как-то можете увидеть это тег , который отвечает за заголовок окна веб-страницы. Вот пример:</p> <p><img src='https://i0.wp.com/monetavinternete.ru/wp-content/uploads/2013/01/Title-v-tege-head.png' align="center" width="100%" loading=lazy></p> <p>Текст после иконки и есть содержание тега <title>. А теперь рассмотрим содержание <head>, которое мы увидеть не можем, но которое является очень важной частью <b>создания и продвижения сайта. </b>В первую очередь это строка</p><p> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </p><p>Это мета-тег отвечающий за <b>тип содержимого страницы </b> (Content-Type). В <a href="/papki-na-fleshke-stali-yarlykami-chto-delat-chto-delat-v-sluchae/">данном случае</a>, это <a href="/vstavka-html-koda-na-stranicu-kak-dobavit-svoi-html-kod-chto-takoe/">html код</a> в кодировке UTF-8 (content="text/html; charset=UTF-8"). Далее идет <a href="/chto-takoe-tegi-i-metategi-title---ne-meta-teg-no-dlya-seo-ochen-vazhen-chto-takoe/">тег title</a>, описанный выше. Затем идут строки, начинающиеся с тега <link>. Он указывает на связь с внешним документом. Например, строка</p><p> <link href="http://сайт/.../style.css" rel="stylesheet" media="screen" type="text/css" /> </p><p>указывает на то, что подключен (rel="stylesheet") файл с (type="text/css"), который находится по такому-то адресу (для уменьшения длины строки, я заменил половин адреса на точки). После обработки данной строки браузером он определит, откуда брать <b><a href="/kaskadnaya-tablica-stilei-css-kak-zadayutsya-i-rabotayut-css-stili/">каскадные таблицы</a> стилей </b>.</p> <p>Вообще, в <a href="/teg-head-gde-nahoditsya-teg-head-sozdanie-nastroika-i-naznachenie/">теге head</a> много информации,о которой можно рассказывать бесконечно долго. Последнее, что стоит отметить (конкретно в случае с ) — наличие тегов описания, <a href="/programma-dlya-sbora-klyuchevyh-slov-podbor-klyuchevyh-slov-filtraciya/">ключевых слов</a> и canonical. Я использую <b>плагин All in One SEO Pack </b>, поэтому они и присутствуют в пределах <head>.</p> <script>document.write("<img style='display:none;' src='//counter.yadro.ru/hit;artfast_after?t44.1;r"+ escape(document.referrer)+((typeof(screen)=="undefined")?"": ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+";h"+escape(document.title.substring(0,150))+ ";"+Math.random()+ "border='0' width='1' height='1' loading=lazy>");</script> </div> </article> <div class="related-posts"> <h3 class="title text-uppercase text-center">Еще на эту тему:</h3> <div class="row"> <div class="post article-wrp with-border col-sm-6 col-md-4"> <div class="article-in-loop"> <a class="thumb-title" href="/top-programm-dlya-udaleniya-draiverov-skachat-driver-sweeper/"> <span class="embed-responsive embed-responsive-16by9 vertical-align-block thumb"> <span class="embed-responsive-item"> <span class="super-wrp"> <span class="span-table"> <span class="span-table-row"> <span class="span-table-row-cell"> <img src="https://i2.wp.com/pc-assistent.ru/wp-content/uploads/2017/06/driver_sweeper_200x175.png" class="img-responsive" alt="Скачать Driver Sweeper – программа для удаления драйверов из OC Windows Скачать программу для удаления драйверов карты" loading=lazy> </span> </span> </span> </span> </span> </span> <span class="date"> </span> <span class="title"> Скачать Driver Sweeper – программа для удаления драйверов из OC Windows Скачать программу для удаления драйверов карты </span> </a> </div> </div> <div class="post article-wrp with-border col-sm-6 col-md-4"> <div class="article-in-loop"> <a class="thumb-title" href="/vykidyvaet-na-rabochii-stol-sniper-elite-v2-vykidyvaet-na-rabochii-stol-sniper-elite-v2-chto/"> <span class="embed-responsive embed-responsive-16by9 vertical-align-block thumb"> <span class="embed-responsive-item"> <span class="super-wrp"> <span class="span-table"> <span class="span-table-row"> <span class="span-table-row-cell"> <img src="https://i2.wp.com/i.rutab.net/upload/tech_issues/audio_check.png" class="img-responsive" alt="Выкидывает на рабочий стол Sniper Elite V2 Что делать если лагает sniper elite 3" loading=lazy> </span> </span> </span> </span> </span> </span> <span class="date"> </span> <span class="title"> Выкидывает на рабочий стол Sniper Elite V2 Что делать если лагает sniper elite 3 </span> </a> </div> </div> <div class="post article-wrp with-border col-sm-6 col-md-4"> <div class="article-in-loop"> <a class="thumb-title" href="/kak-naiti-kartinu-po-fotografii-poisk-pohozhei-fotografii-v-internet-poisk/"> <span class="embed-responsive embed-responsive-16by9 vertical-align-block thumb"> <span class="embed-responsive-item"> <span class="super-wrp"> <span class="span-table"> <span class="span-table-row"> <span class="span-table-row-cell"> <img src="https://i2.wp.com/kompukter.ru/wp-content/uploads/2018/03/klikaem-po-znachku-foto-v-gugl.png" class="img-responsive" alt="Поиск похожей фотографии в интернет" loading=lazy> </span> </span> </span> </span> </span> </span> <span class="date"> </span> <span class="title"> Поиск похожей фотографии в интернет </span> </a> </div> </div> </div> </div> </div> <aside id="sidebar" class="col-sm-4 col-sidebar hidden-xs" role="complementary"> <div class="content-menu bs-docs-sidebar"> <div class="progress-right" id="progress-right">0%</div> <script> window.onscroll = function() { var scrolled = window.pageYOffset || document.documentElement.scrollTop; var scrollprogress = Math.round(scrolled / ((document.documentElement.scrollHeight - document.documentElement.clientHeight) / 100)); document.getElementById('progress-right').innerHTML = scrollprogress + '%'; } </script> <div class="ad clearfix text-center"> </div> </div> <script> /** * Скрипт закріплення блоку при прокрутці */ (function() { var a = document.querySelector('#sidebar'), b = null, P = 0; window.addEventListener('scroll', Ascroll, false); document.body.addEventListener('scroll', Ascroll, false); function Ascroll() { if (b == null) { var Sa = getComputedStyle(a, ''), s = ''; for (var i = 0; i < Sa.length; i++) { if (Sa[i].indexOf('overflow') == 0 || Sa[i].indexOf('padding') == 0 || Sa[i].indexOf('border') == 0 || Sa[i].indexOf('outline') == 0 || Sa[i].indexOf('box-shadow') == 0 || Sa[i].indexOf('background') == 0) { s += Sa[i] + ': ' + Sa.getPropertyValue(Sa[i]) + '; ' } } b = document.createElement('div'); b.style.cssText = s + ' box-sizing: border-box; width: ' + a.offsetWidth + 'px;'; a.insertBefore(b, a.firstChild); var l = a.childNodes.length; for (var i = 1; i < l; i++) { b.appendChild(a.childNodes[1]); } a.style.height = b.getBoundingClientRect().height + 'px'; a.style.padding = '0'; a.style.border = '0'; } var Ra = a.getBoundingClientRect(), R = Math.round(Ra.top + b.getBoundingClientRect().height - document.querySelector('#content').getBoundingClientRect().bottom); // селектор блока, при достижении нижнего края которого нужно открепить прилипающий элемент if ((Ra.top - P) <= 0) { if ((Ra.top - P) <= R) { b.className = 'stop'; b.style.top = -R + 'px'; } else { b.className = 'evr-sticky'; b.style.top = P + 'px'; } } else { b.className = ''; b.style.top = ''; } window.addEventListener('resize', function() { a.children[0].style.width = getComputedStyle(a, '').width }, false); } })() </script> <style> /* Додаємо відступ вгорі, щоб було на одному рівні із змістом */ body.single #breadcrumbs { margin-bottom: 5px; } #content article { padding-top: 15px; } #sidebar .evr-sticky { position: fixed; z-index: 101; } #sidebar .stop { position: relative; z-index: 101; } #div-gpt-ad-30906309 { margin-top: 20px; } #sidebar .evr-sticky #div-gpt-ad-30906309, #sidebar .stop #div-gpt-ad-30906309 { margin-top: 20px; } #sidebar .content-menu { transition: 0.5s all; } #sidebar .content-menu .title { padding-top: 15px; font-size: 20px; margin: 0 0 15px 0; } #sidebar .content-menu .title .glyphicon { padding-right: 5px; } #sidebar .content-menu ul { padding: 0; margin: 0; overflow: auto; } #sidebar .content-menu .nav li { margin: 0; clear: both; margin-bottom: 4px; } /* Bullet before text */ #sidebar .content-menu .nav li a:before { content: "●"; position: absolute; font-size: 17px; color: #dedede; left: 0; top: -1px; } #sidebar .content-menu .nav li a { position: relative; display: inline-block; font-size: 15px; color: #000; line-height: 1.2; padding: 3px 0 0 18px; overflow: hidden; text-decoration: none !important; } #sidebar .content-menu .nav li.active:focus>a, #sidebar .content-menu .nav li.active:hover>a, #sidebar .content-menu .nav li.active>a, #sidebar .content-menu .nav li a:hover { text-decoration: none; font-weight: normal; color: #c23085; background-color: transparent; border-left: 0 none; } /* Bullet before text */ #sidebar .content-menu .nav li.active>a:hover:before, #sidebar .content-menu .nav li.active>a:before { -moz-transform: scale(1.3); -webkit-transform: scale(1.3); transform: scale(1.3); left: 1px; color: #c23085; background: transparent; } #sidebar .content-menu .nav li a:hover:before { color: #c23085; background: transparent; } #sidebar a.go-top { display: block; margin-top: 5px; padding: 14px 0 5px 0; text-align: center; text-transform: lowercase; font-size: 17px; color: #666; background: transparent url(/wp-content/themes/sk-Evrikak/i/go-top-in-sidebar.png) no-repeat 50% 50%; opacity: 0; transition: 0.2s all; } #sidebar a.go-top:hover { color: #000; text-decoration: none; } /* Якщо блок зафіксовний */ #sidebar .evr-sticky a.go-top { opacity: 1; } #sidebar .evr-sticky { box-shadow: -9px 0 10px 0 rgba(0, 0, 0, 0.08) !important; } </style> <script> jQuery(document).ready(function() { // (c) http://jsfiddle.net/gableroux/S2SMK/ // підсвітка активного пункту меню, bootstrap jQuery('body').scrollspy({ target: '.bs-docs-sidebar', offset: 70 }); // даємо висоту меню, щоб зробити прокрутку jQuery(window).bind("load resize", function() { var body_w = jQuery("body").width(); // визначаємо ширину вікна var window_h = jQuery(window).height(); // визначаємо висоту вікна //alert(window_h); if (body_w > '767') { // якщо ширина більша 767 window_h = window_h - 375; // коригуємо висоту блоку з меню. віднімаємо висоту блоку «наверх», у перспективі треба буще ще відняти інші-нові блоки var menu_h = jQuery('#sidebar .content-menu').height(); //if(menu_h > window_h) { // якщо висота усього сайдбару більше висоти екрану, то вказуємо висоту для меню. Воно автоматично розтягне висоту сайдбару, з’явиться прорутка у меню, і сайдбар займе усю висоту вікна jQuery('#sidebar .content-menu ul.nav').css('height', window_h); //} } }); // парсимо контент і формуємо меню jQuery('#content .evr-section').each(function() { var evr_section_id = jQuery(this).attr('id'); var evr_section_title = jQuery(this).find(':header:first').text(); var txt = '<li class="content-menu-item added-by-js"><a href="#' + evr_section_id + '">' + evr_section_title + '</a></li>'; //var txt = txt.unwrap(); //txt = jQuery('li', txt).unwrap; //txt = txt.unwrap('h3'); //txt = jQuery(txt).wrap('<li>'); jQuery('#sidebar ul.nav').append(txt); // Insert }); // Додаємо спеціальний клас для посилання на відео jQuery('#sidebar .content-menu').find("a[href='#entry-video']").addClass('link-to-video'); // навігація по статті (плавна прокрутка до потрібного блоку) jQuery('#sidebar .content-menu .nav a').click(function() { jQuery.scrollTo(this.hash, { offset: -10, // Відступ вгорі duration: 750 }); return false; }); // перейти вгору (плавна прокрутка вгору) jQuery('#sidebar a.go-top').click(function() { jQuery.scrollTo(this.hash, { offset: 0, // Відступ вгорі duration: 450 }); return false; }); }); </script> <link type="text/css" href="/wp-content/themes/sk-Evrikak/scroll-Pane/jquery.jscrollpane.css" rel="stylesheet" media="all" /> <script type="text/javascript" src="https://battlecase.ru/wp-content/themes/sk-Evrikak/scroll-Pane/jquery.mousewheel.js"></script> <script type="text/javascript" src="https://battlecase.ru/wp-content/themes/sk-Evrikak/scroll-Pane/jquery.jscrollpane.min.js"></script> <script> // Прокрутка оновлюється при зміні висоти вікна jQuery(function() { jQuery('#sidebar .content-menu ul.nav').each( function() { jQuery(this).jScrollPane({ showArrows: jQuery(this).is('.arrow') }); var api = jQuery(this).data('jsp'); var throttleTimeout; jQuery(window).bind("load resize", function() { // IE fires multiple resize events while you are dragging the browser window which // causes it to crash if you try to update the scrollpane on every one. So we need // to throttle it to fire a maximum of once every 50 milliseconds... if (!throttleTimeout) { throttleTimeout = setTimeout( function() { api.reinitialise(); throttleTimeout = null; }, 50 ); } }); } ) }); </script> <style> /* Styles specific to this particular page */ .scroll-pane { overflow: auto; height: 400px; } .jspTrack { background: #dedede; } .jspVerticalBar { width: 6px; } .jspDrag { background: #309dc6; } </style> </aside> </div> </div> <div class="other-posts"> <div class="container"> <h3 class="title text-uppercase text-center h">Другие статьи:</h3> <div class="row articles"> <div class="post article-wrp with-border col-sm-6 col-md-4 col-lg-3"> <div class="article-in-loop"> <a class="thumb-title" href="/samyi-moshchnyi-telefon-v-mire-na-dannyi-moment-samye-moshchnye-smartfony-top-10/"> <span class="embed-responsive embed-responsive-16by9 vertical-align-block thumb"> <span class="embed-responsive-item"> <span class="super-wrp"> <span class="span-table"> <span class="span-table-row"> <span class="span-table-row-cell"> <img src="https://i1.wp.com/technosova.ru/wp-content/uploads/2018/10/2-2.jpg" class="img-responsive" alt="Самые мощные смартфоны Топ 10 самых мощных телефонов" loading=lazy> </span> </span> </span> </span> </span> </span> <span class="date"> Самые мощные смартфоны Топ 10 самых мощных телефонов </span> <span class="title"> Современные технологии позволяют уместить в обычном смартфоне мощность и производительность... </span> </a> </div> </div> <div class="post article-wrp with-border col-sm-6 col-md-4 col-lg-3"> <div class="article-in-loop"> <a class="thumb-title" href="/kak-udalitsya-iz-moego-mira-kak-udalit-stranicu-i-akkaunt-v-moem-mire/"> <span class="embed-responsive embed-responsive-16by9 vertical-align-block thumb"> <span class="embed-responsive-item"> <span class="super-wrp"> <span class="span-table"> <span class="span-table-row"> <span class="span-table-row-cell"> <img src="https://i1.wp.com/socialnie-seti.info/wp-content/uploads/2012/09/galochki-dlya-ydaleniya-stranici.jpg" class="img-responsive" alt="Как удалить страницу и аккаунт в моем мире" loading=lazy> </span> </span> </span> </span> </span> </span> <span class="date"> Как удалить страницу и аккаунт в моем мире </span> <span class="title"> Бывает так, что человек пройдя регистрацию понимает, что эта социальная сеть не для него и хочет... </span> </a> </div> </div> <div class="post article-wrp with-border col-sm-6 col-md-4 col-lg-3"> <div class="article-in-loop"> <a class="thumb-title" href="/ne-udalyaetsya-avast-chto-delat-kak-udalit-avast-s-kompyutera-esli-on-ne/"> <span class="embed-responsive embed-responsive-16by9 vertical-align-block thumb"> <span class="embed-responsive-item"> <span class="super-wrp"> <span class="span-table"> <span class="span-table-row"> <span class="span-table-row-cell"> <img src="https://i2.wp.com/vellisa.ru/wp-content/uploads/2018/05/2-1.jpg" class="img-responsive" alt="Как удалить аваст с компьютера если он не удаляется" loading=lazy> </span> </span> </span> </span> </span> </span> <span class="date"> Как удалить аваст с компьютера если он не удаляется </span> <span class="title"> Сейчас мы разберем, как удалить Аваст, чтобы после деинсталляции антивируса, на компьютере не... </span> </a> </div> </div> <div class="post article-wrp with-border col-sm-6 col-md-4 col-lg-3"> <div class="article-in-loop"> <a class="thumb-title" href="/kak-podklyuchit-nokia-lyumiya-800-k-kompyuteru-podklyuchenie-nokia-lumia-k/"> <span class="embed-responsive embed-responsive-16by9 vertical-align-block thumb"> <span class="embed-responsive-item"> <span class="super-wrp"> <span class="span-table"> <span class="span-table-row"> <span class="span-table-row-cell"> <img src="https://i2.wp.com/sms-mms-free.ru/sites/default/files/images/Specifications_Nokia_800_Zune.jpg" class="img-responsive" alt="Подключение Nokia Lumia к ПК" loading=lazy> </span> </span> </span> </span> </span> </span> <span class="date"> Подключение Nokia Lumia к ПК </span> <span class="title"> Статьи и Лайфхаки впервые могло разочаровать всех, кто недавно приобрёл данное мобильное... </span> </a> </div> </div> </div> </div> </div> <style> /* Додаємо відступ внизу */ body.single #content .ad { margin-bottom: 20px; } /* Додаємо відступ вгорі */ body.single #sidebar .ad { margin-top: 20px; } </style> <footer id="footer" class="clearfix"> <noindex> <div class="container row-1 hidden-xs"> <nav class="nav"> <div class="menu menu-footer"> <ul id="menu-podval" class="menu"> <li class="menu-item type-custom object-custom home "><a href="/">Главная</a></li> <li class="menu-item type-post_type object-page "><a href="">О проекте</a></li> <li class="menu-item type-post_type object-page "><a href="">Рекламодателям</a></li> <li class="menu-item type-post_type object-page "><a href="/sitemap.xml">Карта сайта</a></li> <li class="menu-item type-post_type object-page "><a href="/feedback/">Обратная связь</a></li> </ul> </div> </nav> </div> <div class="border-blue clearfix"></div> <div class="container row-2"> <div class="row"> <div class="col-sm-6"> <div id="text-2" class="block widget-container widget_text"> <div class="textwidget"> <div class="sn"> <a href="https://www.facebook.com/sharer/sharer.php?u=https://battlecase.ru/chto-takoe-html-tegi-i-atributy-validator-validator-w3c-struktura-i-pravila/" target="_blank"><img src="https://battlecase.ru/wp-content/themes/sk-Evrikak/i/sn/facebook.png" alt="" class="img-responsive" loading=lazy></a> <a href="https://vk.com/share.php?url=https://battlecase.ru/chto-takoe-html-tegi-i-atributy-validator-validator-w3c-struktura-i-pravila/" target="_blank"><img src="https://battlecase.ru/wp-content/themes/sk-Evrikak/i/sn/vkontakte.png" alt="" class="img-responsive" loading=lazy></a> <a href="https://youtube.com/" target="_blank"><img src="https://battlecase.ru/wp-content/themes/sk-Evrikak/i/sn/youtube.png" alt="" class="img-responsive" loading=lazy></a> </div> <style> .sn a { display: inline-block; margin: 0 10px 0 0; width: 55px; } @media (max-width:767px) { .sn { text-align: center; } .sn a { margin: 0 7px; width: 43px; } } .sn a:hover { opacity: 0.9; } </style> </div> </div> </div> </div> </div> <div class="border-3 clearfix"></div> <div class="container row-3"> <div class="row"> <div class="col-sm-8 col-txt col-txt-1"> Размещенные на сайте материалы, могут содержать информацию для пользователей старше 18 лет. </div> <div class="col-sm-4 col-txt col-txt-2 text-right"> <div class="project-by-um"> © 2012 - 2018 <img src="https://battlecase.ru/wp-content/themes/sk-Evrikak/i/svg/logo-ukr-media.svg" width="90" class="img-responsive" loading=lazy> </div> </div> </div> </div> </noindex> </footer> </div> <div class="modal fade" id="modal-search" tabindex="-1" role="dialog" aria-labelledby="modal-searchLabel"> <div class="modal-dialog modal-lg itc-container" role="document"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Закрыть"><span aria-hidden="true">×</span></button> <h4 class="modal-title" id="modal-searchLabel">Поиск по сайту</h4> </div> <div class="modal-body"> <form role="search" method="get" class="form-search" id="modal-searchform" action="/"> <div class="form-group"> <input type="search" autocomplete="off" spellcheck="false" placeholder="Введите текст поиска" value="" name="s" id="modal-s" class="input-lg form-control"> </div> </form> <div class="modal-search-results"></div> </div> </div> </div> </div> <link rel='stylesheet' id='dashicons-css' href='/wp-includes/css/dashicons.min.css?ver=4.9.1' type='text/css' media='all' /> <link rel='stylesheet' id='thickbox-css' href='/wp-includes/js/thickbox/thickbox.css?ver=4.9.1' type='text/css' media='all' /> <script type='text/javascript' src='https://battlecase.ru/wp-content/plugins/decomments/templates/decomments/assets/js/decom.min.js?ver=1513648647'></script> <script type='text/javascript' src='https://battlecase.ru/wp-content/themes/sk-Evrikak/js/modernizr-2.8.3.min.js?ver=4.9.1'></script> <script type='text/javascript' src='https://battlecase.ru/wp-content/plugins/visualizer/js/lib/clipboardjs/clipboard.min.js?ver=3.0.4'></script> <script type='text/javascript' src='https://battlecase.ru/wp-content/plugins/mistape/assets/js/mistape-front.js?ver=1.3.3'></script> <script type='text/javascript' src='https://battlecase.ru/wp-content/plugins/lazy-load/js/jquery.sonar.min.js?ver=0.6.1'></script> <script type='text/javascript' src='https://battlecase.ru/wp-content/plugins/lazy-load/js/lazy-load.js?ver=0.6.1'></script> <script type='text/javascript' src='/wp-includes/js/wp-embed.min.js?ver=4.9.1'></script> <script type='text/javascript'> /* <![CDATA[ */ var thickboxL10n = { "next": "\u0414\u0430\u043b\u0435\u0435 \u2192", "prev": "\u2190 \u041d\u0430\u0437\u0430\u0434", "image": "\u0418\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435", "of": "\u0438\u0437", "close": "\u0417\u0430\u043a\u0440\u044b\u0442\u044c", "noiframes": "\u042d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0438\u0445 \u0444\u0440\u0435\u0439\u043c\u043e\u0432. \u0423 \u0432\u0430\u0441 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u0442\u0435\u0433\u0438 iframe, \u043b\u0438\u0431\u043e \u0432\u0430\u0448 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u0438\u0445 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442.", "loadingAnimation": "http:\/\/battlecase.ru\/wp-includes\/js\/thickbox\/loadingAnimation.gif" }; /* ]]> */ </script> <script type='text/javascript' src='/wp-includes/js/thickbox/thickbox.js?ver=3.1-20121105'></script> <div id="mmenu_res" style="display:none;width:100%;height:40px;line-height:40px;background:#FD6A93;color:#FFFFFF;position:fixed;text-align:center;font-size:23px;;z-index:100000000"> <a class="mmenu_open" href="#irevoltmenu"> <span class="mmenu-icon-bar"></span> <span class="mmenu-icon-bar"></span> <span class="mmenu-icon-bar"></span> </a> Рубрики </div> <div class="modal fade" id="modalAd" tabindex="-1" role="dialog" aria-labelledby="modalAdLabel"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> </div> <div class="modal-body"> <div class="ad text-center"> </div> </div> </div> </div> </div> <link rel="stylesheet" href="/wp-content/themes/sk-Evrikak/ad/ad_popup-and-bottom/show-ads.css"> <script src="/assets/jquery1.cookie1.js"></script> <script src="https://battlecase.ru/wp-content/themes/sk-Evrikak/ad/ad_popup-and-bottom/show-ads.js"></script> </body> </html>