手把手教你写Js日期时间选择器(2)-样式实现

本文详细介绍了一个日期时间选择器的样式实现过程,包括控件高度、选择项高度的设定,以及各部分如中间横线、滑动列表的具体样式设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上一节为大家分析了一下日期时间选择器的基本组成结构;
这一节主要讲解样式实现.

准备工作

  1. 首先来确定一下各个部分的大小,主要是高度.为了组件显示比较和谐,这里整个控件高度为200px;
  2. 选择项的高度为40px;

示意图:

大小

大家可以根据需要自行调整.

开始撸码

  1. 新建工程,作者是采用WebStorm进行开发(前端神器),具体创建过程就不详述了.应该都会.
  2. 新建一个HTML文件.

这里写图片描述

接下来按照前面介绍的组件结构写几个div.

    <div class="最外层">
    <div class="中间横线"></div>
    <div class="滑动列表1">
        <ul>
            <li></li>
        </ul>
    </div>
    <div class="滑动列表2">
        <ul>
            <li></li>
        </ul>
    </div>
</div>
样式实现

先指定最外层div样式:

 .wrap {
          width: 100%;
          height: 200px;
          background: #fff;
          position: relative;
          text-align: center
       }

用chrome预览一下:

chrome

发现有边距,把边距去掉;

 * {
      margin: 0; 
      padding: 0;
   }

再实现中间横线部分的样式:

        .wrap .line {
            height: 40px;
            border-top: 1px solid #D6DDE7;
            border-bottom: 1px solid #D6DDE7;
            width: 100%;
            position: absolute;
            top: 40%
        }

实现中间选中部分的样式后就可以大致看出一点模样了;

接下来实现滑动列表的样式:

        .wrap .item {
            margin: 0;
            padding: 0 3%;
            display: inline-block;
            vertical-align: top;
            text-align: center;
            overflow: hidden;
            height: 200px;
        }

        .wrap .item ul {
            list-style: none;
            margin: 0;
            padding: 0;
            text-align: center;
            min-height: 120px;
            width: 80px;
            overflow: hidden;
        }

        .wrap .item ul li {
            height: 40px;
            line-height: 40px;
            color: #898c90;
            font-size: 15px
        }

        .wrap .item ul li.selected {
            color: #292a2b;
            font-size: 17px
        }

现在整个控件就有模有样了,看图.

预览

字体不好看,换一个.


body {
    font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
    color: #000;
    font-size: 14px;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    overflow-y: auto
}

好了,控件的样式实现就完成了.
大家可以根据需要再自行调整.

结语

现在我们的控件还不能滑动,只有一个基本的样式,但是也可以装个逼哒,下一节为大家讲解如何让控件滑动起来;敬请期待.


修改增加item高度200px.

Js双日历控件,在一个网页上同时显示两个日期选择器成了封装类,方便使用者调用。同时美化的相当不错。   包括了以下函数:   1、2012——2020年节假日信息(包括节假日前1~3天/后1~3天)   2、格式化数字,不足两位前面补0   3、将日期对象/日期字会串格式化为指定日期字符串   4、将日期字符串格式化为数字   5、获取目标元素针对于文档的位置   6、元素选择器   7、查找元素位置   8、判断目标元素是否包含指定的className      关于一些日历调用的参数说明:Calendar({    id: "#J_date_1", //触发显示日历元素ID    isPopup: !0, //弹出式日历    isPrevBtn: !0, //显示上月按钮    isNextBtn: !0, //显示下月按钮    isCloseBtn: !0, //显示关闭按钮    isHoliday: !0, //节假日特殊显示    isHolidayTips: !0, //显示节假日1~3天/后1~3天信息    isDateInfo: !0, //显示日期信息    isMessage: !0, //有日历提示信息    isCalStart: !0, //标记为开始时间    dateInfoClass: "date-info-start", //开始时间icon样式    range: {mindate: "2011-09-01", maxdate: "2020-12-31"},//限制范围(当天——2020-12-31)    count: 2, //日历个数    monthStep: 1, //切换上下月日历步长    onSelectDate: fnSelectDate, //选择日期回调方法    onClose: fnClose //关闭日历回调方法
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值