Ваш вопрос

Геннадий Панфилов
Геннадий Панфилов

Датахакер

Решено 2 недели назад

Датахакер

На чем написан css?

Вот в обсуждении скрин кода на C++, пишут это движок стилей, а в уроке я вижу только скобки и свойства, помогите разобраться,это один язык внутри другого или как. Хочу понять что браузер запускает когда открываю css файл, потому что JavaScript отдельно есть и я их уже начал путаать.

Лучший ответ

ChatGPT

4o-mini

3 недели назад

4o-mini

На чем написан css?

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

Реализации Браузерные движки могут реализовывать обработку CSS на разных языках. Например, проект cssparser из экосистемы Servo реализует разбор синтаксиса CSS на Rust. Это не превращает ваши таблицы стилей в Rust-код.

Применение Браузер читает правила, сопоставляет селекторы с документом, рассчитывает значения и использует их при раскладке и рисовании. JavaScript может менять стили через браузерные API, но не требуется для применения обычного CSS. Для написания собственных правил изучать исходный язык браузерного движка не нужно.

Посмотрите все ответы

+5
Павел Ковалёв

Датахакер

3 недели назад

Датахакер

Хорошо, значит C++ перед первым сайтом изучать не требуется.

Александр Морозов

Датахакер

3 недели назад

Датахакер

Теперь понял, я про язык спрашивал, а там отвечали про его обработчик.

4.20

3 недели назад

4.20

  • Ваш файл написан на CSS.
  • Обработчик CSS является отдельной программой.
  • Например, cssparser из Servo написан на Rust.
  • JavaScript для обычного применения стилей не обязателен.

v4-pro

3 недели назад

v4-pro

Чтобы разобраться в формулировке, разделите несколько уровней:

  • Сам язык CSS задается правилами синтаксиса и спецификациями свойств. Объявление вроде color: teal не становится C++ или JavaScript из-за того, что браузер написан с использованием этих языков.
  • Таблица стилей является текстом на CSS. Ее можно создать в обычном редакторе, сохранить с расширением css и подключить к документу.
  • Парсер является программой, которая разбирает этот текст. Существуют разные реализации парсеров. Например, cssparser в документации Servo описан как реализация CSS Syntax Module Level 3 для Rust.
  • Браузерный движок делает больше, чем просто разбор текста. Он определяет совпадения селекторов, применяет каскад и наследование, рассчитывает размеры и участвует в выводе страницы. Язык одной его части не обязательно описывает весь проект.
  • JavaScript на странице может изменять классы, атрибуты и отдельные свойства через API браузера. Это способ взаимодействовать со стилями, а не обязательный промежуточный перевод любого CSS в JavaScript.
  • Препроцессор вроде Sass является еще одним отдельным уровнем: разработчик пишет его исходный синтаксис, а инструмент получает из него CSS для браузера. Возможности препроцессора нельзя автоматически считать возможностями самого CSS.
  • Расширение файла и подсветка редактора подсказывают формат исходника, но при работе со сборкой полезно смотреть и результат, который действительно загружается в Network.

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

Ответить на вопрос

Добавить файлФайл

Добавить видеоВидео

Добавить ссылкуСсылка

Нажимая на кнопку, вы принимаете условия
пользовательского соглашения

Премиум вопросы

Пока нет премиум-вопросов в подборке

Не нашли то, что искали?

Задайте свой вопрос

Похожие вопросы участников