Что такое custom css в дискорде

Что умеют и чего не умеют CSS Custom Properties.

Liudmila Mzhachikh

Если вы используете в своем проекте препроцессоры (SASS, LESS или Stylus), то точно знаете, какие преимущества дает их использование: переменные, операторы, функции и миксины и т. д. Но с появлением CSS-переменных (CSS Custom Properties — пользовательские свойства CSS) в них не просто отпала необходимость, а ушли в прошлое некоторые ограничения препроцессорных переменных, которых нет у CSS-переменных. Я рассмотрю некоторые юзкейсы и постараюсь доказать, что пришло время переходить на CSS Custom Properties, если вы этого еще не сделали.

Объявление и использование

Переменная объявляется так: двойной дефис + имя переменной. Получение значения с помощью ключевого слова var:

Можно з адавать дефолтное значение, оно применится, если переменная недоступна:

Важно, что кастомные свойства CSS ведут себя как и обычные свойства, включая наследование, каскад, их можно переопределять, использовать в дочерних элементах

Результатом будет конкатенация строк.

Помогают избегать дублирования

Пожалуй, самая главная приятность, которую дают препроцессоры — это использования переменных для избежания дублирования. Вы задаете переменную один раз и используете в коде. Если надо что-то поменять — меняете значение переменной только в одном месте. Это можно делать и с помощью CSS-переменных.

В этом примере я определила переменные для цветов приложения, при изменении цветовой темы, достаточно только переопределить эти переменные.

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

Одну переменную можно использовать для различных свойств. Чтобы браузер понял, что делать со значением, можно применить calc:

В этом примере размер шрифта будет 13px на маленьких экранах и 20px на больших.

Эмуляция несуществующего свойства

Вот очень интересный юзкейс. Выше я уже привела пример с использованием переменной для части составного значения свойства. Например, мы хотим проэмулировать свойство box-shadow-color, которого в CSS нет:

Использование в SVG

CSS-переменные можно прокинуть в SVG

Доступ из JS

Зачем доступ к CSS из JS? Могут быть самые различные юзкейсы, например, вам нужно что-то подстветить в зависимости от ответа бэкенда. Получаем значение:

Знают о структуре DOM

Препроцессорные переменные ничего не знают о DOM-дереве. Такой пример работать не будет:

А в случае с CSS-переменными — применится 30px;

Препроцессорная переменная не применится, пока ее не присвоить:

А теперь поговорим об ограничениях, связанных (пока что) с использованием кастомных свойств.

Поддержка

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

Проблема еще в том, что любое выражение, содержащее CSS-переменную считается валидным. Так что применить фолбэк вот таким образом не получится, такое значение будет валидным и применится:

Поддерживаются ли CSS-переменные можно с помощью директивы supports:

В этом случае вы можете написать 2 блока с кодом и, когда придет время, удалить ненужный — подход, вполне соотвествующий graceful degradation и progressive enhancement.

Не типизированы

CSS-переменные работают со строками. На самом деле вы можете запихнуть в переменную все, что угодно. Вот это тоже будет валидным значением:

“Подумаешь, проблема” — скажете вы. Нет типизации — нет проблем. Но отсутствие типизации также означает, что не будет подсказок в панели devtools, нельзя будет произвести статический анализ и многое другое. А еще рассмотрим следующий пример.

Не анимируются

Допустим, вы делаете боковую панель с меню, которое плавно выезжает при клике на “бургер”.

Ширина 250px может встречаться в нескольких местах, так что вполне логично вытащить ее в переменную. И тогда вы пишите что-то вроде того:

Но, увы, это не будет работать. Как было написано выше, значения CSS-переменных — это строки. Как рассчитать промежуточное состояние между двумя строками? браузер понятия не имеет. Поэтому, согласно спецификации, он скачком переключает значение на 50% от временного интервала. Так что, CSS-переменные не типизированы, а как следствие не анимируемы. Но к этой теме я еще вернусь в одном из следующих постов.

Подводя итог, какие преимущества у CSS Custom Properties по сравнению с препроцессорными переменными:

Основы CSS для работы веб-разработчиком

Разбираем основы CSS необходимые для прохождения собеседования. Что такое CSS, определения и сравнения. Всё про важные основы CSS.

Автор: Laura M. - Chief Editor

Обновлено: September 18, 2021

Стандарты Проверки Фактов BitDegree.org

