最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

js实现卡片式项目管理界面UI设计效果_javascript技巧

来源:懂视网 责编:小采 时间:2020-11-27 21:47:03
文档

js实现卡片式项目管理界面UI设计效果_javascript技巧

js实现卡片式项目管理界面UI设计效果_javascript技巧:这是一款非常有创意的卡片式项目管理界面UI设计效果。该UI设计中,将各个项目以卡片的方式堆叠排列在屏幕上,当点击了其中的某个项目的时候,该项目图片会全屏放大,向下滚动鼠标可以看到该项目的介绍信息。 该项目管理界面还提供了一个全屏的导航菜单,用户
推荐度:
导读js实现卡片式项目管理界面UI设计效果_javascript技巧:这是一款非常有创意的卡片式项目管理界面UI设计效果。该UI设计中,将各个项目以卡片的方式堆叠排列在屏幕上,当点击了其中的某个项目的时候,该项目图片会全屏放大,向下滚动鼠标可以看到该项目的介绍信息。 该项目管理界面还提供了一个全屏的导航菜单,用户
这是一款非常有创意的卡片式项目管理界面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伪元素的背景图片。

  • Project 1

    项目描述

  • 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。

    js实现卡片式项目管理界面UI设计效果就为大家分享到这,希望本文所述对大家学习javascript程序设计有所帮助。

    声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文档

    js实现卡片式项目管理界面UI设计效果_javascript技巧

    js实现卡片式项目管理界面UI设计效果_javascript技巧:这是一款非常有创意的卡片式项目管理界面UI设计效果。该UI设计中,将各个项目以卡片的方式堆叠排列在屏幕上,当点击了其中的某个项目的时候,该项目图片会全屏放大,向下滚动鼠标可以看到该项目的介绍信息。 该项目管理界面还提供了一个全屏的导航菜单,用户
    推荐度:
    标签: 界面 js javascript
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top