仅CSS灯箱 - 点击关闭&放大

时间:2014-12-01 23:40:52

标签: css lightbox

我正在尝试创建一个versitile(用于移动设备,桌面设备和平板电脑)灯箱弹出窗口。我通过Gravityforms输入它,因此链接本身只能是HTML。

此代码有效 - 但它有点乱。它必须是画廊和文字,我已经实现了。我正在使用wordpress 4.0,所以如果有更好的插件解决方案,我愿意接受它。

  • 打开时的好转换
  • 调整大小以适应移动/小屏幕
  • 点击背景以关闭

一页上会有多个画廊

到目前为止我的代码

       #gallery .item a { 
    overflow: hidden;
    }

#gallery .item a img {
    height: 100%; 
    align-self: center;
    }

.lightbox {
    /** Hide the lightbox */
    display: none;

    /** Apply basic lightbox styling */
    position: fixed;
    z-index: 9999;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    color:#333333;
    }

.lightbox:target {
    /** Show lightbox when it is target */
    display: block;
    outline: none;
}

.lightbox .box {
    width: -webkit-min-content;
    width: -moz-min-content;
    width: min-content;
    min-width:500px;
    margin: 2% auto;
    padding:10px 20px 10px 20px;
    background-color:#FFF;
    box-shadow: 0px 1px 26px -3px #777777; 
    }

.lightbox .title {
    margin:0;
    padding:0 0 10px 0px;
    border-bottom:1px #ccc solid;
    font-size:22px;
    }

.lightbox .content {
    display:block;
    position:relative;
    }


.lightbox .content .desc {
    z-index:99;
    bottom:0;
    position:absolute;
    padding:10px;
    margin:0 0 4px 0;
    background:rgba(0,0,0,0.8);

    color:#fff;
    font-size:17px;
    opacity:0.75;
    transition: opacity ease-in-out 0.5s;
    }   

.lightbox .content:hover .desc  {
    opacity:0.8;
}

.lightbox .next,
.lightbox .prev,
.lightbox .close {
    display:block;
    text-decoration:none;
    font-family:Gotham, "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size:22px;
    color:#858585;
    }

.prev {
    float:left;
    }

.next, .close {
    float:right;
    }

    .clear {
        display:block;
        clear:both;
        }

我认为这是我想要的转变:

    html { min-height: 100%; position: relative; }
body { margin: 0; height: 100%; margin-right: 2em;  background: #110; }
dl { float: left; }
dd a { 
  background: #fff; display: inline-block;
transition: 4s box-shadow ease-in;

缩放功能也很棒(即从灯箱内部),但我不确定是否可能。

非常感谢任何帮助

我最新的JSFiddle Click here

1 个答案:

答案 0 :(得分:1)

  • 打开时的一个很好的过渡 使用CSS transition
  • 调整大小以适应移动/较小的屏幕使用max-width: 100%
    您可能希望在.desc中试验描述的长度,因为它似乎也是如此长的移动屏幕宽度
  • 点击背景关闭。
    我认为这可以通过javascript实现。

在此处查看 FIDDLE