воскресенье, 21 марта 2021 г.

CSS flex-wrap

   CSS свойство flex-wrap определяет будут ли flex-элементы выстраиваться в одну строку или многострочно.

   Если многострочное расположение разрешено, то свойство позволяет задавать направление расположения flex-элементов.


Синтаксис:

   в CSS:

flex-wrap: "nowrap | wrap | wrap-reverse | initial | inherit";

   в JavaScript:

object.style.flexWrap = "wrap"



Значения свойства:


nowrap

   Указывает, что флекс элементы выстраиваются в одну строку (является значением по умолчанию).


wrap

   Указывает, что флекс элементы внутри контейнера располагаются в несколько горизонтальных рядов в случае переполнения. Флекс элементы размещаются слева направо при направлении ltr (глобальный HTML атрибут dir, либо CSS свойство direction со значением ltr), а при значении rtl размещаются справа налево.


wrap-reverse

   Указывает, что флекс элементы внутри контейнера располагаются в несколько горизонтальных рядов в случае переполнения, по аналогии со значением wrap, однако формирование строк идёт в обратном порядке.


initial

   Устанавливает свойство в значение по умолчанию.


inherit

   Указывает, что значение наследуется от родительского элемента.

 

Ресурсы для более глубокого изучения вопроса:

https://developer.mozilla.org/ru/docs/Web/CSS/flex-wrap#html

https://basicweb.ru/css/css_pr_flex-wrap.php

Что такое document.getElementById

 Синтаксис:

element = document.getElementById(id);


   document.getElementById() возвращает ссылку на элемент по его идентификатору (ID)

   ID является строкой, которая может быть использована для идентификации элемента, она может быть определена при помощи атрибута id в html или из скрипта.

   Если подобный элемент не будет найден, то метод возвратит значение null.


Пример:

<div id="moo">
</div>

<script>
  // получаем элемент
  let moo = document.getElementById('moo');

  // делаем его фон красным
  moo.style.background = 'red';
</script>



Источники для более глубокого изучения:

https://developer.mozilla.org/ru/docs/Web/API/Document/getElementById
https://learn.javascript.ru/searching-elements-dom

среда, 17 марта 2021 г.

Script - defer и async. Что значат, в чём разница

   Если не указывать эти атрибуты для тега <script>, то такие скрипты будут отрисовываться в ходе отрисовки страницы в том порядке, и в то время, когда они будут встречены в html коде.

   То есть, пока скрипт не будет выполнен, выполнение кода, следующего за этим скриптом не будет происходить.

 

Defer


   Атрибут defer откладывает выполнение скрипта до тех пор, пока вся страница не будет загружена полностью.



Async


   При наличии атрибута async браузер, при возможности, запускает скрипт асинхронно.

   То есть указанный в атрибуте src файл будет выполняться без ожидания загрузки и отображения веб-страницы (страница не ожидает результата выполнения скрипта, а продолжает загружаться как обычно)

 

Пример написания:


<script defer src="scripts/primer.js"></script>
<script async src="scripts/primer.js"></script>

воскресенье, 14 марта 2021 г.

CSS селекторы. Селектор типа, селектор id, селектор class

Селекторы - это имена стилей css, которые выбираются при обращении к ним. 


Селектор типа

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

   Например, если требуется сделать отступ у первой строки для всех абзацев или изменить цвет всех заголовков первого уровня.


   Пример css:

/*Задаём отступ первой строки для всех абзацев*/
p {text-indent: 25px;}
 
/*Изменяем цвет всех заголовков первого уровня на зелёный*/
h1 {color: green;}



