做一个组件库不难

其实vue/react等框架的出现, 让自己做一个ui变得简单, 大部分的js逻辑都被库封装, 反而组件的代码主要都是css, 所以只要css写好了, 一个组件就完成60%以上了.

为自己的职业未来造轮子

vue马上也快出3了, 现存的所有vue组件库都会重建, 这又是一个造轮子收集star的好时机, 如果你也想趁机造一个组件库, 那么开始吧:

最终效果

常规版本

常规版本

简化版

简化版

html

唐诗

唐诗,泛指创作于唐朝诗人的诗。唐诗是中华民族珍贵的文化遗产之一,是中华文化宝库中的一颗明珠,同时也对世界上许多民族和国家的文化发展产生了很大影响,对于后人研究唐代的政治、民情、风俗、文化等都有重要的参考意义和价值。

宋词

宋代盛行的一种中国文学体裁,宋词是一种相对于古体诗的新体诗歌之一,标志宋代文学的最高成就。宋词句子有长有短,便于歌唱。因是合乐的歌词,故又称曲子词、乐府、乐章、长短...

元曲

元曲,是盛行于元代的一种文艺形式,包括杂剧和散曲,有时专指杂剧。 杂剧,宋代以滑稽搞笑为特点的一种表演形式,元代发展成戏曲形式。每本以四折为主,在开头或折间另加楔子,每折用同宫调同韵的北曲套曲和宾白组成。如关汉卿的《窦娥冤...

scss

// 间距

$space: 4px;

// 单位圆角

$radius: 2px;

// 灰色

$gray-100: #f8f9fa !default;

$gray-300: #dee2e6 !default;

.a-collapse {

overflow: hidden;

border-radius: $radius*2;

border: 1px solid $gray-300;

&__item {

&:nth-of-type(n+2) {

border-top: 1px solid $gray-300;

}

&[open] {

>header {

border-bottom: 1px solid $gray-300;

>i.icon-arrow{

transform: rotate(90deg);

}

}

>article {

display: block;

}

}

>header {

background-color: $gray-100;

padding: 2*$space;

cursor: pointer;

>i.icon-arrow {

width: 1em;

height: 1em;

display: inline-block;

vertical-align: middle;

background-image: url('data:image/svg+xml;utf8,')

}

>p{

display: inline-block;

vertical-align: middle;

}

}

>article {

display: none;

padding: $space;

}

}

// 简化版本

&[simplify] {

border: none;

.a-collapse__item {

>header {

border: none;

background-color: transparent;

}

}

}

}

js

本文并不想讲js, 剩下的js工作就交给大家完成了:

给组件增加一个"手风琴"的选项, 就是只可以同时打开一个"页".

给每次点击header标签的时候, 触发"页"的合并和展开.

给"合并/展开"加个动画效果,提示这里需要js计算"页"高度, 才能实现和"饿了么ui中collapse组件"的"合并/展开"一样的动画.

嘿, 看是不是js的工作并不是很多!

