Home / Articles / Programming languages / Markup languages / HTML & CSS / How to create a simple CSS gallery without using JavaScript

How to create a simple CSS gallery without using JavaScript

How to create a simple CSS gallery without using JavaScript
 
How to create a simple CSS gallery without using JavaScript
  • Currently 3.5 out of 5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Rating: 3.5/5 (4 votes cast)

Thank you for rating!

You have already rated this page, you can only rate it once!

Your rating has been changed, thanks for rating!

Log in or create a user account to rate this page.


This article demonstrates how to create a simple gallery using only CSS.

The most interesting part is that the gallery replaces the main picture if you click on thumbnails usually this is only possible if you use JavaScript. As a rule, only JavaScript can work with click events.

This gallery uses a trick with anchors in tags a.

HTML code

The gallery consists of two blocks of pictures. One block contains small pictures (thumbnails), and the other large ones.

The gallery can only work if all anchors are unique, like these: pic1, pic2, pic3, pic4, pic5.

<div id="gallery">
  <ul id="navigation">
    <li><a href="#pic1"><img alt="" src="small_nature1.jpg" /></a></li>
    <li><a href="#pic2"><img alt="" src="small_nature2.jpg" /></a></li>
    <li><a href="#pic3"><img alt="" src="small_nature3.jpg" /></a></li>
    <li><a href="#pic4"><img alt="" src="small_nature4.jpg" /></a></li>
    <li><a href="#pic5"><img alt="" src="small_nature5.jpg" /></a></li>
  </ul>
  <div id="full-picture">
    <div><a name="pic1"></a><img alt="" src="large_nature1.jpg" /></div>
    <div><a name="pic2"></a><img alt="" src="large_nature2.jpg" /></div>
    <div><a name="pic3"></a><img alt="" src="large_nature3.jpg" /></div>
    <div><a name="pic4"></a><img alt="" src="large_nature4.jpg" /></div>
    <div><a name="pic5"></a><img alt="" src="large_nature5.jpg" /></div>
  </div>
</div>

CSS code

The block with large pictures must have the width which is equal to the width of one of the large pictures. Also CSS property overflow must have hidden set as a value for this block. Pictures with anchor links must be inside of this block. 

Small pictures must have links with the corresponding anchors which relate them with large pictures.

As a result, after clicking on a small picture, a corresponding large picture will be shown in another block (block with large pictures), actually, technically speaking, it will be scrolled to the corresponding picture in this block.

#gallery {
  width: 600px;
  overflow: hidden;
  position: relative;
  z-index: 1;
  margin: 100px auto;
  border: 2px solid #003C72;
}

#navigation {
  list-style: none;
  padding: 0;
  margin: 0;
  float: left;
}

#navigation li {
  padding: 0;
  margin: 0;
  float: left;
  clear: both;
}

#navigation li a img {
  display: block;
  border: none;
}

#navigation li a {
  display: block;
}

#full-picture {
  width: 500px;
  height: 375px;
  overflow: hidden;
  float: left;
}

Live demo

The following archive contains the example above:


 

Read also

Simple CSS3 gallery with zoom effect

Simple CSS3 gallery with zoom effect

Details about "float" property

Details about "float" property

Discussion (total 30 comments)

Dimitris
July 04, 2013 at 04:43 am
Hello,
I use your code and I have three problems
1.If I click on thumbnail then the page go up
2.The full-picture have a red board and I can't remove it
3. I can't add a href in a full-picture

Thanks in advance Dimitris from Greece
Gary Horne
July 04, 2013 at 07:40 am
Great tutorial, thanks.

How could I have 2 columns of thumbnails on the left.

would it be another <ul>

Thanks
Administrator User
Administrator User
July 04, 2013 at 09:40 am
Hello Dimitris!
You have to understand that the gallery uses a trick. So, this gallery was created to show that it's possible to do: pseudo click without JavaScript. I would recommend not to use it for live sites. For such purposes you need to use JavaScript (jQuery) gallery or CSS3 gallery.
Answers on your questions:
1. You can do with CSS3 by pseudo-class target, if you really need it I can do a simple example of using it.
2. I can't see it.
3. You can, just add image inside tag a:
<div id="full-picture">
  <div><a name="pic1"></a><a href="http://basicuse.net"><img alt="" src="large_nature1.jpg"></a></div>
  ...
</div>

