en
Feedback

Don't get caught by a cheater! Telemetrio finds and tags such channels 👉 If you want to see the tag, subscribe

JavaScript заметки

JavaScript заметки

Open in Telegram

Регулярные заметки по практическому JavaScript. Обучащию посты позволят прокачать навыки во Frontend-разработке. Можно почитать пока компилируется проект :) Сотрудничество: @noname_media Канал на бирже: telega.in/channels/notesjs/card?r=Wj7h1mbl

Show more
7 368
Subscribers
-124 hours
-167 days
-5730 days
Posts Archive
Метрики Вот общая картина с геометрическими свойствами. Значениями свойств являются числа, подразумевается, что они в пикселя
Метрики Вот общая картина с геометрическими свойствами. Значениями свойств являются числа, подразумевается, что они в пикселях. К ней мы часто будем возвращаться в следующих постах и описывать отдельные составляющие. А пока просто изучите, что за что примерно отвечает. #браузер #документ #размеры

Внимание, полоса прокрутки В иллюстрации выше намеренно продемонстрирован самый сложный и полный случай, когда у элемента ест
Внимание, полоса прокрутки В иллюстрации выше намеренно продемонстрирован самый сложный и полный случай, когда у элемента есть ещё и полоса прокрутки. Некоторые браузеры (не все) отбирают место для неё, забирая его у области, отведённой для содержимого (помечена как «content width» выше). Таким образом, без учёта полосы прокрутки ширина области содержимого (content width) будет 300px, но если предположить, что ширина полосы прокрутки равна 16px (её точное значение зависит от устройства и браузера), тогда остаётся только 300 - 16 = 284px, и мы должны это учитывать. Вот почему примеры в этой главе даны с полосой прокрутки. Без неё некоторые вычисления будут проще. #браузер #документ #размеры

Хочешь стать мидлом и выше? Тогда надо закреплять теорию на практике 🤑 Канал DOM JavaScript позволит тебе быстро прокачать с
Хочешь стать мидлом и выше? Тогда надо закреплять теорию на практике 🤑 Канал DOM JavaScript позволит тебе быстро прокачать свои навыки за считанные недели на реальных тестах с собесов Google и Yandex. Решай отборные тесты по JS и даже не заметишь как станешь востребованным специалистом. Вместе с практикой качай и теорию. На канале ежедневно публикуются материалы, где JS раскладывают по полочкам наши избранные авторы. Никакой воды, все по делу. Подпишись и развивайся ежедневно с командой единомышленников! Заявку принимаем моментально. 👇

Размеры и полоса прокрутки: общий вид У элемента есть рамка border, внутренний отступ padding и прокрутка. Полный набор харак
Размеры и полоса прокрутки: общий вид У элемента есть рамка border, внутренний отступ padding и прокрутка. Полный набор характеристик. Обратите внимание, тут нет внешних отступов margin, потому что они не являются частью элемента, для них нет особых JavaScript-свойств. #браузер #документ #размеры

Размеры и прокрутка элементов Существует множество JavaScript-свойств, которые позволяют считывать информацию об элементе: ши
Размеры и прокрутка элементов Существует множество JavaScript-свойств, которые позволяют считывать информацию об элементе: ширину, высоту и другие геометрические характеристики. В этой главе мы будем называть их «метрики». Они часто требуются, когда нам нужно передвигать или позиционировать элементы с помощью JavaScript. #браузер #документ #размеры

Итого по стилям и классам Для управления классами существуют два DOM-свойства: - className – строковое значение, удобно для у
Итого по стилям и классам Для управления классами существуют два DOM-свойства: - className – строковое значение, удобно для управления всем набором классов. - classList – объект с методами add/remove/toggle/contains, удобно для управления отдельными классами. Чтобы изменить стили: - Свойство style является объектом со стилями в формате camelCase. Чтение и запись в него работают так же, как изменение соответствующих свойств в атрибуте "style". Чтобы узнать, как добавить в него important и делать некоторые другие редкие вещи – смотрите документацию. - Свойство style.cssText соответствует всему атрибуту "style", полной строке стилей. Для чтения окончательных стилей (с учётом всех классов, после применения CSS и вычисления окончательных значений) используется: - Метод getComputedStyle(elem, [pseudo]) возвращает объект, похожий по формату на style. Только для чтения. #браузер #документ #стили_классы

