Сегодня я покажу вам как сделать галерею изображений на CSS3. Галерея будет представлять собой набор эскизов, при наведении курсора на которые их размер будет увеличиваться, а основное изображение будет меняется в зависимости от того, какая миниатюра была нажата.
HTML
Итак, во-первых, нам понадобится несложная HTML-разметка.
<divid="images">
<sectionid="thumbnails">
</section>
<sectionid="mainimage">
<divid="imageplaceholder"></div>
</section>
</div>
Там есть основной DIV с id "images". Этот блок вроде контейнера, который содержит весь контент на странице. Кроме того, там есть секция "thumbnails" - она содержит миниатюры. Далее идет div "mainimage". Он содержит основное изображение, которое изменяется в зависимости от того по какой миниатюре кликнули. Внутри "mainimage" находится блок с id "imageplaceholder". Этот блок содержит изображение по-умолчанию.
Да, тут много эскизов. Но что это за галерея изображений, которая обходится без множества эскизов? Теперь, обратите внимание на то, что там есть ссылка на каждую миниатюру, в виде #test, а затем номер. Это нужно затем, что мы будем использовать псевдо-селектор ":target".
Да, это выглядит не очень красиво, я признаю, - но я и не говорил, что это будет семантический код, не так ли? Каждый DIV имеет id "test", а затем номер. Этот id соответствует "href" в ссылке миниатюры.
Теперь, когда мы закончили с простым и совершенно несложным HTML, давайте двигаться дальше.
CSS3
Вначале вставим reset-стили Эрика Мейера. После того как вы сделали это, перейдем непосредственно к галерее.
body { background:#f8f8f8; font-size:15px; line-height:25px; color:#515151; }
Эти стили касаются миниатюр. Однако, кроме переходов, наиболее важной частью являются стили при наведении курсора. Обратите внимание, на CSS3-transform. Здесь мы используем масштабирование, которое увеличивает элемент в полтора раза при наведении мыши.
Когда мы кликаем по миниатюре, "#test" с номером добавляются к URL-адресу. CSS3 селектор ":target" проверяет URL, и когда URL содержит имя элемента с селектором ":target", соответствующие стили применяются и меняется фоновое изображение.
Вот и все. Надеюсь, вам понравился эта статья, и если у вас есть какие-либо вопросы или комментарии, не стесняйтесь и пишите комментарии ниже.