首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

前端移动web-day05学习笔记

//v3.bootcss.com/components/ 组件:由多个html元素组成一个独立小功能 例如:下拉菜单组件 由 div + button + ul + li元素组成 例如:进度条组件...由 div + span元素组成 bootstrap栅格系统:https://v3.bootcss.com/css/#grid boostrap核心技术(实现响应式布局核心技术) 屏幕以表格形式划分为不同区域...(相当于html页面的子盒子模型,相当于table中tr) 4.png 3.栅格样式核心原理 a.版心容器(container是响应式版心,container-fluid是流式版心) 他们两者唯一区别是...,尺寸比例):bootstrap水平方向分为12份,每一份表示row宽度 1/12 ==col列需要写在行row标签中,每一行栅格整体宽度占据12份,大于12份就会换行== 示例:(详细效果请参考下图与真实代码演示...container bootstrap中有两种版心容器可供使用者选择 container:响应式版心容器 默认样式: 没有高度、边框、颜色 左右15pxpadding 宽度是响应式 屏幕宽度 < 768

2.9K20

一个简洁、有趣无限下拉方案

监测用户滚动行为是否到达了目标位置来实现一些交互逻辑(比如视频元素动到隐藏位置时暂停播放)。...但此时,对比上面这个粗暴方案,我们方案是:这 10个新数据元素,我们用原来已有的 DOM 元素去渲染,替换掉已经离开视窗、不可见数据元素;而本该由更多 DOM 元素进一步撑开容器高度部分,我们用...获取滚动距离,然后: 设置父元素 translate 来实现整体内容(下移); 再基于这个滚动距离进行相应计算,得知相应子元素已经被滚动到视窗外,并且判断是否应该这些离开视窗元素动到末尾...这就像是一个循环队列一样,随着滚动进行,顶部元素先出视窗,但又将移动到末尾,从而实现无限下拉。...思路 2、滚动到目标位置,阻塞容器 padding 设置(即无限下拉发生)直至数据请求完毕,用 loading gif 提示用户加载状态,但这个方案相对复杂,你需要全面考虑用户难以预测滚动行为来设置容器

1.9K20
您找到你想要的搜索结果了吗?
是的
没有找到

【基础算法】递归算法

提示:可将圆盘临时置于 B 杆,也可将从 A 杆移出圆盘重新回 A 杆,但都必须遵循上述两条规则。 问:如何?最少要移动多少次? ---- 题目分析 梵塔问题只能用递归算法来解决。...我们可以考虑移动步骤: A针上N-1个圆盘借助C针移动到B针上。 A底部圆盘移到C针上。 B针上N-1个圆盘借助A针移动到C针上。...问题1解决步骤如下: A针上N-1-1个圆盘借助B针移动到C针上。 A底部倒数第二个圆盘移到C针上。 C针上N-1-1个圆盘借助A针移动到B针上。...问题2解决步骤如下: B针上N-1-1个圆盘借助C针移动到A针上。 B底部倒数第二个圆盘移到C针上。 A针上N-1-1个圆盘借助B针移动到C针上。...按照之前分析步骤,先将A针上N-1个圆盘借助C针移动到B针上,然后A底部圆盘移到C针上,最后B针上N-1个圆盘借助A针移动到C针上。

32510

数据结构与算法——2-3树

img 向一个父节点为 2- 节点 3- 节点中插入新节点 操作步骤:先构造一个临时 4- 节点并将其分解,分解时中键移动到父节点中(中键移动后,其父节点中位置由键大小确定) 图解: ?...img 向一个父节点为3-节点3-节点中插入新节点 操作步骤:插入节点后一直向上分解构造临时4-节点并将中键移动到更高层双亲节点,直到遇到一个-2节点并将其替换为一个不需要继续分解3-节点,或是到达树根...img 分解根节点 操作步骤:如果从插入节点到根节点路径上全是3-节点(包含根节点在内),根节点将最终被替换为一个临时4-节点,临时4-节点分解为3个2-节点,分解后树高会增加1。...主要分为四种情形: 删除节点为2-节点,父节点为2-节点,兄弟节点为3-节点 操作步骤:当前待删除节点父节点是2-节点、兄弟节点是3-节点,父节点移动到当前待删除节点位置,再将兄弟节点中最接近当前位置...img 2-3树为满二叉树,删除叶子节点 操作步骤:若2-3树是一颗满二叉树,2-3树层树减少,并将当前删除节点兄弟节点合并到父节点中,同时父节点所有兄弟节点合并到父节点父节点中,如果生成了4

64610

三分钟基础知识:什么是 2-3 树?

