Wstawiamy galerię na stronę

Dziś pokażę Wam jak wstawić ładną galerię na swoją stronę. Po kliknięciu na zdjęcie – pojawiać się ono będzie powiększone na środku strony.

Wykorzystam do tego darmowy skrypt jQuery – Fancybox.

Strona składa się z plików:
index.html
style.css

Folderów:
fancybox (folder ze skryptem)
foto (folder ze zdjęciami)
script (plik fancybox.js)

W kodzie w index.html w <head></head> wstawiamy kod galerii:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script src="script/fancybox.js"></script>
<script type="text/javascript" src="fancybox/source/jquery.fancybox.pack.js?v=2.1.5"></script>
<link rel="stylesheet" href="fancybox/source/helpers/jquery.fancybox-buttons.css?v=1.0.5" type="text/css" media="screen" />
<link rel="stylesheet" href="fancybox/source/jquery.fancybox.css?v=2.1.5" type="text/css" media="screen" />

W miejscu gdzie chcemy wstawić zdjęcia, dajemy kod:

<a class="fancybox-thumb" data-fancybox-group="group1" href="foto/1.jpg"><img src="foto/1_small.jpg" alt="foto"/></a>
<a class="fancybox-thumb" data-fancybox-group="group1" href="foto/2.jpg"><img src="foto/2_small.jpg" alt="foto"/></a>
<a class="fancybox-thumb" data-fancybox-group="group1" href="foto/3.jpg"><img src="foto/3_small.jpg" alt="foto"/></a>
<a class="fancybox-thumb" data-fancybox-group="group1" href="foto/4.jpg"><img src="foto/4_small.jpg" alt="foto"/></a>
<a class="fancybox-thumb" data-fancybox-group="group1" href="foto/5.jpg"><img src="foto/5_small.jpg" alt="foto"/></a>

Wcześniej zróbmy również miniaturki zdjęć, przyśpieszy to ładowanie strony.

Plik w folderze script – fancybox.js:

jQuery(document).ready(function($) {
$(".fancybox-thumb").fancybox({
prevEffect	: 'none',
nextEffect	: 'none',
autoSize : true,
scrolling : 'auto',
fitToView : false,
width : 'auto',
maxWidth : '90%',
});
});

W tym pliku możemy ustawić opcje galerii, jak automatyczne skalowanie, scroolowanie, maxymalna szerokość zdjęcia, ja dałam na 90%, akurat robiłam stronę pod mobilne urządzenia i potrzebowałam jak największych zdjęć, by ładnie zajmowały prawie cały ekran.

Cały kod html wygląda tak:

<!DOCTYPE html>
<html lang="pl">
<head>
<meta charset="utf-8">
<title>Galeria</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta name="robots" content="index, follow" />
<meta name="description" content=""/>
<meta name="keywords" content=""/>
<meta name="author" content="www.tworzenie-stronek.pl" />
<link rel="shortcut icon" href="images/favicon.ico" type="image/x-icon" />
<link rel="stylesheet" type="text/css" href="style.css" />

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script src="script/fancybox.js"></script>
<script type="text/javascript" src="fancybox/source/jquery.fancybox.pack.js?v=2.1.5"></script>
<link rel="stylesheet" href="fancybox/source/helpers/jquery.fancybox-buttons.css?v=1.0.5" type="text/css" media="screen" />
<link rel="stylesheet" href="fancybox/source/jquery.fancybox.css?v=2.1.5" type="text/css" media="screen" />

</head>

<body>

<div id="wrapper">

<div class="page">

<div id="top">

<a class="fancybox-thumb" data-fancybox-group="group1" href="foto/1.jpg"><img src="foto/1_small.jpg" alt="foto"/></a>
<a class="fancybox-thumb" data-fancybox-group="group1" href="foto/2.jpg"><img src="foto/2_small.jpg" alt="foto"/></a>
<a class="fancybox-thumb" data-fancybox-group="group1" href="foto/3.jpg"><img src="foto/3_small.jpg" alt="foto"/></a>
<a class="fancybox-thumb" data-fancybox-group="group1" href="foto/4.jpg"><img src="foto/4_small.jpg" alt="foto"/></a>
<a class="fancybox-thumb" data-fancybox-group="group1" href="foto/5.jpg"><img src="foto/5_small.jpg" alt="foto"/></a>

</div>

</div>

<div id="clear"></div>

<div id="footer">
stopka
</div>

</div>

</body>
</html>

Cały kod css strony wygląda tak:

* { padding: 0; margin: 0; }

html, body {
font-family: Tahoma, sans-serif;
font-weight: 300;
width: 100%;
height: 100%;
font-size: 15px;
color: #000000;
margin: 0 auto;
background-color: #FFFFFF;
}

a {outline: none; text-decoration: none; color: #000000;}
a:hover {text-decoration: underline; color: #000000;}

#wrapper {
margin: 0 auto -150px;
min-height: 100%;
position: relative;
}

#clear{
clear: both;
height: 150px;
}

.page {
margin: 0 auto;
}

#top{
float: left;
width: 100%;
padding-top: 5%;
position: relative;
}

#top img{
width: 17%;
margin: 0.3%;
padding: 0.4%;
background-color: #D2D2D2;
transition-duration: 0.3s;
transition-timing-function: linear;
}

#top img:hover{
background-color: #FFFFFF;
}

#footer {
float: left;
width: 100%;
height: 130px;
padding-top: 20px;
bottom: 0px;
position: absolute;
text-align: center;
font-size: 13px;
background-color: #EEEEEE;
}

#footer a{
text-decoration: underline;
}

img
{
border: 0px;
}

@media (min-width: 1581px) {
#wrapper{width:100%;}
.page{width:1180px;}
}

@media (min-width: 1085px) and (max-width: 1580px){
#wrapper{width:100%;}
.page{width:100%;}
}

Chcąc ładnie umieścić miniaturki na stronie, jeden obok drugiego, równe, to dodałam do kodu css:

#top img{
width: 17%;
margin: 0.3%;
padding: 0.4%;
background-color: #D2D2D2;
transition-duration: 0.3s;
transition-timing-function: linear;
}

#top img:hover{
background-color: #FFFFFF;
}

Spakowany plik fancyboxa umieściłam na blogu, by ułatwić Wam pracę, można pobrać tutaj: fancybox

Tak wygląda galeria na stronie:

fancybox2

Gotowe. Mamy ładną i szybko działającą galerię 🙂

Subscribe
Powiadom o
guest
0 komentarzy
Inline Feedbacks
View all comments