Стили, применяемые к посещённым :visited ссылкам, скрываются! Посещённые ссылки могут быть окрашены с помощью псевдокласса :v
Стили, применяемые к посещённым :visited ссылкам, скрываются! Посещённые ссылки могут быть окрашены с помощью псевдокласса :visited. Но getComputedStyle не даёт доступ к этой информации, чтобы произвольная страница не могла определить, посещал ли пользователь ту или иную ссылку, проверив стили. JavaScript не видит стили, применяемые с помощью :visited. Кроме того, в CSS есть ограничение, которое запрещает в целях безопасности применять к :visited CSS-стили, изменяющие геометрию элемента. Это гарантирует, что нет обходного пути для «злой» страницы проверить, была ли ссылка посещена и, следовательно, нарушить конфиденциальность. #браузер #документ #стили_классы

getComputedStyle требует полное свойство! Для правильного получения значения нужно указать точное свойство. Например: padding
getComputedStyle требует полное свойство! Для правильного получения значения нужно указать точное свойство. Например: paddingLeft, marginTop, borderTopWidth. При обращении к сокращённому: padding, margin, border – правильный результат не гарантируется. Например, если есть свойства paddingLeft/paddingTop, то что мы получим вызывая getComputedStyle(elem).padding? Ничего, или, может быть, «сгенерированное» значение из известных внутренних отступов? Стандарта для этого нет. Есть и другие несоответствия. Например, некоторые браузеры (Chrome) отображают 10px в документе выше (см. картинку), а некоторые (Firefox) – нет. #браузер #документ #стили_классы

Вычисленное (computed) и окончательное (resolved) значения Есть две концепции в CSS: - Вычисленное (computed) значение – это
Вычисленное (computed) и окончательное (resolved) значения Есть две концепции в CSS: - Вычисленное (computed) значение – это то, которое получено после применения всех CSS-правил и CSS-наследования. Например, height:1em или font-size:125%. - Окончательное (resolved) значение – непосредственно применяемое к элементу. Значения 1em или 125% являются относительными. Браузер берёт вычисленное значение и делает все единицы измерения фиксированными и абсолютными, например, height:20px или font-size:16px. Для геометрических свойств разрешённые значения могут иметь плавающую точку, например, width:50.5px. Давным-давно getComputedStyle был создан для получения вычисленных значений, но оказалось, что окончательные значения гораздо удобнее, и стандарт изменился. Так что, в настоящее время getComputedStyle фактически возвращает окончательное значение свойства, для геометрии оно обычно в пикселях. #браузер #документ #стили_классы

Аня Хилькевич раздаёт стиля на самом сочном бэкстейдже в истории YAPPY! А в команде с Сашей Стоуном огня становится в 2 раза больше. Ну а мы что? Сидим и любуемся. #YAPPYSTAR

Вычисленные стили: getComputedStyle Что, если нам нужно, скажем, увеличить отступ на 20px? Для начала нужно его текущее значе
Вычисленные стили: getComputedStyle Что, если нам нужно, скажем, увеличить отступ на 20px? Для начала нужно его текущее значение получить. Для этого есть метод: getComputedStyle(element, [pseudo]). Результат вызова – объект со стилями, похожий на elem.style, но с учётом всех CSS-классов. #браузер #документ #стили_классы

Вычисленные стили: метод в лоб Итак, изменить стиль очень просто. Но как его прочитать? Например, мы хотим знать размер, отст
Вычисленные стили: метод в лоб Итак, изменить стиль очень просто. Но как его прочитать? Например, мы хотим знать размер, отступы, цвет элемента. Как это сделать? Свойство style оперирует только значением атрибута "style", без учёта CSS-каскада. Поэтому, используя elem.style, мы не можем прочитать ничего, что приходит из классов CSS. Например, здесь style не может видеть отступы. #браузер #документ #стили_классы

