P和div同为块元素,为什么P不能做div的父元素? 执行结果: 可以在控制台看到这样一段信息: div像一条分割线一样,把无辜的 P标签 一分为二 是什么原因导致的呢?...W3C这样说:“ 如果你这样做,将会严重违反P的语义 ” 解决方法暂时没有 于是我找到了块级元素和内联元素的嵌套规则,如下: 最基本:内联不能嵌套块级,块级可以嵌套内联元素 ...块级并列) 正确(内联嵌套内联) 错误(内联嵌套块级) 有几个特殊的块级元素只能包含内嵌元素...,不能再包含块级元素 这几个特殊的标签是:h1、h2、h3、h4、h5、h6、p、dt。...所以说p里面不能嵌套div,就是我犯的错误。
这是为什么呢?...有些集合不允许在迭代时删除或添加元素,但是调用 Iterator 的remove() 方法是个安全的做法。 那么为什么用Iterator删除时是安全的的呢?...现在我们回到最初的问题,为什么用list直接删除元素迭代器会报错?...=modCount,也就是发现当前版本和迭代器记录的版本不一样,那么迭代过程中肯定就会有问题,这时,就会报出之前的异常。 那么,我们再来看下为什么用Itr删除时就可以安全的删除,不会报错呢?...还有一个有趣的点是: 有意思的是如果你的 Collection / Map 对象实际只有一个元素的时候, ConcurrentModificationException 异常并不会被抛出。
如果子元素设置了margin-top/bottom,且父元素没有触发hasLayout,那么子元素的margin就可能转移到父元素。...具体表现如下图(父元素虽然设置了background,但并不能覆盖子元素的margin部分;不过父元素高度足够时可以覆盖margin-bottom): ?
开始文章前,上两道面试真题: z-index值大的元素一定在值小的上面吗? 如何实现父元素覆盖子元素?...先公布一下答案:z-index不一定会生效,生效了也不一定是值大的在上面,主要取决于层叠上下文;给父元素设置一个很大的z-index不能实现覆盖子元素,但是把子元素的z-index设置成负数却可以满足要求...这两个题的考点都是层叠上下文,本文会讲清为什么。 顾名不难思义,层叠上下文是把元素以三维的视角,放在不同层级来判断最后的堆叠关系,它由z-index这个属性来决定“等级“。...如果是一个没有指定z-index(即为auto)的定位元素,那么虽然它不能形成一个层叠上下文,但是比较层级时,和z-index:0的等级是一样的。...要实现父元素覆盖子元素,去给父元素设置一个很大的z-index是没有用的。因为这样他就成为一个层叠上下文的根元素了,无论子元素被如何设置都会在这个层叠上下文根元素之上。
看着网友分享的零食图片,我头顶的灵感之光亮了。 正所谓,何以解忧,美食足矣。我准备给好友写一个零食盲盒的小游戏,能看不能吃的那种。 游戏名称 这次的游戏名我准备采用怀旧+直白的方式命名。...当设置边缘的颜色和外层父容器的背景颜色一致时,就会形成凹陷的效果。...,进行点击操作; 点击之后,将所有盒子的可点击性值变成不可点击; 获取0~5的随机数,确定最终获得的零食类型; 将盲盒的盖子打开,打开效果做了一个盖子移动的动画,最终盖子会消失; 盖子消失之后,零食会展示到盒子上方...transform-style还挺好用的。大部分时候,实现3D效果,在父元素上设置transform-style属性的值为preserve-3d,后面的就可以随意发挥了。...有时候学习并不困难,如何应用是关键,所以,想要熟练的掌握前端知识,还需要不断的练习和应用。
绝对定位元素也看不见绝对定位元素。所以下图2个box2发生了重叠 ? 绝对定位的定位对象是从它的父元素找是否有relative/fix/absolute。...如果父元素设置了relative/fix/absolute,那父元素就是绝对定位元素的定位点,如果父元素没有设置relative/fix/absolute,就继续往上找,直到body和html为止。...所以使用absolute绝对定位的时候,最好在父元素上设置相对定位relative。 ? 设置绝对定位之后,块级元素宽度会收缩,宽度由内容决定。行内元素可以设置宽高,内外边距。 ? ?...2、遇到的坑: (1)、父元素z-index值更高,无论其子元素的z-index值大小,都可以覆盖z-index值比父元素小的元素。 (2)、如果z-index的值为auto,不会构成叠层上下文。...(3)、父子关系的z-index 如何设置,不影响它和 box 的堆叠顺序。但我发现如果不设置父元素的z-index,然后再把子元素的z-index值设置为负数。父元素就会直接覆盖子元素。
不同的公司业务大相径庭,就算是同一个行业,也有不同规模,不同细分客户群,很难一概而论。有时候,看到竞品公司有哪些指标,虽然不知道有没有用,我们也急着“跟风”。 什么才是适合自己公司或部门的数据体系?...为了解决这个问题,引出第一条底层逻辑: 逻辑一:多维度视角 先要确定数据指标体系的目标受众,“他”看数据的视角和维度:职位侧重点在哪里,业务阶段是初期还是成熟期?...围绕着刚刚的元素问下去,似乎有“十万个为什么”,我们怎么知道这些元素”从哪里来“ ?...投诉的次数越多,复购的概率越低,复购量和投诉量是互斥关系。 这样,我们已经通过梳理业务考虑到很多节点的数据。说到用处,这些数据都有用,但是,全部都关注,看完一遍,都要花很多时间。...但有时候,同一个指标直接对比并不能说明问题, 例如,今年付费用户90个,去年付费用户80个,今年一看上去就是更好。 但是去年没有做推广,总用户只有100个,其中付费就有80个。
默认插槽 默认插槽是最简单和常见的一种插槽。它允许组件接收任何未命名的内容,并将其作为组件的子元素插入。...具名插槽可以像下面这样使用: 在父组件中使用 时,要为具名插槽传入内容,我们需要使用一个含 v-slot 指令的 元素,并将目标插槽的名字传给该指令:...下面代码在父组件指定了名称为“header”的插槽内容,在子组件中有相同名称的插槽,父组件插槽内容会覆盖子组件插槽内容。...父组件代码 如果在父组件中指定了插槽名,在子组件中有相同名称的插槽,父组件插槽内容会覆盖子组件插槽内容。...4、在父组件和子组件中都指定了名称,父组件中指定名称的插槽内容会覆盖子组件中相同名称的插槽内容。
Author:Mr.柳上原 付出不亚于任何的努力 愿我们所有的努力,都不会被生活辜负 不忘初心,方得始终 ‘ 男儿本应走四方,不遇温柔不回首 ’ 有时候,在一个城市里生活久了 就想要逃离 想要去一个陌生的城市重新开始...无关生存,也不为逃避 而是觉得没有留下来的理由和牵挂吧 毕竟生活中不会像电影《向左走向右走》那样 电影的最后终会相遇 而现实中 或许永远不会相见 陌生的城市,熟悉的角落 日复一日 日复又一日........{ /* 选择父元素中的第一个img元素 */ border:1px solid #CCC; } img:last-of-type{ /* 选择父元素中的最后一个img元素 */ border:1px...选择父元素中的第一个元素,并且必须是img元素 */ border:1px solid #CCC; } img:last-child{ /* 选择父元素中的倒数第一个元素,并且必须是img元素 */ border...(2){ /* 选择父元素中的第二个img元素 */ border:1px solid #CCC; } img:nth-last-of-type(2){ /* 选择父元素中的倒数第二个img元素 */
深度思考和持续复盘是人类进步的阶梯。 任何一门技术都博大精深,尤其是前端。最近还是要觉得需要复盘一些学习和工作中遇到的问题的,接下来就做一下复盘笔记。 1. 如何让滚动条不占位?...我们都知道当网页内容溢出出现滚动条时,滚动条会占据一定的空间,有时这种情况会影响我们对界面的整体设计,那我们该怎么办呢?...我们可以使用:overflow-y: overlayoverflow的值为overlay,它的行为与auto相同的,但是在溢出时出现滚动条的展示方式有区分,overlay是覆在内容上面,它是不占位的。...我们以前也许都知道fixed定位是相对于浏览器窗口进行定位的,所以不管我们将fixed元素放在哪里,它都不会改变自己的定位基准,但是直到最近工作中遇到了一个问题,才打破了我的认知——原来fixed在某些条件下可以基于父元素定位...这里重点摘出这句话:当元素祖先的 transform, perspective 或 filter 属性非 none 时,容器由视口改为该祖先。 各位切记。
一个页面我们平时看到的是平面的,我们感觉它就是一个水平面(二维)的东西。但是为什么元素互相之间覆盖,这就说明,它们在垂直方向上是有顺序的。...这就是为什么其他的没有层叠等级,因为 z-index 对它们无作用。层叠等级就是用来排资论辈的,等级高的在上面,等级低的在下面。但是,同一父级层叠上下文的层叠等级才有意义。...极易混淆易错点 子层叠上下文无法比父层叠上下文低 我们有时候会希望让子元素居于父元素下方,我们可能会立即想到给子元素设置一个比父元素更低的z-index,结果肯定得不到我们希望的效果。...它们是父子层叠关系,不是兄弟层叠上下文,所以不能通过 z-index 来比较它们的层叠等级。 那如何才能让子元素在父元素之下呢?让父元素不产生层叠上下文,并且让子元素 z-index 为负就可以了。...我们可以看到 .inner1 元素的 z-index 设置到了 9999 , .inner2 元素的 z-index 设置到了 0 ,但是后者就是覆盖了前者,为什么呢?为什么呢?
文章目录 一、清除浮动 - 父级元素设置 overflow 样式 二、父级元素设置 overflow 样式代码示例 三、overflow 属性样式效果 1、没有设置 overflow 的效果 2、overflow...- 父级元素设置 overflow 样式 语法 : 选择器 { /* 清除浮动 - 父级元素设置 overflow 样式 */ overflow: hidden; } overflow...样式可设置的属性值 : hidden auto scroll 父级元素设置 overflow 样式 清除浮动 的优缺点 : 优点 : 代码简单 缺点 : 无法显示 溢出 的元素 , 如果 子元素 很多..., 不能自动换行 , 部分子元素会被隐藏 ; 二、父级元素设置 overflow 样式代码示例 ---- 在 没有设置 height 高度 , 并且内部子元素都是 浮动子元素 的 父级容器 中 , 设置...250px; height: 250px; background-color: red; } /* 父容器 2 - 父容器 1 的兄弟元素 */ .father2 {
加之一直有回归基础的想法,所以想在业余时间复盘 java 的基础知识。知其然知其所以然是技术人的追求。 说到复盘基础,并不是所有的都会复盘,没那个时间更没那个必要。...比如,一些基础的语法以及条件语句,极度简单。这类是不需要复盘的。思前想后,我觉得整个计划应该从集合开始,而复盘的方式就是读源码。...这篇先简单介绍下集合的整体概览,之后会具体到集合里面每个实现类的源码解析。 1、Java 为什么要有集合? 首先,java 是一门面向对象语言,操作对象是我们的日常。...由上面的 Collection 接口框架图,我们可以知道 Collection 是 List、Set、Queue 的父接口,看到这里,你们可能会问,Map 哪去了?...中的所有元素都必须是指定枚举类型的枚举值,具体的这里先不做介绍,待我研究下用法以及场景,再专门介绍。
示例: 输入: S = "ADOBECODEBANC", T = "ABC" 输出: "BANC" 解决方案 题目要求要找到包含T中所有字符的的最小子串,这里的所有字符包括重复字符,也就是说若T中含有两个...‘a’,要求的S的子串中也至少含两个‘a’。...首先让right向右滑动,直到当前窗口中的元素可以覆盖T,然后left也向右滑动,直到不能覆盖T为止,滑动过程中存储最小的子串,如此直到right到达最后一个元素位置。...tCount.put(t.charAt(i), tCount.getOrDefault(t.charAt(i), 0) + 1); } // 最小覆盖子串的长度...int length = s.length() + 1; // 最小覆盖子串开始位置 int start = 0; // 最小覆盖子串结束位置
究其原因 为什么子组件的字体颜色不是黑色确是白色? ?...为什么同样.parent .component 和.child .component是父级覆盖子级? ?...将DOM和CSSOM合并为渲染树(rendering tree)将会被创建,代表一系列将被渲染的对象。 渲染树的每个元素包含的内容都是计算过的,它被称之为布局layout。...浏览器使用一种流式处理的方法,只需要一次绘制操作就可以布局所有的元素。 将渲染树的各个节点绘制到屏幕上,这一步被称为绘制painting。 ?...最后 文章首发于:为什么我的样式不起作用? 参考:浏览器渲染原理与过程 参考:CSS选择器从右向左的匹配规则 DEMO地址
无重复字符的最长子串 (medium) 方法1.滑动窗口 动画过大,点击查看 思路:滑动窗口不断向前,当前元素不在set中 就加入set 然后更新最大长度,i++继续下一轮循环,set中有重复元素不断让...j++ 并删除窗口之外的元素 直到滑动窗口内没有重复的元素 复杂度:时间复杂度O(n),n是字符串的长度。...= Math.max(maxLength, set.size); } else { //set中有重复元素不断让j++ 并删除窗口之外的元素 直到滑动窗口内没有重复的元素...最小覆盖子串 (hard) 方法1.滑动窗口 思路:用左右两个指针遍历s字符串,当滑动窗口中的字符不能覆盖t中的字符时,右指针右移,扩大窗口,把右边的字符加入滑动窗口,当滑动窗口中的字符能覆盖t中的字符时...,不断左移左指针,缩小窗口,直到窗口中的字符刚好能覆盖t中的字符,这个时候在左移就不能覆盖t中的字符了,在指针移动的过程中,不断更新最小覆盖子串 复杂度:时间复杂度o(n),n是s的长度,空间复杂度o(
,那么就使得当前组件内的样式只作用域当前组件内的元素。...hash 值,又会加上父级组件的 hash 值。...4、问题 在使用 scoped 的时候,会发现一个问题,就是我们在当前组件内使用了 scoped 后,我们同时想去改变子组件的样式。这种情况下,我们发现子组件的样式不会改变。...5、原因 样式的 hash 值,取到了父组件的 hash 值,而子组件的标签上是子组件的 hash 值,css 和 标签上的 hash 值对不上 6、deep 1、父组件不加 scoped 属性,写一个...style 去覆盖子组件的样式 2、使用 /deep/ 属性放到 css 样式前面,解析的时候,会将 /deep/ 替换成对应组件的 hash 值
本章主要介绍三种常用的清除浮动的方法,主要包括: ---- [1] 增加一个空 div, 使用 clear:both 将浮动元素 "挤到" 父元素中 [2] 在父元素里增加 overflow: hidden...如果父元素不设置高度,并且没有使用清除浮动,浮动的子元素就无法填入到父元素中,造成父元素高度塌陷。高度的塌陷使我们页面后面的布局不能正常显示。 的,其他代码无非都是为了隐藏掉content生成的内容,这也就是其他版本的闭合浮动为什么会有font-size:0, line-height:0。...-- 缺点: 添加一个额外的 div 标签 --> 方法1: 增加一个空 div, 将浮动元素 "挤到" 父元素中 父元素的部分, 有时候这并不是预期的效果 --> Left2 Right2<
为什么要引入二叉堆的调整算法来构造堆?相对于插入法构造堆,为什么更优? 为什么不论是调整法还是插入法来构造堆,都是自底向上进行遍历,而不是自顶向下? 采用调整法来构造堆,为什么时间复杂度是O(N)?...除了上图这种一般情况外,还有下图这种满二叉树的情况。不同的情况,“尾部”位置并不是固定的,有时在靠近树的右边,有时在靠近树的左边。 ?...: 数组第n号元素所代表的节点,它的父节点是数组的第floor_round(n/2)号元素。...下面我们换个角度、“一题多解”,看看能不能直接用动态规划来推出非递归算法。...可以看出: (1)整个轨迹分为两个维度——垂直维度和水平维度。 垂直维度:方向向上。紫色箭头表示向上调整到父节点一层; 水平维度:方向向左。紫色箭头表示向左调整到相邻的兄弟节点。
set 顾明思义,就是个集合,集合的元素是唯一的,无序的。...一个{ }里面放一些元素就构成了一个集合,set里面可以是多种数据类型(但不能是列表,集合,字典,可以是元组) 集 合 是 一 个 无 序 不 重 复 元素 的 集 。...基 本 功 能 包 括 关 系 测 试 和 消 除 重 复 元 素 。...(n2,n3) print(n) #输出:{5} #返回A集合里面,在B和C集合中没有的元素,并生成新的集合 difference_update(删除A集合里面,在B集合中存在的元素...# 输出:True #B是A的父集 pop(随机移除一个元素) 1 2 3 4 5 n = set([2,3,4,5]) n1 = n.pop() print
领取专属 10元无门槛券
手把手带您无忧上云