Чтобы обеспечить высокий уровень точности и актуальности информации, BitDegree.org регулярно проводит аудит и проверку фактов, следуя строгим редакторским правилам. Для соответствия стандартам надёжности, соблюдаются строгие правила добавления ссылок.

Весь контент на BitDegree.org соответствует данным критериям:

1. Только авторитетные источники такие как академические ассоциации или журналы могут быть использованы для целей исследования при создании контента.

2. Реальный контекст каждой освещаемой темы должен быть раскрыт читателю.

3. Если существует конфликт интересов в указываемом исследовании, то читатель должен быть об этом проинформирован.

Свяжитесь с нами, если вы думаете, что контент является устаревшим, неполным или сомнительным.

Основы CSS для работы веб-разработчиком

Чтобы компания стала успешной, ей необходимы профессионалы из самых различных сфер деятельности. Программисты, дизайнеры, писатели, маркетинговые специалисты – и множество других людей! Однако в этом руководстве мы поговорим о более специфической теме, CSS разработчиках и необходимых для них знаниях.

Для начала мы рассмотрим базовые вопросы и основы CSS, которые могут помочь вам получить работу в качестве веб-разработчика. Это будут основные вопросы, способные помочь вам успешно пройти часть собеседования по CSS. Мы постараемся рассказать про то, что должно включать в себя полноценное CSS обучение – начиная от основ CSS до CSS3!

Содержание

Введение

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

Вопрос 1: Что Такое CSS?

Каскадная Таблица Стилей (или более привычный нам CSS) — это язык, который используется для объяснения и описания того, как вещи написанные на языке разметок (вроде HTML) должны быть показаны.

Довольно запутанно, не так ли?

Если сделать определение более простым, то CSS используется для визуального представления вещей, которые добавлены с помощью HTML, вроде изображений, текста, заднего фона и т.д.

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

Вопрос 2: В Чём Отличие CSS от HTML?

Вы будете удивлены насколько много людей не знает различий между этими двумя языками.

Хотя на самом деле разница сама по себе очень простая: HTML используется для написания и создания контента на странице, тогда как CSS используется для его дизайна – это включает в себя дизайн заднего фона, шрифты, изображения, цвета и так далее.

Вопрос 3: Как Вы Можете Подключить CSS Стили к Странице?

Всего существует три способа применить стили с помощью CSS.

Использование команды link является самым распространённым методом – вы просто загружаете другой CSS-файл (с его атрибутами) в тот, над которым вы работаете в данный момент. Это удобно, так как позволяет использовать один и тот же файл множество раз.

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

Вопрос 4: Сколько Существует Типов CSS?

Всего существует пять типов CSS: CSS 1, CSS 2, CSS 2.1, CSS 3 и CSS 4.

Основы CSS и большая часть вопросов здесь будет касаться именно CSS3, так как он считается наиболее распространённой версией.

Вопрос 5: Что Такое CSS Фреймворк?

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

Вопрос 6: Что Такое Таргетирование Элементов?

Это хороший пример вопроса, который помогает закрепить основы CSS – по крайней мере для начинающих. Кроме того, данный вопрос вполне может встретиться в какой-либо части вашего собеседования.

Таргетирование элементов — это когда вы указываете определённые элементы, которые хотите стилизовать или изменить каким-либо способом. В целом, вы можете сделать это тремя способами: С помощью тегов, класса или идентификатора элемента, который вы указали в коде HTML.

Вопрос 7: Как Указать Цвет в CSS?

Основы CSS

Существует два способа указания цвета в CSS – RGB и шестнадцатеричный код цвета.

RGB является аббревиатурой для “red, green, blue” (красный, зелёный, синий). Различные комбинации этих цветов (в зависимости от процента их использования) могут иметь множество разных оттенков.

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

Вопрос 8: Что Такое Псевдо Элементы?

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

Вопрос 9: Что Такое Псевдо Классы?

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

К примеру, когда вы наводите курсор мыши на кнопку и она подсвечивается или выделяется каким-либо другим образом. Это является работой псевдо классов.

Вопрос 10: Как Вы Можете Интегрировать CSS На Ваш Сайт?

Давайте продолжим наше своеобразное CSS обучение и разберём главные основы CSS. Существует три способа достичь этой цели – строчная, встраиваемая и импортируемая интеграция.

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

Самые Полюбившиеся Статьи

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

