在没有引入权重的概念时,我们对css的优先级认识是这样的 !important>行内样式>ID>类/伪类|属性>标签 排在最前面的优先级越高。...,但这里没有比他更大的选择器了,所以正常显示红色,但经过权重叠加后 li{ /*0,0,0,1*/ color:red; } ul li { /*权重叠加之后 0,0,0,2*/...color:green; } 由图可见列表变成了绿色,这是因为权重叠加的问题 ul 的权重为 0,0,0,1 li 的权重为 0,0,0,1 两个叠加后:0,0,0,2 所以 ul li选择器优先于...好像跟我们猜想的不一样,按照优先级顺序不是应该显示红色吗?...这就验证了“继承的权重为0”这句话,当li继承nav发生了颜色改变,此时的nav权重为 0,0,1,0,但li的权重会变为0; 但我们中又给li单独设置了样式,此时 li的权重为 0,0,0,1 0,0
多个相邻按钮切换效果出现边框重叠问题的解决方法 下图所示的是一种常见的切换效果,在实现这种切换效果时,经常会遇到相邻按钮边框重叠的问题(查看demo),有没有好的解决方法呢?...所出现的边框重叠问题: 目前,很多优秀的UI组件库都有这种切换效果的组件,通过对他们实现方式的学习,现对边框重叠问题的解决方法做如下总结: 1、border-left + box-shadow 使用vue...,让所有按钮的border-left设置为0,并为第一个按钮单独设置border-left;对于处于激活状态的按钮,改变其border-color,此时激活状态的按钮由于左边框为0,产生颜色缺失,通过设置...box-shadow来解决激活状态按钮左边框颜色缺失,box-shadow在盒模型中不占据空间,因此该解决方法非常巧妙。...;对于处于激活状态按钮,通过改变其z-index值来将被后一个按钮覆盖的右边框显示出来; 核心代码如下: <div class="btn-item active
通过CSS的width属性和height属性可以设置盒子显示的宽度和高度,从而改变盒子的大小。....当距离等于外部容器的一半时就形成了一个原型 边框图像 使得边框可以引入图像,从而免去在某些情况下使用九宫格了。...中间的区域将不会被边框使用,但当设置有 fill 关键词时将会被作为 background-image。...内边距 内边距不能设置颜色 颜色与元素的背景颜色保持一致....该模型设置元素在HTML页面中所占区域为盒子的大小+外边距。. ? 外边距常见的问题 外边距重叠 外边距重叠的问题只出现在上外边距和下外边距中 左外边距和右外边距之间不存在外边距重叠 ?
, 值得注意的是当 background-attachment 属性为 fixed 时,该属性将被忽略不起作用。...语法参数: /* # 语法 */ background-blend-mode: ; /* 参数: 是一种 CSS 数据类型,用于描述当元素重叠时,颜色应当如何呈现...其效果类似于在透明薄膜上重叠印刷的两个图像。 screen: 最终的颜色是反转顶层颜色和底层颜色,将反转后的两个颜色相乘,再反转相加得到的和得到的结果。 黑色层不会造成变化,白色层导致白色最终层。...,当其值发生改变时触发对应事件 document.getElementById("select").onchange = function (event) { document.getElementById...温馨提示: 当 clip-path 属性不为 none 时,会创建新的层叠上下文,就像 CSS opacity 的值不为 1 时那样。
当没有设置宽高时,会根据其显示模式 display 来决定其默认宽高。...除了正常宽高外,还有其他一些可选项配置: min-width, min-height, max-width, max-height 借助这些配置,可以达到一些当窗口大小变化时,变化到一定程度改变原有元素的表现行为...颜色值是阴影的基本颜色(base color)。...有个方法可以解决,修改 box-sizing:border-box,让 width 就是盒子总宽度,当设置了边距时,会自动减少相应的内容区域。...这个属性其实就是用于当元素发生重叠时,决定由谁盖在上面,默认值为0,值越大,越上层。 而会发生元素重叠的现象也就只有使用了 position 调整了元素的位置,以及浮动元素两种场景。
问题 HTML文档中有三个div元素,每个div中存在一个span元素,三个span元素分别设置背景颜色为red,green,以及blue。...然后每个span都设置为position: absolute,三个span的位置稍微错开以便可以仔细观察它们之间的堆叠顺序。然后将第一个span元素的z-index设置为1,其他两个不设置。...当不包含z-index属性和position属性时,规则很简单,所有元素的叠放顺序与其所在HTML文档中出现的先后顺序一致。(当然使用负margin来重叠内联元素的特例除外。)...每个堆叠上下文有一个单一的根元素,当元素上形成一个新的堆叠上下文时,堆叠上下文中的所有子元素按照堆叠顺序被局限在一个固定的区域内。...span> //4 //3 //5 当添加属性opacity: 0.99后,第一个div形成了一个新的堆叠上下文
正是因为没有很好地了解负边距才是导致各种奇怪的问题。只有在被用来解决其他地方的bug的时候才是hack 它符合正常的文档流 当负边距使用在没有浮动的元素上时并不会破坏正常的文档流。...当一个static元素在top/left使用负边距时,它把元素向这个特定的方向拉,比如 /* Moves the element 10px upwards */#mydiv1 {margin-top:-...使用负边距会比使用相对定位好很多,因为你只需要给新的一列的第一个元素添加负边距即可。酷吧,哈哈哈 重叠来强调 ? 故意重叠元素也是一种很好地设计隐喻。重叠效果可以增强深度感从而为突出特定元素。...通过使用两个视图的两种颜色创建safari一样有点倾斜的效果。然后通过负边距来把其中一个叠加到另一个上面,保持1到2像素的偏移。这样你就可以二道可选的,机器友好的倾斜字体。...假如你把第十个div插入到9个其他的div中,不知道什么原因没有正确的排列,使用负边距来调整这个div就不需要改变其他9个div了,很方便。
这次实现的效果如下图: 抽奖.gif 所实现的功能是:当每次点击中间的抽奖按钮时,会随机选择一个盒子作为抽奖的结果。 那我们要如何实现抽奖的功能呢?...其实很简单,首先用html和css做出整体的框架,然后用js在中间按钮的onclick函数中设置定时器+随机改变某一盒子的背景颜色就可以了。...下面我们来讨论一下细节的方面: 设计整体框架时,我们需要为每个盒子设置边框,这时会发现边框会出现重叠问题,导致边框变厚,解决的方法是:设置margin-right和margin-bottom为负值(值等于边框值...随机改变是怎么做到的呢? 首先调用document.getElementsByTagName获取所有盒子,然后利用Math.random()*盒子的数目,获取某一盒子下标,改变其背景颜色。...而且在A中改变某一盒子背景颜色时,要将上一个被改变颜色的盒子还原为原来的颜色,我们需要记录上次被改变背景颜色的盒子。 具体见下面代码: <!
style属性来设置元素的样式 问题: 使用内联样式,样式只能对一个标签生效, 如果希望影响到多个元素必须在每一个元素中都复制一遍 并且当样式发生变化时,我们必须要个一个的修改, 非常的不方...用来描述一个元素所处的特殊状态。 例如: 第一个子元素 (由于前面可能会加新的子元素,所以第一个子元素是不定的不存在的);鼠标光标移入的元素。...会根据字体大小的改变而改变 rem rem是相对于根元素的字体大小来计算。...简写:margin可以同时设置四个方向的外边距,用法和padding一样,margin会影响到盒子实际占用空间。 垂直外边距的重叠(折叠): 相邻的垂直方向外边距会发生重叠现象。...兄弟元素之间的外边距的重叠,对于开发是有利的,所以我们不需要进行处理。
== visible 规则: 属于同一个 BFC 的两个相邻 Box 垂直排列 属于同一个 BFC 的两个相邻 Box 的 margin 会发生重叠 BFC 中子元素的 margin box 的左边,...,环绕于周围 应用: 阻止margin重叠 可以包含浮动元素 —— 清除内部浮动(清除浮动的原理是两个div都位于同一个 BFC 区域之中) 自适应两栏布局 可以阻止元素被浮动元素覆盖 20 为什么会出现浮动和什么时候需要清除浮动...div,通过改变此div的属性使两个盒子分属于两个不同的BFC,以此来阻止margin重叠*/ overflow: hidden; //此时已经触发了BFC属性。...何时使用padding: 需要在border内侧添加空白 空白处需要背景颜色 上下相连的两个盒子的空白,希望为两者之和。...等,当按百分比设定它们时,依据的也是父容器的宽度,而不是高度。
BFC 的布局规则 内部的盒子会在垂直方向,一个个地放置; 盒子垂直方向的距离由 margin 决定,属于同一个 BFC 的两个相邻盒子的上下 margin 会发生重叠; 每一个元素的左边,与包含块的左边相接触...反之也如此; 计算 BFC 的高度时,浮动元素也參与计算。 当一个元素设置了新的 BFC 后,就和这个元素外部的 BFC 没有关系了,这个元素只会去约束自己内部的子元素。...父子元素边距重叠 场景一:先来看这段代码,预计实现的结果应该是父容器距离页面顶部 100px,子容器距离父容器 100px 。...原因:根据规范,一个盒子如果没有添加 BFC,那么它的上边距应该和其文档流中的第一个子元素的上边距重叠。 解决: 通过给父容器添加 overflow: hidden 属性,使之成为 BFC 。...现象:发生了边距重叠,两个兄弟元素的上边距和下边距发生了重叠。 规则:正正取最大,负负取最负,正负就相加。 原因:块级元素的上外边距或下外边距有时(直接接触/相邻时)会合并为一个外边距。
只发生在垂直方向(margin-top/margin-bottom) margin重叠三种情况: 相邻的兄弟元素 父级和第一个/最后一个子元素 空的block元素(自己和自己重叠) demo 1: 1...> 兄弟元素的上下margin发生了重叠 2.父级和第一个/最后一个子元素 demo 1: <!...以上两个例子是比较常见的,没有设置宽高也会自动填充所在容器。 若刚才的两个例子,如果设置了width或heigth,自动填充特性就会被覆盖。...:-20px;后,改变了它的宽度,增大了20px,变为1220px。...2.第二种常见的无效是margin重叠,比如你设置了margin-top当发现没有效果,这就是margin重叠带来的影响。
何时使用padding: 需要在border内侧添加空白 空白处需要背景颜色 上下相连的两个盒子的空白,希望为两者之和。...等,当按百分比设定它们时,依据的也是父容器的宽度,而不是高度。...32、什么是外边距重叠?重叠的结果是什么? 外边距重叠就是 margin- collapse在CSS中,相邻的两个盒子(可能是兄弟关系也可能是祖先关系)的外边距可以结合成一个单独的外边距。...(1)当两个相邻的外边距都是正数时,折叠的结果是它们两者中较大的值 (2)当两个相邻的外边距都是负数时,折叠的结果是两者中绝对值较大的值。...(3)当两个外边距一正一负时,折叠的结果是两者相加的和。 33、CSS属性content有什么作用?有什么应用?
前言 这应该是第6篇关于我开发个人博客的文章了。这次主要谈一谈我在做开源项目展示遇到的问题。个人博客除了博文,我觉得开源项目也应该被展示出来。类似github,这样的界面。...目前这个属性支持两个值 backface-visibility:visible 默认值,背面朝向用户时可见。 backface-visibility:hidden 背面朝向用户时不可见。...rotateY(180deg); } 复制代码 当给绿色的div加上旋转180,此时绿色div已经是从背面观察的效果,文字也是翻转的效果。...创建容器 复制代码 因为翻转卡片,我这里内部使用了两个div,所以我直接设置.card{width,height},为了保证两个card可以重叠,设置...复制代码 保证两个可以重叠!!!
支持(an + b)的格式 目标伪类选择器: :target:当url指向该元素时生效。...当点击我的标签时生效 我的标签 1 2 3 4 5...当使用一个半径时确定一个圆形,当使用两个半径时确定一个椭圆。这个(椭)圆与边框的交集形成圆角效果。...relative:该关键字下,元素先放置在未添加定位时的位置,再在不改变页面布局的前提下调整元素位置(因此会在此元素未添加定位时所在位置留下空白)。...元素的位置在屏幕滚动时不会改变。
BFC) 非浮动元素不会覆盖浮动元素的位置(非浮动元素触发了BFC) margin不会传递给父级(父级触发BFC) 属于同一个BFC的两个相邻元素上下margin会重叠 普通文档流布局: 浮动的元素是不会被父级计算高度...非浮动元素会覆盖浮动元素的位置 margin会传递给父级元素 两个相邻元素上下的margin会重叠 开发中的应用 阻止margin重叠 可以包含浮动元素 —— 清除内部浮动(清除浮动的原理是两个 div...,对于HTML文档,就是HTML元素 E:nth-child(n) 匹配其父元素的第n个子元素,第一个编号为1 E:nth-last-child(n) 匹配其父元素的倒数第n个子元素,第一个编号为1 E...这样给面试你的人讲,讲明白应该不是问题., 重点就是要理解border的应用 6. 实现三栏布局有哪些方法, 分别描述一下 三栏布局,顾名思义就是两边固定,中间自适应。...DOM可控性区别 可以通过 JS 操作 DOM ,插入link标签来改变样式;由于DOM方法是基于文档的,无法使用@import的方式插入样式。
margin 重叠意味着,当一个有底部margin的标题后面跟着一个有顶部 margin 的段落时,它们之间就不会出现较大的空白。...当两个 margin 发生重叠时,它们将组合在一起,两个元素之间的空间取较大的一个。 较小的 margin 在较大的里面。...在以下情况下,margin 会重叠: 相邻的兄弟姐妹 完全空盒子 父元素和第一个或最后一个子元素 依次来看看这些场景。...除了下面提到的情况之外,如果有两个元素在正常流中依次显示,那么第一个元素的底部 margin 将与下面元素的顶部 margin 一起重叠。 在下面示例中,有三个div元素。...如果出于语义目的而对元素进行包装,但这些元素不显示在屏幕上,那么你可能不希望它们在显示中引入大的 margin。当web主要是文本时,这很有意义。
可能原因: 使用import方法导入样式表 将样式表放在页面底部 有几个样式表,放在html结构的不同位置 原理:当样式表晚于结构性html加载,当加载到此样式表时,页面将停止之前的渲染。...什么是外边距重叠 外边距重叠: margin-collapse 垂直相邻的两个盒子(可能是兄弟关系也可能是祖先关系)的外边距可以结合成一个单独的外边距。...50px;"> 以上代码运行后,我们讲得到的是红色边框的正方形,方框的宽高都应该是 100px,高度不应该是 150px。...原理:当设置了zoom的值之后,所设置的元素就会就会扩大或者缩小,高度宽度就会重新计算了,这里一旦改变zoom值时其实也会发生重新渲染,运用这个原理,也就解决了ie下子元素浮动时候父元素不随着自动扩大的问题...当一个元素在不同的浏览器中有不同的默认值时,normalize.css会力求让这些样式保持一致并尽可能与现代标准符合。
领取专属 10元无门槛券
手把手带您无忧上云