html中collapse代码怎么写,面试题: 手写collapse(折叠组件)的css/html部分
做一个组件库不难
其实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部分相关推荐
- all方法 手写promise_试题-手写实现一个 promise.all - 拿OFFER
Promise.all的实现和原理 Promise.all 功能: Promise.all(iterable)返回一个新的Promise实例,此实例在iterable参数内素有的Promise都ful ...
- python手写代码面试_常见Python面试题—手写代码系列
原标题:常见Python面试题-手写代码系列 1.如何反向迭代一个序列 #如果是一个list,最快的方法使用reverse tempList = [1,2,3,4] tempList.reverse( ...
- python手写代码面试_常见Python面试题 — 手写代码系列
原标题:常见Python面试题 - 手写代码系列 作者: Peace & Love 来自:https://blog.csdn.net/u013205877/article/details/77 ...
- win7如何更改文件类型_如何在win10中使用云笔记软件来做pdf手写笔记或绘图? - 敬业签便签...
Win10是现在很多职场办公人士和笔记本电脑用户所使用的操作系统,其界面更为简洁,功能也更为强大.和Windows之前所发布的经典Win7系统一样,在Win10系统电脑上也可以下载安装很多好用的工具软 ...
- vue 手写签名_手写Promise/Promise.all/Promise.race(手写系列一)
背景 几个月没写文章了,愧对关注本专栏的小伙伴.最近有同学提议我出一个手写系列的文章对常见对前端工具.框架.设计模式做一个覆盖.同时有个要求:代码要尽量短小易懂,并且体现原理,让学习者学习过后能在未来 ...
- 手写一个动态代理实现,手写Proxy,手写ClassLoader,手写InvocationHandler
整个过程中用到了手写类加载器, 手写动态生成java代码 手写编译代码 最后实现动态代理 手写Proxy示例代码: package com.example.demo.proxy.custom;impo ...
- arraylist下标从几开始_剖析JAVA面试题 手写ArrayList的实现,在笔试中过关斩将?...
面试官Q1:可以手写一个ArrayList的简单实现吗? 我们都知道ArrayList是基于数组实现,如果让你实现JDK源码ArrayList中add().remove().get()方法,你知道如何 ...
- 银行java面试题手写代码_面试系列——手写代码实现(一)
前言 本文是面试系列篇的实现篇.笔者整理了面试过程中可能会遇到的手写实现,以及它的原理.这可以帮助面试者在笔试环节获得良好的加分. 其他文章系列,欢迎关注我文末的公众号 正文 apply和call a ...
- 大数据高频面试题——手写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 手 ...
最新文章
- 阿里、京东、美团、滴滴的 Dubbo / JVM / Spring 面试题及答案(2)
- 网络故障排除工具 | 快速定位网络故障
- mac下nvm_Mac OS 使用 nvm 管理 node 与 npm 版本
- English最俗语法大全
- Python 第三方模块之 NumPy - 科学计算
- OpenCV中的图像插值示例
- Python学习笔记020——数据库基本操作
- cmd 卸载mysql_彻底卸载mysql
- h3c无线控制器常用命令(wx)
- DevExpress GridView 排序状态下新增行不参与排序
- 毕业论文排版(三)-自动生成目录
- apache 开启 网页压缩
- 服务器多开虚拟,个人服务器多开虚拟主机
- RFB Net 笔记
- 小儿秋季腹泻,巧用口服补液盐防脱水
- 黑马程序员—写给各位同学,并致黑马各位老师的一封感谢信~~~~绝对给力
- 蓝牙耳机品牌推荐:2023年口碑最好的蓝牙耳机品牌排行
- Html 内嵌 选择器属性 Dom操作 JavaScript 事件
- 如何迁移GitGitolite服务器
- [软考]之原码、反码、补码和移码
热门文章
- 2019DTCC大会分享:分布式数据库全局读一致性
- “大数据杀熟”成网络热词,科技公司信任危机到来?
- Puppet SaltStack Chef Ansible
- 谷歌发布全新TensorFlow库“tf.Transform” 简化机器学习数据预处理过程
- 移动支付批量制卡系统架构
- 介绍一下Druild,并从Twitter大数据团队分析如何应用 Druid 分析 ZB 级实时数据?
- 最快解决在win下杀死端口号的方式
- 当执行进程ctrl+c关闭不了的时候的解决方法
- java基础---二维数组方面的一些小编程
- leetcode 169. 多数元素(不同数相消解法)