Курсы Машинного Обучения edX: Что Мы Рекомендуем?

Курсы Машинного Обучения edX: Что Мы Рекомендуем?

Заинтересованы в прохождении курсов машинного обучения онлайн? Взгляните на лучшие edX курсы машинного обучения, которые вы можете пройти сейчас!

Курсы Рисования Skillshare: Лучшие Уроки Для Демонстрации Вашей Креативности

Курсы Рисования Skillshare: Лучшие Уроки Для Демонстрации Вашей Креативности

Станьте удивительным художником, пройдя отобранные вручную курсы рисования Skillshare!

Курсы Фотографии Skillshare: Как Запечатлеть Мир

Какие курсы фотографии Skillshare стоят вашего внимания? Взгляните на лучшие варианты и узнайте больше.

Основы CSS Для Веб-Разработчика – Продвинутые Вопросы

Не стоит волноваться по поводу слова “продвинутые” в названии раздела. Продвинутые вопросы означают лишь то, что требуют от вас более специфических и детальных знаний. Подобные вопросы помогают работодателю узнать насколько хорошо вы разбираетесь в CSS. Одни лишь основы CSS здесь уже не помогут.

Вопрос 1: Объясните Концепт Специфичности.

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

Сам по себе концепт подразумевает, что определённые CSS-правила заменяют (перезаписывают) другие будучи более специфичными. Это немного запутанный концепт, так как часто вызывает множество проблем – применение слишком большого количества специфичных типов правил может значительно усложнить процесс внесения изменений после окончания работы на над ними.

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

Вопрос 2: Объясните Шрифты Web-safe и Fallback.

Когда вы пытаетесь подобрать шрифт для вашего сайта, то вы должны учесть, что не каждый браузер может воспринимать различные шрифты – это именно тот случай, когда на помощь приходят web-safe (безопасные) шрифты. Эти шрифты часто используются и известны каждому. В качестве примера можно привести Times New Roman, Arial или Calibri. Если по какой-то причине ваш браузер не воспринимает эти шрифты (хотя такого быть не должно), то для этого существуют fallback шрифты – это шрифты, которые браузер выберет для вас автоматически.

Если вы проходите CSS обучение сейчас, то уделите шрифтам особое внимание.

Вопрос 3: Что Такое Разбиение Файла?

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

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

Вопрос 4: Что Такое Непрозрачность?

Этот вопрос может сравниться лишь с вопросом, что такое CSS. Непрозрачность является уровнем прозрачности вашего элемента в CSS.

Хотя здесь есть нечто, что делает этот вопрос более сложным. Вам может быть предложено показать, как можно настроить непрозрачность с помощью CSS. Отличным примером для этого будет данный код:

Вопрос 5: Дайте Определение Набору Правил.

В CSS набор правил состоит из блоков объявления, которые следуют за определёнными селекторами набора. Эти наборы правил сообщают серверу о том, как должен выглядеть определенный документ.

Вопрос 6: Дайте Определение Универсальному Селектору и Приведите Пример.

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

Примером универсального селектора будет:

* <
color: red; /* changes the color of all elements to red */
background: blue; /* changes the background of all elements to blue */
>

Вопрос 7: Что Выбирают Селекторы ID и Класса?

Селектор класса выберет весь блок информации, тогда как селектор ID выберет лишь определённый элемент, обладающий уникальным типом числа ID.

Мы уже говорили про классы и ID, но это очень важные основы CSS. Ваше обучение должно проходить с использованием всех доступных в CSS инструментов.

Вопрос 8: Что Такое Float в CSS?

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

Вопрос 9: Что Такое Z Индекс?

Индекс Z в CSS выделяет любые части, которые пересекаются между вашим файлом стилей CSS и реальным документом HTML. Так как пересечение является распространённой проблемой при стилизации и изменении изображений в CSS, то он является очень полезным.

  • Простой дизайн (без бесполезной информации)
  • Хорошее качество курсов (даже бесплатных)
  • Разнообразие возможностей обучения
  • Программа Nanodegree
  • Подходит для корпоративного обучения
  • Платные сертификаты об окончании
  • Огромное разнообразие курсов
  • Простая навигация
  • Нет технических проблем
  • Огромное разнообразие курсов
  • Политика 30-дневного возврата средств
  • Бесплатные сертификаты об окончании
  • Простой в использовании
  • Предлагает качественный контент
  • Очень открытый в своих ценах
  • Бесплатные сертификаты об окончании
  • Фокус на навыки науки о данных
  • Гибкое расписание занятий

