Лендинг / Калькулятор / Vanilla JS

Kalk — калькулятор, на который приятно нажимать

Минималистичный лендинг с рабочим калькулятором в центре: тактильные кнопки, лента вычислений, живой предпросмотр результата и четыре цветовые темы. Без библиотек и фреймворков.

Открыть сайт ↗
Kalk — главная

Задача проекта

Идея

Калькулятор — самый скучный инструмент на телефоне. Захотелось сделать такой, которым приятно пользоваться: чтобы кнопки отвечали на нажатие, а сам лендинг состоял из одного экрана с продуктом, а не из лозунгов.

Реализация

Корпус и клавиши нарисованы на чистом CSS: «толщина» клавиши — это тень, которая схлопывается при нажатии. Операторы круглые, «=» — акцентная с каплей-углом. Выражения разбирает собственный рекурсивный парсер, без eval.

Что умеет

Продавливающиеся 3D-кнопки на CSS
Собственный парсер выражений без eval
Живой предпросмотр результата
Интерактивные плитки: нажми, впиши, вернись, выбери цвет
Проценты, смена знака, запятая
Защита от деления на ноль
Полный ввод с клавиатуры
4 цветовые темы, выбор запоминается
Мягкий звуковой «клик» на Web Audio
Адаптив и поддержка reduced motion

Скриншоты проекта

Мобильная версия

Мобильная версия

На телефоне калькулятор встаёт под заголовок и занимает всю ширину — клавиши остаются крупными и не требуют прицельного нажатия.

Отдельной мобильной раскладки нет: сетка кнопок квадратная и сама подстраивается под экран, горизонтального скролла нет.

Результат работы

0

зависимостей: чистые HTML, CSS и JavaScript

4

цветовые темы, переключаются без перезагрузки

~200

строк JS вместе с парсером и звуком

100%

работает с клавиатуры и тачскрина

Хочешь такой же проект?

Обсудить проект ↗ Открыть сайт ↗