您的位置: 首页 >日志>动易系统>详细内容

动易系统

WebFuture实现日历式文章图文列表

来源:本站原创 发布时间:2026-03-31 15:50:25 浏览次数: 【字体:

一、需求说明

基于公版组件进行扩展,实现个性化发布时间展示,以“日历式”样式呈现文章日期信息。同时支持以下功能:

  • 按“年 + 月日”分层展示日期(增强视觉识别)

  • 展示文章标题与摘要内容

  • 支持缩略图显示(存在图片时自动展示)

  • 提供灵活的日期格式配置能力 该组件适用于新闻列表、通知公告等场景,能够有效提升信息的层级感与可读性。


二、效果示意

methods_7.3.1  


三、使用方法

1. 调用组件

<ul class="pageTPList">
    @Power.ArticleList("文章图文列表", new { 
        Node = Model, 
        Paging = true, 
        TitleLength = 120, 
        PicFollowTitle = false, 
        ContentLength = 300, 
        ImageWidth = 300, 
        ImageHeight = 200, 
        DateFollowTitle = false, 
        DisplayDateTime ="yyyy", 
        MinorDateFormat = "MM-dd", 
        RefNode = true 
    })
</ul>


2. 关键参数说明

名称参数值说明
DateFollowTitlefalse控制发布日期显示位置:true 表示日期跟随标题后显示,false 表示显示在标题前
DisplayDateTime"yyyy"主日期格式(通常用于年份),支持标准时间格式化规则(如 yyyyMMddHH 等)
MinorDateFormat"MM-dd"附加日期格式(通常用于“月-日”),用于构建日历式展示效果
PicFollowTitlefalse控制图片位置:true 表示图片显示在标题后,false 表示显示在标题前

💡 说明:通过 DisplayDateTimeMinorDateFormat 的组合,可以灵活实现“年月分离”的日历式展示效果。



四、HTML 结构示例

<li>
    <span class="date">
        <span class="dd">01-07</span>
        <span class="ym">2026</span>
    </span>
    <div class="pic">
        <a href="/xydt/xyxw/content_37153" target="_blank" rel="noopener noreferrer">
            <img alt="学院举行2025年奖助学金发放仪式暨学生表彰大会" src="/upload/main/contentmanage/article/image/8d18406688384da5bcc23339fcd84e13_300_200.png" width="300" height="200">
        </a>
    </div>
    <div class="con">
        <div class="title">
            <a target="_blank" class="tit" href="/xydt/xyxw/content_37153" title="学院举行2025年奖助学金发放仪式暨学生表彰大会" rel="noopener noreferrer">
                学院举行2025年奖助学金发放仪式暨学生表彰大会
            </a>
        </div>
        <div class="intro">
            1月6日,学院2025年奖助学金发放仪式暨学生表彰大会在大礼堂举行。党委副书记张海军在讲话中指出,学院育人工作取得显著成效,包括制度完善、资助体系优化、学风建设提升以及学生创新能力增强等方面……
        </div>
    </div>
</li>



五、样式实现(CSS)

/* 日历式图文列表 */
.pageTPList li { 
    position: relative; 
    z-index: 1; 
    display: flex; 
    gap: 30px; 
    padding: 30px; 
    margin-bottom: 20px; 
    overflow: hidden; 
    border-bottom: 1px solid #eee; 
}

.pageTPList li::before { 
    position: absolute; 
    z-index: -1; 
    content: ''; 
    left: 0; 
    top: 0; 
    right: 0; 
    bottom: 0; 
    background: #2FA64C; 
    border-radius: 20px 0 20px 0; 
    visibility: hidden; 
    transform: translateY(100%); 
}

.pageTPList li.last { margin-bottom: 0; }

.pageTPList .pic { width: 210px; }

.pageTPList .pic img { 
    width: 100%; 
    height: 140px;
}

.pageTPList .con { 
    flex: 1 0 0; 
    align-self: center; 
}

.pageTPList .title { 
    font-size: 18px; 
    line-height: 30px; 
    max-height: 60px; 
    overflow: hidden; 
    font-weight: bold; 
}

.pageTPList .title a { 
    display: block; 
    text-decoration: none; 
    color: inherit; 
}

.pageTPList .title a::after { 
    position: absolute; 
    right: 70px; 
    bottom: 40px; 
    font-family: "iconfont"; 
    content: '\e607'; 
    width: 34px; 
    height: 34px; 
    line-height: 34px; 
    border: 1px solid #eee; 
    border-radius: 50%; 
    text-align: center; 
    font-size: 16px; 
    font-weight: normal; 
    color: #999; 
}

.pageTPList .intro { 
    margin-top: 15px; 
    font-size: 15px; 
    line-height: 28px; 
    max-height: 56px; 
    color: #999; 
    overflow: hidden; 
}

.pageTPList .others { display: none; }

/* 日历日期样式 */
.pageTPList .date { 
    font-family: Arial; 
    order: 1; 
    margin: 20px 0 70px 10px; 
    line-height: 1; 
}

.pageTPList .date .dd { 
    display: block; 
    font-weight: bold; 
    font-size: 30px; 
    color: #DFB072; 
}

.pageTPList .date .ym { 
    display: block; 
    margin-top: 10px; 
    font-size: 16px; 
    color: #999; 
}


六、实现要点说明

  • 使用 Flex 布局 实现整体结构排列,保证响应式表现

  • 通过 gap 控制元素间距,使结构更简洁

  • 使用 order 属性调整日期位置,实现“视觉优先级控制”

  • 利用时间格式拆分(yyyy + MM-dd)实现“日历式展示”

  • 图标使用字体图标(iconfont)实现“更多”视觉提示