Вопрос 10: Почему Необходимо Использовать Import Вверху Файла?

Import чаще всего используется в верхней части файла, поскольку существует большой риск перезаписи уже существующих наборов правил. Размещая import сверху, в большинстве случаев этой проблемы можно избежать.

Советы Для Собеседования

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

Теперь, когда у вас есть необходимая информация – что дальше? Что же… мы подготовили для вас несколько советов, которыми вы можете воспользоваться.

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

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

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

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

Самые Популярные Статьи

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

Машинное Обучение и Анализ Данных: Вопросы Собеседования и Важные Темы

Машинное Обучение и Анализ Данных: Вопросы Собеседования и Важные Темы

Отвечаем на вопросы собеседования: Машинное обучение и анализ данных. Введение в машинное обучение, функции, анализ данных и многое другое.

Nanodegree Udacity Фронтенд: Станьте Фронтенд Разработчиком!

Nanodegree Udacity Фронтенд: Станьте Фронтенд Разработчиком!

Хотите стать фронтенд разработчиком? Взгляните на Nanodegree Udacity Фронтенд — может быть этот курс подходит для вас?

Udacity VR Nanodegree: Начните Вашу Карьеру в Качестве VR Разработчика

Udacity VR Nanodegree: Начните Вашу Карьеру в Качестве VR Разработчика

Заинтересованы в Udacity VR Nanodegree? Узнайте о курсе через этот обзор!

Заключение

HTML

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

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

В этом руководстве, мы охватили самые базовые вопросы по CSS. Надеемся, что эта информация была для вас полезна – работайте усердно, будьте собой и постарайтесь не перегореть! Удачи!

Оставьте ваше честное мнение

Оставьте ваше честное мнение и помогите тысячам людей выбрать лучшую платформу для онлайн обучения. Все отзывы, позитивные или негативные, будут приниматься, если они честны. Мы не публикуем предвзятые отзывы и спам. Поэтому, если вы хотите поделиться вашим опытом, мнением или дать совет — у вас есть всё необходимое!

CSS: что это такое и как использовать для продвижения сайта

Что такое CSS?

CSS («Cascading Style Sheets» или «Каскадные таблицы стилей») – это язык, предназначенный для преобразования внешнего вида страницы на сайте в удобную для восприятия пользователем форму. Как правило, язык CSS используют для описания интернет-страниц, уже написанных на языках HTML либо XHTML. Кроме этого, CSS нередко применяют в совокупности с такими документами XML, как SVG или XUL.

Пояснение сути CSS на примере

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

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

Как работает CSS?

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

Язык CSS предназначен для создания стиля и формирования отдельных частей страницы, созданных в HTML. Так, он способен задавать местонахождение элементов документа, высоту, столбцы и прочее.

Где можно прописывать CSS: примеры

1. Можно применять как составляющий атрибут в самом HTML коде
CSS в качестве атрибута в HTML документе
2. Также CSS применяется в документе в виде тега style, прописанного внутри тега head
CSS в виде тега style в HTML документе
3. Может выглядеть как отдельный файл .css расширения, связанный с HTML страницей тегом link, прописанным в теге head
CSS в виде отдельного файла в документе HTML

Зачем использовать CSS когда есть простой HTML?

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

Данный язык задает стиль веб-страницы. Это и разработка дизайна, и верстка модели сайта для различных устройств, на которых он будет показываться. Стоит отметить, что CSS допускается прописывать и как отдельный файл, и в качестве одного из элементов документа.

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

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

Начали набирать популярность такие теги структурирования, как table. Разработчики браузеров тоже не стояли на месте и открывали собственные теги, которые могли отображаться только их приложениями. Поэтому раньше, когда человек посещал сайт, где используются теги для другого браузера, он видел следующее сообщение: «Для просмотра страницы воспользуйтесь браузером…».

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

Применение HTML в совокупности с CSS куда лучше, чем просто HTML, так как вы получите ряд преимуществ:

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

Что дает язык CSS при продвижении веб-сайта?

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

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

Чтобы SEO-продвижение сайта было еще более эффективным, таблицы стилей лучше всего создавать в отдельном документе – это значительно уменьшит размер кода и сайт будет грузиться быстрее.

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

Заключение

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *