IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    美化WordPress插入到文章中的相册

    Tokin发表于 2016-12-15 06:27:46
    love 0

    不晓得哪个版本开始,WordPress在添加媒体入口里加入了“创建相册”功能,就是可以把你已上传的图片选择N个创建成相册,并且可以把相册插入到文章当中,对于某些多图的文章,使用这个功能让文章显得漂亮工整。

    但是某些自己制作的主题并无法愉快的使用它,首先,插入的使用缩略图基本上要正方形的,如果之前上传的图片没有裁剪成正方形,那就有点难办了;其次,大大小小的图片有正方形有长方形的,另文章显得极其不规整,怎样让图片简单轻松无痛又漂亮的显示在文章页呢?

    先看最终效果

    每行2个:

    每行3个:

    每行4个:

    每行5个:

    还有更多就不演示了,回头自己试一下即可。

    原理解释:

    基本原理图如上,红色为图片原始比例,黄色为图片显示区域,超出部分隐藏,看似很简单,是实际上会稍微繁琐一些,因为图片始终无法合理的居中显示在黄色区域,好在CSS3给力

    利用CSS3的translate(),WP的插入相册的DOM结构刚好够用,直接贴CSS吧

    .gallery{
     margin:-1%!important;
    }
    .gallery .gallery-item {
     padding:1%;
     /* width:14.66666%!important; */
     margin: 0 !important;
     overflow:hidden;
     position:relative;
    }
    .gallery-columns-3 .gallery-item{
     width:33.3333333%!important;
    }
    .gallery .gallery-item dt:before {
     content: "";
     display: block;
     padding-top: 100%;
    }
    .gallery .gallery-item dt {
     position: relative;
     box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;
     background: #eee;
     cursor: pointer;
     overflow: hidden;
    }
    .gallery .gallery-item a {
     position: absolute;
     top: 0;
     right: 0;
     bottom: 0;
     left: 0;
     opacity: 1;
     -webkit-transition: opacity .1s;
     transition: opacity .1s;
     transform: translate(50%,50%);
    }
    .gallery .gallery-item img{
     position:absolute;
     top: 0;
     left: 0;
     max-height:100%;
     max-width:none!important;
     width:auto!important;
     border:0!important;
     transform: translate(-50%,-50%);
    }

    核心CSS如上,根据主题不同请自行调整。

    此方法兼容主流的现代浏览器,IE...还是算了



沪ICP备19023445号-2号
友情链接