Много похожих вопросов было задано на Stackoverflow. Но после нескольких дней экспериментов с другими решениями здесь я не могу найти ни одного, который бы точно соответствовал тому, что я пытаюсь сделать.
Я хочу создать контейнер фиксированного размера, который всегда имеет одинаковую высоту от верхней части страницы и всегда одинаковое поле слева от страницы. Контейнер имеет миниатюры вдоль нижней части (у которых в конечном итоге появятся стрелки справа для прокрутки вверх / вниз - пока не слишком далеко) и увеличенное изображение, отображаемое выше, с информацией в отдельной рамке справа от увеличенного изображения , При каждом нажатии на миниатюру изображение большего размера изменяется, чтобы отобразить увеличенную версию нового эскиза вместе с соответствующей информацией.
Все уменьшенные изображения имеют размер 150 x 150. Все большие изображения имеют размер 300 x 300. Информация, отображаемая в информационном окне, представляет собой изображение. Все изображения хранятся в той же папке, что и код, и имеют одинаковые имена файлов с измененными «большими пальцами» или «большими». Например, «image_01_thumb.png» или «image_01_large.png».
У меня есть несколько существующих элементов на моей странице, которые по умолчанию относятся ко всему сайту, и я считаю, что они, вероятно, вызывают проблемы.
$('#thumbs img').click(function() {
$('#largeimage').attr('src', $(this).attr('src').replace('thumb', 'large'));
$('#description').html($(this).attr('alt'));
});
* {
margin: 0;
padding: 0;
}
header {
background-image: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url(pic1.png);
height: 100vh;
background-size: cover;
background-position: center;
}
.main-nav {
float: right;
list-style: none;
margin-top: 45px;
}
.main-nav li {
display: inline-block;
}
.main-nav li a {
color: white;
text-decoration: none;
padding: 5px 20px;
font-family: "Roboto", sans-serif;
font-size: 16px;
}
.main-nav li.active a {
border: 1px solid white;
}
.main-nav li a:hover {
border: 1px solid white;
}
.logo img {
width: 540px;
height: auto;
float: left;
}
body {
font-family: monospace;
}
.row {
max-width: 1200px;
margin: auto;
}
#thumbs {
padding-top: 10px;
overflow: hidden;
}
#largeImage {
padding: 4px;
}
#thumbs img {
float: left;
margin-right: 0px;
opacity: 0.8;
padding: 4px;
}
#thumbs img:hover {
opacity: 1;
}
#description {
background: black;
color: white;
position: relative;
bottom: 0;
padding: 10px 20px;
width: 230px;
margin: 5px;
}
#panel {
position: relative;
}
#gallery {
position: absolute;
height: 520px;
width: 660px;
margin-left: 30px;
margin-top: 180px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!DOCTYPE html>
<html lang="en">
<head>
<title>PROJECTS</title>
<link rel="shorcut icon" href="favicon.png" type="image/png">
<link rel="icon" href="favicon.png" type="image/x-icon">
<link rel="stylesheet" href="style.css" type="text/css">
<script type="text/javascript" script src="portgrid.js"></script>
</head>
<body>
<header>
<div class="row">
<div class="logo">
<img src="logo.png">
</div>
<ul class="main-nav">
<li><a href="index.html">HOME</a></li>
<li><a href="portabout.html">ABOUT</a></li>
<li class="active"><a href="portprojects.html">PROJECTS</a></li>
<li><a href="portconnect.html">CONNECT</a></li>
</ul>
</div>
<!-- the image container -->
<div id="gallery">
<div id="panel">
<img id="largeImage" src="image_01_large.png" />
</div>
<div id="thumbs">
<img src="image_01_thumb.png" alt="TBN" />
<img src="image_02_thumb.png" alt="Brain" />
<img src="image_03_thumb.png" alt="AWG" />
<img src="image_04_thumb.png" alt="Building" />
</div>
</div>
</header>