img 向一个父节点为 2- 节点 3- 节点中插入新节点 操作步骤:先构造一个临时 4- 节点并将其分解,分解时中键移动到父节点中(中键移动后,其父节点中位置由键大小确定) 图解: ?...img 向一个父节点为3-节点3-节点中插入新节点 操作步骤:插入节点后一直向上分解构造临时4-节点并将中键移动到更高层双亲节点,直到遇到一个-2节点并将其替换为一个不需要继续分解3-节点,或是到达树根...img 分解根节点 操作步骤:如果从插入节点到根节点路径上全是3-节点(包含根节点在内),根节点将最终被替换为一个临时4-节点,临时4-节点分解为3个2-节点,分解后树高会增加1。...主要分为四种情形: 删除节点为2-节点,父节点为2-节点,兄弟节点为3-节点 操作步骤:当前待删除节点父节点是2-节点、兄弟节点是3-节点,父节点移动到当前待删除节点位置,再将兄弟节点中最接近当前位置...img 2-3树为满二叉树,删除叶子节点 操作步骤:若2-3树是一颗满二叉树,2-3树层树减少,并将当前删除节点兄弟节点合并到父节点中,同时父节点所有兄弟节点合并到父节点父节点中,如果生成了4

63020

Java中集合(最全干货精美装)

队列是一种特殊线性表,是运算受到限制一种线性表,只允许在表 一端进行插入,而在另一端进行删除元素线性表。队尾(rear)是允许插入一端。队头(front)是 允许删除一端。...数组: 数组是在内存中开辟一段连续空间, 指定索引位置增加元素:需要创建一个新数组,指定新元素存储在指定索引位置,再把原 数组元素根据索引,复制到新数组对应索引位置。...---------------- 集合和数组既然都是容器,它们有啥区别呢?...public void addFirst(E e) :指定元素插入此列表开头 。 public void addLast(E e) :指定元素添加到此列表结尾 。...public E next() :返回迭代下一个元素 同时指针下移。 public E previous() :返回迭代上一个元素 同时指针上

80820

栈和队列(适配器模式模拟)

stack是作为容器适配器被实现容器适配器即是对特定类封装作为其底层容器,并提供一组特定成员函数来访问其元素特定类作为其底层元素特定容器尾部(即栈顶)被压入和弹出。...queue介绍 queue文档介绍 队列是一种容器适配器,专门用于在FIFO上下文(先进先出)中操作,其中从容器一端插入元素另一端提取元素。...队列作为容器适配器实现,容器适配器即将特定容器类封装作为其底层容器类,queue提供一组特定成员函数来访问其元素元素从队尾入队列,从队头出队列。...、经过分类编目的、代码设计经验总结),该种模式是一个类接口转换成客户希望另外一个接口。...,默认使用 std::vector 作为容器类型。

6510

计算机位移指令作用,循环移位指令有什么作用?

循环移位是环形,即被移出来返回到另一端空出来位(见图4-18)。 带进位右、左循环移位指令各位数据与进位位一起(16位指令时一共17位)向右(或向左)循环移动n位。...TO用来产生周期为1s移位脉冲序列,下面是实现上述要求程序: (2) 10位彩灯循环左移 要求用S7-200oo.o – oi.1来控制10位彩灯循环左移,即从Q1.1移出位要人oo.o。...(3)循环投切 假设用S7-200QO.O – Q0.7来控制自动无功补偿装置投切电容器8个交流接触器。为了使各交流接触器均衡使用,一般采用循环投切工作方式,即先投入容器被先切除。...如果需要切除电容器移位前后两个字节值相“与”,由表4-3可知,“与”运算后仅Q0.3和Q0.4为l,Q0.2被切除。...如果需要投入电容器移位前后两个字节值相“或”,由表4-3可知,“或”运算后Q0.2-oo.s为1,所以投入Q0.5。

80420

第124天:移动web端-Bootstrap轮播图插件使用

