Как увеличить картинку при нажатии в html или css?
Легко. Изучайте...
codepen.io/aliencash/pen/EPwLMg
Хотя конечно calc() это не совсем верный подход. Но на флексы можете сами переделать... Главное общий принцип иллюстрирует.
Можно сделать на чистом JavaScript, например, с помощью библиотеки highslide.js. Как ее внедрить можно посмотреть на официальном сайте (на английском) или тут (на русском)