Hello Gary Horne!
It can be done by many ways, but yours is the simplest one. Just add one more column after another and increase the width of an element #gallery from 600px to 700px. I have checked, it works for me.
Dimitris
July 04, 2013 at 10:02 am
Thank you for your reply.
Now I understand the code. You are right, I have to use another code with javascript.
However your gallery is amazing. Smart trick!
Norman
July 24, 2013 at 02:18 am
ON reply of Dimitris number 1
1. You can do with CSS3 by pseudo-class target, if you really need it I can do a simple example of using it.

i really need an example. can u do that?
thanks a lot!!
Administrator User
Administrator User
July 25, 2013 at 04:11 am
Sorry for misunderstanding, but I tried to use target selector in CSS3 and the page was still scrolling to the top. As I know there is no way to prevent this.
Here is article which uses target selector, but has the same problem:
http://basicuse.net/articles/pl/textile/html_css/creating_an_image_slider_using_only_css3
Administrator User
Administrator User
September 24, 2013 at 09:13 am
Everybody who wanted to know how to do the image slider without page scrolling using only CSS3, read this article:
http://basicuse.net/articles/pl/textile/html_css/creating_an_image_slider_using_only_css3_without_page_scrolling
Anselmo Gabriel
March 19, 2015 at 12:47 am
I copied and pasted the html and css code. Linked the css to the html. I also saved the pictures in the same folder. When I opened the index.html, pics are not displayed. What should I do?
Administrator User
Administrator User
March 19, 2015 at 10:39 am
Hello Anselmo Gabriel!
I have added an archive with the example above in the end of the article in order to show that it works perfectly. Please, try and leave a feedback how it works!
Mirena
July 03, 2015 at 01:52 pm
I've the same problem as Dimitris. Would You like to show us how to use pseudo-class target in this case?
Administrator User
Administrator User
July 03, 2015 at 06:07 pm
Hello Mirena!
Hi! Just use this one:
http://basicuse.net/articles/pl/textile/html_css/creating_an_image_slider_using_only_css3_without_page_scrolling
vegorLads
January 15, 2017 at 01:47 pm
Требуются работники. Обработка зказов на дому.

Без вложений, на системе автоматического приёма и обработки заказов.

Более подробная информация >> obrabotka.zarplatt.ru <<
segorLads
January 17, 2017 at 11:54 am
Ведущая компания в России и странах СНГ по продаже авиабилетов «Airline-online»

Крупнейшая международная компания по продаже А/В билетов
срочно набирает сотрудников на постоянную основу для несложной
работы через интернет, с ежедневными выплатами до 11 000 руб.

Работая в нашей компании Вы получаете:

- Соблюдение трудового кодекса
- Полный соцпакет, оплачиваемый отпуск, больничный, санаторий.
- Каждый наш сотрудник на дому гарантированно получает высокий доход. руб. в день.
- Гарантированные стабильные выплаты заработанных денег.
- Выплаты происходят ежедневно на банковские карты или электронные кошельки.

Пройдите регистрацию на нашем сайте. > www.airline.zarplatt.ru <

Без вложений, опыт и профессиональные навыки не требуются!
vpavelLads
January 17, 2017 at 02:34 pm
Наш сервис предоставляет настоящие лайки на фотографии заказчиков, которые готовы платить за качество.

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

Чтобы стать нашим удалённым сотрудником и начать ставить лайки, зарабатывая при этом 45 рублей за 1 поставленный лайк,

достаточно просто зарегистрироваться на нашем сервисе. > www.like.zarplatt.ru <
pegorLads
January 20, 2017 at 07:21 am
Ведущая компания в России и странах СНГ по продаже авиабилетов «Airline-online»

Крупнейшая международная компания по продаже А/В билетов
срочно набирает сотрудников на постоянную основу для несложной
работы через интернет, с ежедневными выплатами от 11 000 руб.

Работая в нашей компании Вы получаете:

- Соблюдение трудового кодекса
- Полный соцпакет, оплачиваемый отпуск, больничный, санаторий.
- Высокий доход
- Каждый наш сотрудник на дому гарантированно получает от 11 000 руб. в день.
- Гарантированные стабильные выплаты заработанных денег.
- Выплаты происходят ежедневно на банковские карты или электронные кошельки.

Пройдите регистрацию на нашем сайте. ( airline.zarplatt.ru )