Bootstrap JS插件使用 > 对于BootstrapJS插件,我们只需要将文档实例中代码粘到我们自己代码中 > 然后作出相应样式调整 Bootstrap中轮播图插件叫作Carousel...bootstrap.js会自动为当前元素添加图片轮播特效 5 --> 6 ...1、由于轮播图片超宽造成影响   - 美工为了在不同屏幕下更好地展示图片两边做非常宽,但是我们大多数情况页面宽度都无法满足这样图片宽度   - 而且Bootstrap样式中默认图片max-width...: center center;   (2)使img元素绝对定位,left:50%,margin-left: -width/2 2、background使用   - 容器高度固定(410px...  + 移动端应该使用更小(体积)图片 (2)实现方式     + 元素中直接设置图片背景删除,换成两个data-属性(如:data-img-sm="小图路径",data-img-lg=

6.2K40

重学数据结构(三、队列)

1、队列定义和特点 和上一篇栈相反,队列(queue)是一种先进先出(First In First Out, FIFO)线性表。 它只允许在表一端进行插入,而在另一端删除元素。...这和日常生活中排队是一致,最早进入队列元素最早离开。 ? 在队列中,允许插入一端称为队尾(rear), 允许 删除一端则称为队头(front)。出队列和入队列示意图如下: ?...因为如果队首指向0,那么出队时候需要将数组前,时间复杂度为O(n)。使用了队头和队尾标记之后,出队时队头往后移动一位,这样避免了元素移动。...System.arraycopy(data,0,newData,0,size); data=newData; }else{ //假队满:前元素...入队是队尾指向插入元素,出队是队头指向队头下一个元素

32710

为什么CSS Grid在创建布局上比Bootstrap更好

现在我来一一解释一下为什么认为CSS Grid优于Bootstrap三个理由: 元素会更简单 用CSS Grid替代Bootstrap能让HTML代码更干净。...,标签会变得更糟糕: CSS Grid 现在我们来看看CSS Grid做法: 我可以在这里使用语义元素,但我选择坚持使用div以便和Bootstrap比较 我们可以明显发现,这里元素Bootstrap...每一行里难看类和不需要div标签都被移除了。现在它就是一个网格和其他内容容器。 与Bootstrap不同是,随着布局复杂度增加,这种元素复杂度将不会增加太多。...CSS Grid让HTML展现出应该展现东西——内容元素。而视觉效果是属于CSSBootstrap 如果我们想在Bootstrap中做同样事情,就必须改写HTML。...换句话说,因为已经内容与视觉效果分开了,所以所有的访问者都看到内容,但是支持CSS Grid浏览器会通过更好布局来提升用户体验。

2.2K60

三个基础排序方式

2.如果前面的元素大于后面的元素,交换两个元素位置。 3.反之则不交换。 4.循环后移,每次最大元素动到最后一个。...2.依次遍历后面的元素,如果发现比当前最大值大,则将最大值换为此元素,位置改为此元素位置。 3.直到遍历结束,最大值元素与最右边元素交换。 4.重复循环,直到排序完成。...2.临时元素与数组后面的元素进行比较,如果后面的元素小于临时元素,后面的元素。 3.如果后面的元素大于临时元素,或者已经移动到数组末尾,则将临时元素插入当前空隙中。...while(j<=array.length-1){ if (array[j] < ls) { //元素,因为临时元素已经提出来了,可以直接前而不是交换...选择排序与插入排序运用因情况而定,如果元素数组本身有很多处于正确位置元素,那么插入排序使用效率相对优秀,反之则用选择排序。

50430

剑指Offer题解 - Day02

然后辅助栈元素依次弹出并存入数组后返回。 /** * Definition for singly-linked list....(stack.length) { result.push(stack.pop()) // 依次辅助栈内元素弹出并存入结果数组中 } return result; //...总结 暴力法和辅助栈法区别是一个使用数组 API 进行元素倒置,一个使用辅助栈进行元素倒置。面试中应该尽量使用辅助栈思路进行题解,暴力法不能体现出栈特点。 「剑指 Offer 24....示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 限制: 0 <= 节点个数 <= 5000 思路: 翻转链表是一个很经典算法题,首先考虑使用遍历链表...指针存储,方便cur指针 cur.next = pre; // 当前节点next指针指向前面的节点 pre = cur; // 前面的节点后移一位到当前节点

21810

【日拱一卒】链表——两个有序链表合并

示例: 输入:1->3->5->7->9, 0->2->4->6->8 输出:0->1->2->3->4->5->6->7->8->9 思路 抓住需求关键信息——"两个升序链表" 说明两个链表都是有序...,也就是两个有序链表重新合并成一个整体有序链表。...思路就是挨个比较两个链表中元素,谁更小就先取谁,然后记得指针移到下一个节点,直到遍历完两个链表。...这里有一个问题:如果直接使用result,第一个元素指向l1.Val后,需要移动到下一个节点来保存下一个节点值,那这个result指针就是一直在变,直到两个链表遍历完成。...节点赋值给cur指针,同时cur指针移动到下一个节点 4、重复以上,遍历完两个链表 ? 此时cur指针指向节点9。l1和l2都指向尾结点。

42520

谈一谈缓存

适用场景:优先保障最新数据可用 # 实现 # 每次插入链表,插入链表一端(头部),当超过长度时,另一端(尾部)清除掉; #LinkedHashMap实现 # 构造 accessOrder 为false...,表示每次访问元素时,不将被访问元素动到tail位置 public class FifoCache extends LinkedHashMap { // 容量...,另一端(尾部)清除掉; #当访问元素时,需要将被访问元素动到头部,保证最近访问元素始终处在不被淘汰位置,而最久未被使用元素则会被淘汰; # LinkedHashMap实现 # 构造 accessOrder...为true,表示每次访问元素时,将被访问元素动到tail位置 public class LRUCache extends LinkedHashMap { private...,原来不存在才涉及到 移除元素,否则修改原容器元素 Node deadNode = removeNode(); cache.remove

40320

【栈与队列】栈与队列相互转换OJ题

栈与队列相互转化 1 栈与队列 1.1 栈 栈:一种特殊线性表,其只允许在固定一端进行插入和删除元素操作。进行数据插入和删除操作一端称为栈顶,另一端称为栈底。...栈中数据元素遵守后进先出LIFO(Last In First Out)原则。 压栈:栈插入操作叫做进栈/压栈/入栈,入数据在栈顶。 出栈:栈删除操作叫做出栈。出数据也在栈顶。...1.2 队列 队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作特殊线性表,队列具有先进先出FIFO(First In First Out) 原则 入队列:进行插入操作一端称为队尾 出队列...栈像一个容器来装物品,队列像排队买饭。这两个事情看起来毫不相干,那么如何实现栈与队列相互转换呢。下面我们来看两道OJ题,来进行具体解决。...n-1个元素动到空队列,这里移动不是节点移动,而是值赋给空队列。

11810

【C++】stack和queue

stack是作为容器适配器被实现容器适配器即是对特定类封装作为其底层容器,并提供一组特定成员函数来访问其元素特定类作为其底层元素特定容器尾部(即栈顶)被压入和弹出。...2.1 queue介绍 队列是一种容器适配器,专门用于在FIFO上下文(先进先出)中操作,其中从容器一端插入元素另一端提取元素。...队列作为容器适配器实现,容器适配器即将特定容器类封装作为其底层容器类queue提供一组特定成员函数来访问其元素元素从队尾入队列,从队头出队列。...容器适配器 3.1 概念 配器是一种设计模式(设计模式是一套被反复使用、多数人知晓、经过分类编目的、代码设计经验总结),该种模式是一个类接口转换成客户希望另外一个接口 3.2 STL标准库中...但是,deque有一个致命缺陷:不适合遍历,因为在遍历时,deque迭代器要频繁去检测其是否移动到某段小空间边界,导致效率低下,而序列式场景中,可能需要经常遍历,因此在实际中,需要线性结构时,大多数情况下优先考虑

8310

一文搞定各类前端常见布局方式

图片3.3 float + overflow左列同样使用 float,右侧不用 margin-left,而用 overflow: hidden; 开启 BFC 模式,元素内部环境与外界完全隔离。...4.2 圣杯布局:添加父节点+开启定位处理覆盖【step1】全部浮动 left、center、right 全部浮动,并使用 margin parent 左右预留出左右列宽度,效果如下图所示图片<...margin-left 为 -100%,实现 left 从当前行移动到上一行,如下图所示:#left { /* 从当前行上一行 */ margin-left: -100%;}图片此时只能借助 position...等分布局(栅格布局)等分布局指一行被分成若干宽度相等列。比如 bootstrap 会将一行分为 12 列。...针对第一列左侧多余空白间距,可以在容器 parent 上设置 margin-left。

1K30

我对一道常考面试题详细分析

移动零 题目 给定一个数组 nums,编写一个函数所有 0 移动到数组末尾,同时保持非零元素相对顺序。...观察 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 整个过程就是0元素不断后移,非零元素不断前过程,所以算法每步操作目标便是:逐渐达成这个分布规律。 怎样优化操作?...假设两个指针slow和fast分别指向连续零区间第一个0,最后一个0后一个位置,如下图所示: ? 那么,fast-slow 正是索引从0~fast区间范围内0元素个数。...fast指向下一个元素: ? 若打问号元素为0,根据每步操作目标是非零元素,零元素后移。所以迭代到此处时它已经为0元素,所以至少肯定不用前,那么就保持原地不动。...若打问号元素取值非0,根据每步操作目标是非零元素,零元素后移。因为slow~fast这块都为0,所以为了目标,非零元素要和第一个0交换,这样不就实现非零元素,零元素后移目标了吗 ?

74310
领券