[英]CSS/HTML Gallery
目前我有一个纯HTML / CSS图片库,但由于它使用<a>
标签来更改图像,它还会将页面向下碰到图像。 我有一个固定的导航栏,不用说,它只是在页面被撞倒时覆盖图像。
我目前用于画廊的可爱CSS
#images {
width: 400px;
height: 200px;
overflow: hidden;
position: relative;
margin: 20px auto;
}
#images img {
width: 400px;
height: 200px;
position:absolute;
opacity: 0;
transition: all linear 500ms;
-o-transition: all linear 500ms;
-moz-transition: all linear 500ms;
-webkit-transition: all linear 500ms;
}
#images img:target {
opacity: 1;
}
#slider a {
text-decoration: none;
margin-top:5px;
border: 1px solid #4D3132;
padding: 0px 6px;
color: #FFF;
}
#slider a:hover {
background: #282F40;
color: #FFF;
}
和HTML (当然不是整个页面,只是元素。)
<div id="images">
<img id="image1" src="http://i.imgur.com/dL3io.jpg" />
<img id="image2" src="http://i.imgur.com/qASVX.jpg" />
<img id="image3" src="http://i.imgur.com/fLuHO.jpg" />
<img id="image4" src="http://i.imgur.com/5Sd3Q.jpg" />
</div>
<div class="center">
<div id="slider">
<a href="#image1">1</a>
<a href="#image2">2</a>
<a href="#image3">3</a>
<a href="#image4">4</a>
</div></div>
那么,是否有可能创建一个不会碰到页面的HTML / CSS库,或dosnt使用<a>
标签......?
我还应该指出,我不打算制作“幻灯片”,图片不必自动更换。
编辑:
图像本身没有移动,因为使用了<a>
标签而被抬高了。
如果您不想使用JavaScript,可以通过为链接设置目标属性来在iframe中加载图片。
<div id="slider">
<a target="pictureFrame" href="http://i.imgur.com/dL3io.jpg">1</a>
<a target="pictureFrame" href="http://i.imgur.com/qASVX.jpg">2</a>
<a target="pictureFrame" href="http://i.imgur.com/fLuHO.jpg">3</a>
<a target="pictureFrame" href="http://i.imgur.com/5Sd3Q.jpg">4</a>
</div>
<iframe id="images" src="http://i.imgur.com/dL3io.jpg" name="pictureFrame">
</iframe>
在这里小提琴: http : //jsfiddle.net/Nillervision/rvtrq/
你需要的是一点点javascript魔法。 你可以用vanilla js和jQuery来做到这一点。 我将为您的问题演示一个简单的jQuery解决方案。
由于您使用锚点来定位图像,因此浏览器将自动滚动到您选择的图像。 如果浏览器窗口很小并且图像移位,则会出现丑陋的跳跃效果。
Jquery代码:
$('#slider a').click(function(event){
// prevent default behavior of anchors
event.preventDefault();
// get the id of selected image
var $id = $(this).attr('href');
// hide previous image (if there is one)
$('#images .target').removeClass('target');
// show the selected image
$('#images ' + $id).addClass('target');
});
CSS更改:
#images img:target
变
#images img.target
我希望这会有所帮助,不要忘记将jQuery库包含在您的代码中。
祝好运!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.