Без вложений, опыт и профессиональные навыки не требуются!
qpavelLads
January 22, 2017 at 06:27 am
Наш сервис предоставляет настоящие лайки на фото заказчиков, которые готовы платить за качество.

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

Чтобы стать нашим удалённым сотрудником и начать ставить лайки, зарабатывая при этом 45 рублей за 1 поставленный лайк,

Вам достаточно просто зарегистрироваться на нашем сервисе. > like.zarplatt.ru <

Вывод заработанных средств ежедневно в течении нескольких минут.
qegorLads
January 24, 2017 at 07:44 pm
Ведущая компания в России и странах СНГ по продаже авиабилетов «Airline-online»

Крупнейшая международная компания по продаже А/В билетов
срочно набирает сотрудников на постоянную основу для несложной
работы через интернет, с ежедневными выплатами от 11 000 руб.

Работая в нашей компании Вы получаете:

- Соблюдение трудового кодекса
- Полный соцпакет, оплачиваемый отпуск, больничный, санаторий.
- Высокий доход
- Каждый наш сотрудник на дому гарантированно получает от 11 000 руб. в день.
- Гарантированные стабильные выплаты заработанных денег.
- Выплаты происходят ежедневно на банковские карты или электронные кошельки.

Пройдите регистрацию у нас на сайте. ( airline.zarplatt.ru )

Без вложений, опыт и профессиональные навыки не требуются!
mpavelLads
January 25, 2017 at 06:48 am
Наш сервис предоставляет настоящие лайки на фотографии заказчиков, которые готовы платить за качество.

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

Чтобы стать нашим удалённым сотрудником и начать ставить лайки, зарабатывая при этом 45 рублей за 1 поставленный лайк,

