有没有办法在没有js或任何js库的情况下,只用css3就能给链接添加键盘导航?具体地说,我用一堆图片创建了一个纯css3 lightbox效果,但我想使用左右键在图片之间导航,而不需要单击屏幕上的任何地方,并使用escape获得“取消”按钮的效果(类似于关闭)。
发布于 2012-06-23 19:13:19
你所要求的在级联样式表中几乎是不可能的,你可以为你的时序设置动画,或者用CSS做动画,过渡,但是你不能只用CSS做你想做的事情!
的原因
你可以添加一点javascript来实现这一点。但是当你不想使用javascript时,你就被卡住了!
复选框hack
使用复选框单选框可以实现这样的效果,但再次强调了最初需要实现的焦点。这可以使用自动聚焦属性来完成。
所以这把小提琴应该能解决你的问题。
http://jsfiddle.net/darkyen/NUtnX/
但我想在此之前警告你,任何“模糊”都会导致这个失败。因此下面列出了更好的javascript代码变体
JavaScript代码
用于实现所需内容javascript代码将包含非常少的javascript比如您的标记是
因此您可以简单地分配一个lil javascript
(function(){
var slide = 0, // Current slide
max = 10, // Maximum Number of slides
ele = document.getElementById("show");
document.addEventListener('keydown',function(e){
e.preventDefault();
e.stopPropagation(); // To stop more event stuff and default behaviour
key = e.keyCode; // To find out what key is this
if( key === 39 ){
// Right arrow
// Aha we incremented the value!
slide++;
slide %= (max+1);
// Increase the value of slide by 1 and keep em in limits
}else if( key === 37){
slide = (--slide >= 0)?slide: ( slide + max );
// Will decrement the slide value by 1 and if they are less then 0 then will cycle it to the last slide
}
ele.className.replace(/slide[0-9]/gi,'slide'+slide);
// wasn't hard now was it ?
});
})();上面的最小javascript将完成更改幻灯片的任务,或者您可以始终看到impress.js的源代码
https://stackoverflow.com/questions/11162202
复制相似问题