• 探访广西高考评卷现场:评卷场所警戒线“包围” 2019-08-23
  • 一镜到底绝密视频!10个故事,一个不一样的上合峰会 2019-08-21
  • 聚焦中央经济工作会议 2019-08-13
  • 先生的这个跟帖,很有“核心意识和看齐意识”。 2019-08-13
  • 城区加大扬尘污染治理力度 所有施工现场必须安装视频监控 2019-08-10
  • 四十多个赞,莫非真的有他们说的什么点钻机! 2019-07-30
  • “互联网+农村”亟待提速 网络入户遇两大难题 2019-07-28
  • 青海“天然林管护+生态扶贫” 5517万亩天然林得到保护 2019-07-28
  • 从一起偷倒渣土案看作风 2019-07-15
  • China Focus Dragon Boat Festival celebrated across China - Culture News - CQNEWS 2019-07-15
  • 可再生能源电价附加资金补助目录公布 2019-07-06
  • 驻村书记张春雪扶贫记:我为黄花代言 2019-07-06
  • 岭南佳果飘香 周边摘果正当时 2019-07-01
  • 一孕真的会“傻三年”?这是多因素影响的结果 2019-07-01
  • 孩子坚持不住怎么办,妈妈陪着一起学 2019-06-30
  • 桑普多利亚对罗马比赛:创意卡片式项目管理界面UI设计

    都灵桑普多利亚关系 www.dqyww.com 12/6/2015来源:Javascript教程人气:11024

    这是一款非常有创意的卡片式项目管理界面UI设计效果。该UI设计中,将各个项目以卡片的方式堆叠排列在屏幕上,当点击了其中的某个项目的时候,该项目图片会全屏放大,向下滚动鼠标可以看到该项目的介绍信息。

    该项目管理界面还提供了一个全屏的导航菜单,用户可以通过右上角的汉堡包图标来触发全屏菜单。

    在线预览    源码下载

    使用方法

    HTML结构

    该卡片式项目管理界面的HTML结构分为3个部分:.cd-nav-trigger是全屏菜单的触发按钮,nav.cd-PRimary-nav是全屏导航菜单,.cd-projects-container是项目无序列表的容器。

    每一个项目都包含一个表示项目标题的div.cd-title元素和一个表示项目信息的div.cd-project-info元素。项目的图片被设置为.cd-title::before伪元素的背景图片。

    <header>
      <a href="#0" class="cd-logo"><img src="img/cd-logo.svg"></a>
      
      <button class="cd-nav-trigger">Menu<span aria-hidden="true" class="cd-icon"></span></button>
    </header>
     
    <nav class="cd-primary-nav">
      <ul>
        <li class="cd-label">Navigation</li>
        <li><a href="#0">The team</a></li>
        <!-- 可以有更多的导航项 -->
      </ul>
    </nav> <!-- .cd-primary-nav -->
     
    <div class="cd-projects-container">
      <ul>
        <li class="single-project">
          <div class="cd-title">
            <h2>Project 1</h2>
          </div> <!-- .cd-title -->
     
          <div class="cd-project-info">
            <button class="cd-scroll">Scroll down</button>
            
            <div class="content-wrapper">
              <p>
                项目描述
              </p>
     
              <!-- 额外的项目信息 -->
            </div>
          </div> <!-- .cd-project-info -->
        </li>
     
        <!-- 其它项目 -->
      </ul>
    </div> <!-- .cd-projects-container -->         
                  
    CSS样式

    div.cd-project-info元素(项目信息)被设置为100%的高度和相对定位。每一个单独的项目都使用绝对定位,并设置100%的高度和放置在它们父容器.cd-project-info的左上角位置??妓鞘嵌训谝黄鸬?。

    接着,第二和第三个项目被使用translateY属性沿Y轴向下移动,分别移动.cd-project-info高度的1/3和2/3。这样就是3个项目分别在同一个屏幕中显示1/3的部分。

    .cd-projects-container {
      height: 100%;
      position: relative;
      overflow: hidden;
    }
    .cd-projects-container .single-project {
      position: absolute;
      top: 0px;
      left: 0px;
      height: 100%;
      width: 100%;
      transition: transform 0.4s;
    }
    .cd-projects-container .single-project:nth-of-type(2) {
      transform: translateY(33.3333333333%);
    }
    .cd-projects-container .single-project:nth-of-type(3) {
      transform: translateY(66.6666666667%);
    }              
                  

    .cd-title(项目的标题)被设置为33.33%(1/3视口的高度),而它的伪元素.cd-title::before被设置为300%,实际是等于视口的高度。

    .cd-title {
      height: 33.3333333333%;
    }
    .cd-title::before {
      /* 背景图片 */
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      height: 300%;
      width: 100%;
      background-position: center center;
      background-repeat: no-repeat;
      background-size: cover;
    }
    .single-project:nth-of-type(1) .cd-title::before {
      background-image: url(../img/img-1.jpg);
    }                
                  

    当某个项目被选择的时候,该项目被添加一个.selected class,该class应用了一个translateY(0)转换。同时将该项目的兄弟元素移动到屏幕之外translateY(100%),这样使该项目占满整个屏幕。

    .cd-projects-container .single-project.selected {
      /* 被选择的项目 */
      transform: translateY(0);
    }
    .cd-projects-container .single-project.selected ~ li {
      /* 隐藏其它项目 */
      transform: translateY(100%);
    }                
                  

    对于.cd-project-info(项目信息),它有100%的高度,一个overflow: auto属性(使其可以滚动),它被放置在父元素.single-project的左上角位置。它的::before伪元素是一个空白占位,它等于屏幕视口的宽度和高度,它的作用是让项目图片开始时可以全屏显示,而不是被content-wrapper的内容覆盖。

    .cd-project-info {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      overflow: auto;
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.4s, visibility 0.4s;
    }
    .cd-project-info::before {
      /* 用与占位,显示项目图片 */
      content: '';
      display: block;
      height: 100%;
      width: 100%;
      pointer-events: none;
    }
    .cd-project-info .content-wrapper {
      position: relative;
      z-index: 2;
      padding: 2em 0 3em;
      background-color: #FFFFFF;
    }
    .selected .cd-project-info {
      opacity: 1;
      visibility: visible;
      transition: opacity 0s, visibility 0s;
    }                
                  

    对于全屏导航菜单,开始时.cd-primary-nav元素被放置在.cd-projects-container的下面。当用户点击了.cd-nav-trigger按钮之后,所有的项目被移动到屏幕的下方,这时全屏导航菜单被显示出来。

    .cd-primary-nav {
      position: absolute;
      top: 0;
      left: 0;
      /* height = (100% - 9%) - 9% is the space taken by the projects when the navigation is open */
      height: 91%;
      width: 100%;
      overflow: auto;
      opacity: 0;
    }
    .cd-primary-nav ul {
      transform: translateY(50px);
      transition: transform 0.4s;
    }
    .cd-primary-nav.nav-open {
      opacity: 1;
    }
    .cd-primary-nav.nav-open ul {
      transform: translateY(0);
    }
     
    .cd-projects-container.nav-open .single-project {
      box-shadow: 0 0 30px rgba(0, 0, 0, 0.5);
      transform: translateY(91%);
    }
    .cd-projects-container.nav-open .single-project:nth-of-type(2) {
      transform: translateY(94%);
    }
    .cd-projects-container.nav-open .single-project:nth-of-type(3) {
      transform: translateY(97%);
    }                
                  
    javaScript

    该UI设计中使用jQuery来监听.cd-nav-trigger.single-project元素上的点击事件,并为相应的元素添加和移除相应的class。



  • 探访广西高考评卷现场:评卷场所警戒线“包围” 2019-08-23
  • 一镜到底绝密视频!10个故事,一个不一样的上合峰会 2019-08-21
  • 聚焦中央经济工作会议 2019-08-13
  • 先生的这个跟帖,很有“核心意识和看齐意识”。 2019-08-13
  • 城区加大扬尘污染治理力度 所有施工现场必须安装视频监控 2019-08-10
  • 四十多个赞,莫非真的有他们说的什么点钻机! 2019-07-30
  • “互联网+农村”亟待提速 网络入户遇两大难题 2019-07-28
  • 青海“天然林管护+生态扶贫” 5517万亩天然林得到保护 2019-07-28
  • 从一起偷倒渣土案看作风 2019-07-15
  • China Focus Dragon Boat Festival celebrated across China - Culture News - CQNEWS 2019-07-15
  • 可再生能源电价附加资金补助目录公布 2019-07-06
  • 驻村书记张春雪扶贫记:我为黄花代言 2019-07-06
  • 岭南佳果飘香 周边摘果正当时 2019-07-01
  • 一孕真的会“傻三年”?这是多因素影响的结果 2019-07-01
  • 孩子坚持不住怎么办,妈妈陪着一起学 2019-06-30
  • 中国体彩多少钱一注 燕赵排列7开奖结果是 上海时时票控 2019环海南岛自行车比赛 唯爱棋牌 湖北11选五几点开始 传奇电子跳高高下载 e球彩玩法及奖金 福彩pk10合法吗 正规黑龙江11选5 吉林时时论坛重庆 重庆时时彩分析软件下载 山东群英会开奖图 pk赛车一天盈利400 秒速赛车开奖历史记录 海南七星彩开奖结果今晚