Селектор id

   CSS селектор id (идентификатор) предназначен для применения стиля к уникальным элементам на веб-странице (т.е. используется на странице всего один раз).

   Каждый идентификатор может встречаться на странице только один раз, т.е. определенный id должен быть использован на странице только с тем тегом, для которого он предназначен. Если один и тот же идентификатор будет применен более, чем к одному элементу, во-первых HTML код не пройдет валидацию, во-вторых это может вызвать некорректную обработку кода браузером и вы можете увидеть не тот результат, которого ожидали.
   
   Для использования селектора id, нужно создать идентификатор (id), придумав ему уникальное имя, и прописать его в атрибуте id элемента, к которому будет применяться стиль. В CSS коде селектор id начинается с символа # сразу после которого идет имя идентификатора

Пример css:

      #para1 {
        text-align: center;
        color: red;
      }

Пример html:

  <div id="para1">
Содержание
  </div>


   Идентификаторы можно применять к конкретному тегу следующим образом:

   ИмяТега#Имя идентификатора { свойство1: значение; свойство2: значение; ... }



Пример css:

   P {
    color: green; /* Зеленый цвет текста */
    font-style: italic; /* Курсивное начертание текста */
   }
   P#opa {
    color: red; /* Красный цвет текста */
    border: 1px solid #666; /* Параметры рамки */
    background: #eee; /* Цвет фона */
    padding: 5px; /* Поля вокруг текста */
   }

Пример HTML:

   <p>Обычный параграф</p>
   <p id="opa">Параграф c особым стилем</p>



Селектор class

   CSS селектор class позволяет также как и селектор id стилизовать конкретный элемент страницы, но в отличие от id, селектор class позволяет применить свой стиль к нескольким элементам на веб-странице, а не только к одному.

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

Правила для имен классов:

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

Пример css:
    
.menter {
  color: #33CCFF;
  font-family: sans-serif;
}

Пример html:

<h1 class="menter">Абзац будет выровнен по центру.</h1>


   Если атрибут class, с одним и тем же именем, добавлен к нескольких разным тегам, а вам нужно чтобы стиль применялся только к определенным тегам, то в селекторе перед обозначением класса нужно указать тег, к которому должен быть применён стиль:


Пример html:

    <style>
      p.centner { text-align: center; }
    </style>

<p class="centner">Абзац будет выровнен по центру</p>
<div class="centner">Для этого тега стиль не применится</div>


Ресурсы для более глубокого изучения:

https://puzzleweb.ru/css/2_css_id_class.php

http://htmlbook.ru/samcss/identifikatory

Тег link

 Устанавливает связь с внешним документом вроде файла со стилями или со шрифтами. В отличие от тега <a>, тег <link> размещается всегда внутри контейнера <head> и не создает ссылку.
 
  Пример употребления:
    <link rel="stylesheet" href="style.css">
 
  Атрибуты

charset
    Кодировка связываемого документа.
href
    Путь к связываемому файлу.
media
    Определяет устройство, для которого следует применять стилевое оформление.
rel
    Определяет отношения между текущим документом и файлом, на который делается ссылка.
    Это необходимо, чтобы браузер знал, как использовать подключаемый документ.
    Значения:
      - alternate - ссылка на альтернативную версию документа
        (то есть страницы для печати, перевод или зеркало или, к примеру, для указания ссылки на файл в формате XML для описания ленты новостей, анонсов статей)
      - author - определяет ссылку страницу об авторе документа или на страницу с контактными данными автора.
      - canonical - позволяет пометить страницы с дублирующимся контентом, это значит что все страницы, имеющие одинаковое содержимое должны содержать тег <link> с атрибутом rel="canonical".

         Атрибут href, в этом случае, должен содержать ссылку на страницу с идентичным содержимым, которую поисковые системы должны считать основной:
         <link rel="canonical" href="httр://www.puzzleweb/html/tag_p.php">
      - first - указывает ссылку, ведущую на первый документ из последовательности документов.
      - help - ссылка на документ со справкой.
      - icon - определяет путь к иконке, которая будет использована для текущего документа.
      - last - указывает ссылку, ведущую на последний документ в последовательности документов.
      - licence - ссылка на сведения об авторских правах для документа.
      - next - указывает, что этот документ является частью серии, и что ссылка будет вести на следующий документ в этой серии.
      - prefetch - указывает, что следует заранее кэшировать файл, на который ведет ссылка.
      - prev - указывает, что этот документ является частью серии, и что ссылка ведет на предыдущий документ в этой серии.
      - search - ссылка на поиск для документа.
      - stylesheet Определяет, что подключаемый файл хранит таблицу стилей (CSS).