Следите за единицами измерения Не забудьте добавить к значениям единицы измерения. Например, мы должны устанавливать 10px, а
Следите за единицами измерения Не забудьте добавить к значениям единицы измерения. Например, мы должны устанавливать 10px, а не просто 10 в свойство elem.style.top. Иначе это не сработает. Пожалуйста, обратите внимание, браузер «распаковывает» свойство style.margin в последних строках и выводит style.marginLeft и style.marginTop из него. #браузер #документ #стили_классы

Полная перезапись style.cssText Обычно мы используем style.* для присвоения индивидуальных свойств стиля. Нельзя установить с
Полная перезапись style.cssText Обычно мы используем style.* для присвоения индивидуальных свойств стиля. Нельзя установить список стилей как, например, div.style="color: red; width: 100px", потому что div.style – это объект, и он доступен только для чтения. Для задания нескольких стилей в одной строке используется специальное свойство style.cssText Это свойство редко используется, потому что такое присваивание удаляет все существующие стили: оно не добавляет, а заменяет их. Можно ненароком удалить что-то нужное. Но его можно использовать, к примеру, для новых элементов, когда мы точно знаем, что не удалим существующий стиль. То же самое можно сделать установкой атрибута: div.setAttribute('style', 'color: red...'). #браузер #документ #стили_классы

Компуктерная теперь в Telegram! Даже для опытного пользователя компьютер, как океан - изучен менее чем на 7% Например, знаете
Компуктерная теперь в Telegram! Даже для опытного пользователя компьютер, как океан - изучен менее чем на 7% Например, знаете ли вы, что есть программы, которые могут ускорить ваш ПК на 90%? А умеете ли вы прятать файлы в картинку и делать "невидимые ярлыки"? Тысячи крутых фишек вы можете найти по ссылке 👇 https://t.me/+TDlpP_bnXQ0yNTBi

Сброс стилей Иногда нам нужно добавить свойство стиля, а потом, позже, убрать его. Например, чтобы скрыть элемент, мы можем з
Сброс стилей Иногда нам нужно добавить свойство стиля, а потом, позже, убрать его. Например, чтобы скрыть элемент, мы можем задать elem.style.display = "none". Затем мы можем удалить свойство style.display, чтобы вернуться к первоначальному состоянию. Вместо delete elem.style.display мы должны присвоить ему пустую строку: elem.style.display = "". Если мы установим в style.display пустую строку, то браузер применит CSS-классы и встроенные стили, как если бы такого свойства style.display вообще не было. #браузер #документ #стили_классы

Element style Свойство elem.style – это объект, который соответствует тому, что написано в атрибуте "style". Установка стиля
Element style Свойство elem.style – это объект, который соответствует тому, что написано в атрибуте "style". Установка стиля elem.style.width="100px" работает так же, как наличие в атрибуте style строки width:100px. Для свойства из нескольких слов используется camelCase. #браузер #документ #стили_классы

Разрабатываешь сайты в Visual Studio Code и еще не подписан на VSCoder? Срочно исправляй! Visual Studio Code — это оптимизиро
Разрабатываешь сайты в Visual Studio Code и еще не подписан на VSCoder? Срочно исправляй! Visual Studio Code — это оптимизированный редактор кода с поддержкой таких операций разработки, как отладка, выполнение задач и контроль версий. Имеет множество плагинов, которые собраны у нас на канале!

classList elem.classList – это специальный объект с методами для добавления/удаления одного класса. Так что мы можем работать
classList elem.classList – это специальный объект с методами для добавления/удаления одного класса. Так что мы можем работать как со строкой полного класса, используя className, так и с отдельными классами, используя classList. Выбираем тот вариант, который нам удобнее. Методы classList: elem.classList.add/remove("class") – добавить/удалить класс. elem.classList.toggle("class") – добавить класс, если его нет, иначе удалить. elem.classList.contains("class") – проверка наличия класса, возвращает true/false. #браузер #документ #стили_классы