Wstawiamy galerię na stronę

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ę 🙂

Dodaj komentarz

avatar
  Subscribe  
Powiadom o
Close Menu