html中collapse代码怎么写,面试题: 手写collapse(折叠组件)的css/html部分相关推荐

  1. all方法 手写promise_试题-手写实现一个 promise.all - 拿OFFER

    Promise.all的实现和原理 Promise.all 功能: Promise.all(iterable)返回一个新的Promise实例,此实例在iterable参数内素有的Promise都ful ...

  2. python手写代码面试_常见Python面试题—手写代码系列

    原标题:常见Python面试题-手写代码系列 1.如何反向迭代一个序列 #如果是一个list,最快的方法使用reverse tempList = [1,2,3,4] tempList.reverse( ...

  3. python手写代码面试_常见Python面试题 — 手写代码系列

    原标题:常见Python面试题 - 手写代码系列 作者: Peace & Love 来自:https://blog.csdn.net/u013205877/article/details/77 ...

  4. win7如何更改文件类型_如何在win10中使用云笔记软件来做pdf手写笔记或绘图? - 敬业签便签...

    Win10是现在很多职场办公人士和笔记本电脑用户所使用的操作系统,其界面更为简洁,功能也更为强大.和Windows之前所发布的经典Win7系统一样,在Win10系统电脑上也可以下载安装很多好用的工具软 ...

  5. vue 手写签名_手写Promise/Promise.all/Promise.race(手写系列一)

    背景 几个月没写文章了,愧对关注本专栏的小伙伴.最近有同学提议我出一个手写系列的文章对常见对前端工具.框架.设计模式做一个覆盖.同时有个要求:代码要尽量短小易懂,并且体现原理,让学习者学习过后能在未来 ...

  6. 手写一个动态代理实现,手写Proxy,手写ClassLoader,手写InvocationHandler

    整个过程中用到了手写类加载器, 手写动态生成java代码 手写编译代码 最后实现动态代理 手写Proxy示例代码: package com.example.demo.proxy.custom;impo ...

  7. arraylist下标从几开始_剖析JAVA面试题 手写ArrayList的实现,在笔试中过关斩将?...

    面试官Q1:可以手写一个ArrayList的简单实现吗? 我们都知道ArrayList是基于数组实现,如果让你实现JDK源码ArrayList中add().remove().get()方法,你知道如何 ...

  8. 银行java面试题手写代码_面试系列——手写代码实现(一)

    前言 本文是面试系列篇的实现篇.笔者整理了面试过程中可能会遇到的手写实现,以及它的原理.这可以帮助面试者在笔试环节获得良好的加分. 其他文章系列,欢迎关注我文末的公众号 正文 apply和call a ...

  9. 大数据高频面试题——手写HQL

    目录 8.3 手写HQL 8.3.1 手写HQL 第1题 8.3.2 手写HQL 第2题 8.3.3 手写HQL 第3题 8.3.4 手写HQL 第4题 8.3.5 手写HQL 第5题 8.3.6 手 ...

最新文章

  1. 阿里、京东、美团、滴滴的 Dubbo / JVM / Spring 面试题及答案(2)
  2. 网络故障排除工具 | 快速定位网络故障
  3. mac下nvm_Mac OS 使用 nvm 管理 node 与 npm 版本
  4. English最俗语法大全
  5. Python 第三方模块之 NumPy - 科学计算
  6. OpenCV中的图像插值示例
  7. Python学习笔记020——数据库基本操作
  8. cmd 卸载mysql_彻底卸载mysql
  9. h3c无线控制器常用命令(wx)
  10. DevExpress GridView 排序状态下新增行不参与排序
  11. 毕业论文排版(三)-自动生成目录
  12. apache 开启 网页压缩
  13. 服务器多开虚拟,个人服务器多开虚拟主机
  14. RFB Net 笔记
  15. 小儿秋季腹泻,巧用口服补液盐防脱水
  16. 黑马程序员—写给各位同学,并致黑马各位老师的一封感谢信~~~~绝对给力
  17. 蓝牙耳机品牌推荐:2023年口碑最好的蓝牙耳机品牌排行
  18. Html 内嵌 选择器属性 Dom操作 JavaScript 事件
  19. 如何迁移GitGitolite服务器
  20. [软考]之原码、反码、补码和移码

热门文章

  1. 2019DTCC大会分享:分布式数据库全局读一致性
  2. “大数据杀熟”成网络热词,科技公司信任危机到来?
  3. Puppet SaltStack Chef Ansible
  4. 谷歌发布全新TensorFlow库“tf.Transform” 简化机器学习数据预处理过程
  5. 移动支付批量制卡系统架构
  6. 介绍一下Druild,并从Twitter大数据团队分析如何应用 Druid 分析 ZB 级实时数据?
  7. 最快解决在win下杀死端口号的方式
  8. 当执行进程ctrl+c关闭不了的时候的解决方法
  9. java基础---二维数组方面的一些小编程
  10. leetcode 169. 多数元素(不同数相消解法)