достаточно просто зарегистрироваться на нашем сервисе. > like.zarplatt.ru <
tegorLads
January 27, 2017 at 05:53 pm
Увлекательная работа или подработка в домашних условиях.
Мы предлагаем: Достойная зарплата без задержек, справка 2-НДФЛ, карьерный рост, бесплатное обучение,
свободный график, страховые взносы в Пенсионный фонд, официальный договор (по желанию).
Режим Вашей работы, Вы определяете сами.
Ваш возраст и образование значения не имеют.
Обязательные условия: наличие компьютера и интернета.
Ваши действия:
1. На сайте ( http://off-rabota.tk ) скачайте и установите приложение.
2. Ознакомьтесь с содержимым.
3. Пройдите несложную регистрацию.
4. Обязательно, пройдите курсы обучения. (Бесплатно)
5. Начинайте зарабатывать!
Зарплату мы перечисляем только на банковскую карту любой платёжной системы.
(Для работы советуем оформить отдельную карту)
ВНИМАНИЕ! Весь процесс регистрации, обучения совершенно бесплатны. Не попадитесь в руки мошенников!

-----JGHHJ16FU16G1U6F51J6F1J6R1UY6F5Y-----
sianaLads
January 28, 2017 at 08:47 am
МoneyМaker - это программа, которая рассылает сообщения с предложениями о покупке по
Вашей реферальной ссылке более чем 50 миллионам человек в сутки на русском и английском языках.

Таким образом Вы получаете огромный целевой трафик и хорошие партнерские отчисления с CPA сети
( в среднем 600 рублей в час) как на видео на нашем сайте. ( www.robot.zarplatt.ru ).
Выплаты с данной CPA сети моментальные и автоматические.
Поэтому с помощью моей программы Вы получаете Авто-заработок 600 рублей в час.

МoneyМaker - работает с несколькими зарубежными и русскоязычными площадками,
количество просмотров которых в неделю суммарно достигает более 700 миллионов человек.
megorLads
January 28, 2017 at 09:26 am
Теперь Ваш новый график работы будет выглядеть так -
В день вы будете заняты всего 60 минут - остальное время посвящайте себе и своим близким!

Мы гарантируем:
- Первые деньги на вашей карте уже сегодня.
- Обучение. Поддержка учеников пн-птн с 10-18 мск.
- Куратор, который скоординирует ваше обучение.
- Никаких сложных схем!
- Работаете дома, по своему графику.

Все подробности у нас на сайте. ( www.stabilno.zarplatt.ru )
wegorLads
January 31, 2017 at 09:22 am
Ведущая компания в России и странах СНГ по продаже авиабилетов «Airline-online»

Крупнейшая международная компания по продаже А/В билетов
срочно набирает сотрудников на постоянную основу для несложной
работы через интернет, с ежедневными выплатами от 11 000 руб.

Работая в нашей компании Вы получаете:

- Соблюдение трудового кодекса
- Полный соцпакет, оплачиваемый отпуск, больничный, санаторий.
- Высокий доход
- Каждый наш сотрудник на дому гарантированно получает от 11 000 руб. в день.
- Гарантированные стабильные выплаты заработанных денег.
- Выплаты происходят ежедневно на банковские карты или электронные кошельки.

Пройдите регистрацию на нашем сайте. ( airline.zarplatt.ru )

Без вложений, опыт и профессиональные навыки не требуются!
tegorLads
February 02, 2017 at 04:31 am
Высокооплачиваемая подработка на дому.
Мы предлагаем: Достойная зарплата без задержек, справка 2-НДФЛ, карьерный рост, бесплатное обучение,
свободный график, страховые взносы в Пенсионный фонд, официальный договор (по желанию).
График работы, Вы устанавливаете самостоятельно.
Ваш возраст и образование значения не имеют.
Обязательные условия: наличие компьютера и интернета.
Ваши действия:
1. На сайте ( off-rabota.tk ) скачайте и установите приложение.
2. Ознакомьтесь с содержимым.
3. Пройдите несложную регистрацию.
4. Обязательно, пройдите курсы обучения. (Бесплатно)
5. Начинайте зарабатывать!
Зарплату мы перечисляем только на банковскую карту любой платёжной системы.
(Для работы советуем оформить отдельную карту)
ВНИМАНИЕ! Весь процесс регистрации, обучения совершенно бесплатны. Не попадитесь в руки мошенников!

-----JGHHJ16FU16G1U6F51J6F1J6R1UY6F5Y-----
Christmas Piano
February 03, 2017 at 05:13 am
With.the.evolutionary.changes.the.industry.has.been.experiencing.in.the.last.decade,.web.developers.are.always.kept.on.edge,.trying.to.predict.the.next.trend.which.will.take.the.industry.by.storm!.Any.reprint,.reproduction,.sale,.publication,.distribution.or.other.use.of.any.content.is.prohibited,.unless.a.direct.link.to.this.source.-.open.for.search.engine.indexing.-.is.provided..This.property.controls.selection.of.text.and.other.elements.on.a.page,.except.text.fields.of.form,.their.contents.can.be.selected.whether.it's.allowed.or.not.by.user-select.CSS.property..The.web.design.industry.has.catapulted.in.terms.of.progress.over.the.past.few.years,.and.a.lot.can.still.be.expected.from.the.field.at.the.current.pace.of.technological.advancements..This.article.demonstrates.how.to.simply.animate.an.appearing.text.with.horizontal.and.vertical.stretching.effect.that.is.placed.over.an.image.using.only.CSS3.without.JavaScript..Expanding.effect.for.appearing.text.that.is.used.in.this.article.consists.of.two.parts.where.each.part.performs.after.another.is.finished..Over.the.last.few.years.of.surfing.the.Internet,.we.can.observe.more.and.more.websites.which.have.well-designed.and.creative.error.pages..The.current.article.in.detail.describes.@font-face.rule.in.CSS.which.is.used.for.embedding.custom.fonts.on.websites.without.JavaScript..So,.the.best.choice.is.to.use.pricing.tables.that.allow.users.to.see.the.price.and.features.of.different.products.at.once..It.consists.of.one.simple.semi-transparent.layer.placed.over.the.image.and.appearing.text.with.zoom.and.rotate.effects..Whole.animation.is.done.by.using.@keyframes.rule.in.CSS3.and.doesn't.require.any.animated.GIF.image......In.order.for.search-engine.spiders.to.be.able.to.rate.the.significance.of.pieces.of.text.they.find.in.HTML.documents,.and.also.for.those.creating.mashups.and.other.hybrids.as.well.as.for.more.automated.agents.as.they.are.developed,.the.semantic.structures.that.exist.in.HTML.need.to.be.widely.and.uniformly.applied.to.bring.out.the.meaning.of.published.text..SHOULD.This.word,.or.the.adjective."RECOMMENDED",.mean.that.there.may.exist.valid.reasons.in.particular.circumstances.to.ignore.a.particular.item,.but.the.full.implications.must.be.understood.and.carefully.weighed.before.choosing.a.different.course..For.example,.when.a.screen.reader.or.audio.browser.can.correctly.ascertain.the.structure.of.a.document,.it.will.not.waste.the.visually.impaired.user's.time.by.reading.out.repeated.or.irrelevant.information.when.it.has.been.marked.up.correctly..In.IETF.tradition,.standards.have.to.arise.from.experience.with.a.working.prototype.implementation.—.but.once.they.become.standards,.code.that.does.not.conform.to.them.is.considered.broken.and.mercilessly.scrapped..XML;.syntax.errors.may.cause.the.browser.to.fail.to.render.it..The.same.document.sent.with.the.HTML.MIME.type.might.be.displayed.successfully,.since.some.browsers.are.more.lenient.with.HTML..The.new.format.is.designed.to.allow.a.gradual.roll.over.from.HTML,.adding.features.like.tables,.captioned.figures.and.fill-out.forms.for.querying.remote.databases.or.mailing.questionnaires......Any.reprint,.reproduction,.sale,.publication,.distribution.or.other.use.of.any.content.is.prohibited,.unless.a.direct.link.to.this.source.-.open.for.search.engine.indexing.-.is.provided..If.you.have.any.suggestions.or.feedback.to.improve.it,.please.let.us.know..This.resource.serves.for.sharing.information.with.readers..How.to.check.if.a.string.contains.substring.in.JavaScript?.What.is.the.difference.between.margin.and.padding.in.CSS?.We.do.our.best.to.keep.this.site.updated!.....
Winstonirold
February 04, 2017 at 11:59 pm
thanks for this significant edifying website, living up the great undertaking check out this <a href=http://onlinecasinos-x.com>online casinos</a> offers
mpavelLads
February 06, 2017 at 04:28 pm
Наш сервис предоставляет настоящие лайки на фотографии заказчиков, которые готовы платить за качество.

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

Чтобы стать нашим удалённым сотрудником и начать ставить лайки, зарабатывая при этом 45 рублей за 1 поставленный лайк,

достаточно просто зарегистрироваться на нашем сервисе. > like.zarplatt.ru <

Вывод заработанных средств ежедневно в течении нескольких минут.
qpavelLads
February 14, 2017 at 05:19 am
Наш сервис предоставляет настоящие лайки на фото заказчиков, которые готовы платить за качество.

Именно для этого мы и набираем удалённых сотрудников, которые будут выполнять работу, то есть ставить лайки и зарабатывать за это деньги.

Чтобы стать нашим удалённым сотрудником и начать ставить лайки, зарабатывая при этом 45 рублей за 1 поставленный лайк,

достаточно просто пройти регистрацию на нашем сервисе. > like.zarplatt.ru <

Вывод заработанных средств ежедневно в течении нескольких минут.
ppavelLads
February 14, 2017 at 12:49 pm
Наш сервис предоставляет настоящие лайки на фото заказчиков, которые готовы платить за качество.

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

Чтобы стать нашим удалённым сотрудником и начать ставить лайки, зарабатывая при этом 45 рублей за 1 поставленный лайк,

достаточно просто зарегистрироваться на нашем сервисе. > like.zarplatt.ru <

Вывод заработанных средств ежедневно в течении нескольких минут.
Veronikamt
February 19, 2017 at 02:14 am
Салют народ! предлагаю вам обратить внимание на материал по теме: Работа в интернете без оплаты
Это подойдет Всем, кто хочет заработать в интернете онлайн например на дому для мам в декрете, домохозяек - совмещение. Или людям кто ищет работу удаленную онлайн.
Переходите по ссылке ниже и узнаете все подробности
Заработать онлайн fas.st/VPUID
vpavelLads
February 21, 2017 at 02:21 am
Наш сервис предоставляет настоящие лайки на фото заказчиков, которые готовы платить за качество.

Именно для этого мы и набираем удалённых сотрудников, которые будут выполнять работу, то есть ставить лайки и зарабатывать за это деньги.

Чтобы стать нашим удалённым сотрудником и начать ставить лайки, зарабатывая при этом 45 рублей за 1 поставленный лайк,

достаточно просто зарегистрироваться на нашем сервисе. > www.like.zarplatt.ru <

Вывод заработанных средств ежедневно в течении нескольких минут.

Post comment

basicuse.net
html5_css
106160485398655174790

Quick navigation

General navigation