Есть ли способ сделать это с чистым CSS и без javascript?
Это возможно, но не поддерживается в браузерах.
Вы можете сослаться наизображения и используйте : target , чтобы изменить свойство отображения с none на block.
Проблема заключается в том, что если браузер поддерживает display
(т.е. почтивсе они), но не :target
(т.е. их много), тогда некоторые изображения будут просто недоступны.
Можно ли предварительно загрузить все большие изображения, чтобы каждый раз при нажатии на миниатюрубольшое изображение посередине просто всплывает вверх?
Это позволит этого достичь.
Однако предварительная загрузка больших версий всех изображений будет весьма болезненной нагрузкой для пользователей.полоса пропускания.
Отдельные страницы, которые используют некоторую форму процесса включения или на стороне сервера для дублирования навигации, по-прежнему оставляют желать лучшего.