sizes
    Указывает размер иконок для визуального отображения.
type
    MIME-тип данных подключаемого файла.
 

 
Также для этого тега доступны универсальные атрибуты.
 

Ресурсы для более глкбокого изучения:
  https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types

Адаптивный дизайн. meta name='viewport'

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


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



Настройка meta viewport для адаптивных веб-страниц

 

   Включение поддержки тега meta viewport для адаптивных сайтов осуществляется посредством добавления всего одной строчки в раздел head веб-страницы:

<meta name="viewport" content="width=device-width, initial-scale=1">

   Атрибут name предназначен для того чтобы указать браузеру, какую именно информацию о странице хотим ему сообщить.
   Контент (содержимое) этих сведений указывается в качестве значения атрибута content посредством пар ключ-значение, разделённых между собой запятыми.

   Для адаптивного дизайна значения атрибута content viewport должно определяться 2 параметрами:

    width=device-width
    initial-scale=1


   Параметр (width=device-width) отвечает за то, чтобы ширина видимой области веб-страницы равнялась CSS ширине устройству (device-width). Данная ширина (CSS) - это не физическое разрешение экрана. Это некоторая величина независящая от разрешения экрана. Она предназначена для того, чтобы мобильный адаптивный дизайн сайта отображался на всех устройствах одинаково независимо от их плотности пикселей экрана.

   Параметр initial-scale устанавливает первоначальный масштаб веб-страницы. Значение 1 означает то, что масштаб равен 100%. 


   Ресурсы для более глубокого изучения:

https://metanit.com/web/html5/11.2.php

https://itchief.ru/lessons/html-and-css/meta-viewport-how-it-works

Тег Button

   HTML тег <button> создает кнопку, похожую на кнопку элемента <input> со значением submit, reset, button или image атрибута type.

   Но, в отличие от элемента <input>, элемент <button> не относится к пустым элементам - у него есть открывающий и закрывающий тег, между которыми можно расположить текст, изображения или другие HTML-элементы.

   Когда браузер отображает элемент <button> на веб-странице, то весь элемент со всем его содержимым становится одной активной кнопкой. По умолчанию он будет иметь такой же внешний вид, как и кнопка, созданная с помощью <input type="button">, но из-за возможности содержать другие HTML-элементы он имеет гораздо больше возможностей для применения к нему CSS стилей.

 

   Атрибуты:

accesskey
    Доступ к элементам формы с помощью горячих клавиш.
autofocus
    Устанавливает, что кнопка получает фокус после загрузки страницы.
disabled
    Блокирует доступ и изменение элемента.
form
    Связывает между собой форму и кнопку.
formaction
    Задаёт адрес, на который пересылаются данные формы при нажатии на кнопку.
formenctype
    Способ кодирования данных формы.
formmethod
    Указывает метод пересылки данных формы.
formnovalidate
    Отменяет проверку формы на корректность.
formtarget
    Открывает результат отправки формы в новом окне или фрейме.
name
    Определяет уникальное имя кнопки.
type
    Тип кнопки — обычная, для отправки данных формы на сервер или для очистки формы.
value
    Значение кнопки, которое будет отправлено на сервер или прочитано с помощью скриптов.

Также для этого тега доступны универсальные атрибуты и события.

 

   Ресурсы для более подробного изучения:

https://puzzleweb.ru/html/tag_button.php 

http://htmlbook.ru/html/button 

https://basicweb.ru/html/tag_button.php