css 层叠上下文和层叠顺序】的更多相关文章

by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu.com/wordpress/?p=5115 零.世间的道理都是想通的 在这个世界上,凡事都有个先后顺序,凡物都有个论资排辈.比方说食堂排队打饭,对吧,讲求先到先得,总不可能一拥而上.再比如说话语权,老婆的话永远是对的,领导的话永远是对的. 在CSS届,也是如此.只是,一般情况下,大家歌舞升平,看不出什么差异,即所谓的众生平等.但是,当发生冲突发生纠葛的时…
零.世间的道理都是想通的 在这个世界上,凡事都有个先后顺序,凡物都有个论资排辈.比方说食堂排队打饭,对吧,讲求先到先得,总不可能一拥而上.再比如说话语权,老婆的话永远是对的,领导的话永远是对的. 在CSS届,也是如此.只是,一般情况下,大家歌舞升平,看不出什么差异,即所谓的众生平等.但是,当发生冲突发生纠葛的时候,显然,是不可能做到完全等同的,先后顺序,身份差异就显现出来了.例如,杰克和罗斯,只能一人浮在木板上,此时,出现了冲突,结果大家都知道的.那对于CSS世界中的元素而言,所谓的“冲突”指什…
关于css的层叠上下文和层叠样式问题 最近在项目中遇到了一个让我欲仙欲死的问题,我给项目中的图片设置了一个淡入效果,几opacity变化,但当我在它的上面有一个定位元素时,动画结束后,定位元素居然被遮住了,百思不得解,谷歌了白天,才知道是层叠上下文.层叠顺序搞得鬼,所以这里把搜索的结果记下来,帮自己,也帮能够看到的盆友. 这里贴出一个解释很详细的地址,要是看了不太明白的,可以戳这里哦 首先层叠上下文是什么鬼呢? 层叠上下文,英文称作"stacking context". 是HTML中的…
http://www.zhangxinxu.com/wordpress/2016/01/understand-css-stacking-context-order-z-index/ 零.世间的道理都是想通的 在这个世界上,凡事都有个先后顺序,凡物都有个论资排辈.比方说食堂排队打饭,对吧,讲求先到先得,总不可能一拥而上.再比如说话语权,老婆的话永远是对的,领导的话永远是对的. 在CSS届,也是如此.只是,一般情况下,大家歌舞升平,看不出什么差异,即所谓的众生平等.但是,当发生冲突发生纠葛的时候,显…
一.什么是层叠上下文和层叠水平 层叠上下文和层叠水平有一点儿抽象.我们可以吧层叠上下问想象成一张桌子,如果有另一个桌子在他旁边,则代表了另一个层叠上下文. Stacking context 1由文件根元素构建,Stacking context 2和Stacking context 3是在Stacking context 1的层叠水平之上,并且也创建的自己的层叠上下文,里面有一个新的层叠水平. 我们所创建的每个网页都有一个默认的层叠上下文,层叠上下文的根(上面假设的桌子)就是HTML元素,所有其他…
层叠上下文是css中的一个三维概念,拥有层叠上下文的元素在z轴上比普通元素要高,而且其内部的所有内容是自成体系的,其后代都是在它的层叠顺序中 哪些元素拥有层叠上下文 1.根元素,也就是html默认拥有"根层叠上下文" 2.定位元素(position: absolute/relative/fixed)的z-index不为auto,而是有具体数值时 3.拥有某些css3属性的元素 z-index不为auto的 flex item opacity的值小于1的元素 transform不为non…
普通元素的层叠水平优先由层叠上下文决定,因此,层叠水平的比较只有在当前层叠上下文元素中才有意义. 诸位千万不要把层叠水平和CSS的z-index属性混为一谈.没错,某些情况下z-index确实可以影响层叠水平,但是,只限于定位元素以及flex盒子的孩子元素:而层叠水平所有的元素都存在. 什么是层叠顺序 border/background一般为装饰属性,而浮动和块状元素一般用作布局,而内联元素都是内容.网页中最重要的是什么?当然是内容了哈,对不对! 因此,一定要让内容的层叠顺序相当高,当发生层叠是…
大家在写网页的时候会不会经常遇到莫名奇妙的样式问题,比如谁覆盖了谁.也找不出原因,为什么z-index高的却没有覆盖掉z-index低的元素呢? 带着这些疑问.我做了个小实验.代码如下: <style> .father-green { width:500px; height:300px; background-color:green; } .son-red { width:200px; height:100px; background-color:red; display:inline-blo…
前言 最近,在项目中遇到一个关于CSS中元素z-index属性的问题,具体问题不太好描述,总结起来就是当给元素和父元素色设置position属性和z-index相关属性后,页面上渲染的元素层级结果和我预想的不一样.根据自己之前的理解,也没找到一个合理的解释.我知道,肯定是我对相关属性的细节理解存在问题,所以结合官方文档和在网上各种搜集整理,明白了其中的原因.写下这篇文章,和大家分享有关CSS中层叠上下文.层叠等级.层叠顺序以及z-index相关的一整套技术细节. 如果存在什么错误或重要遗漏或者有…
写在前面乱七八糟的前言: 此"八卦"的源于,在写下图这个圆滚滚的导航布局时,使用元素及其伪元素加上绝对定位完成,但遇到:before或:after伪元素与元素的层叠顺序,就是伪元素总是会跑到元素的上面,后面自行解决方案是给伪元素设置z-index:-1:而元素与元素父级不设置z-index,解决了伪元素与元素之间的层叠,但当hover元素时,元素变大使用了transform时,伪元素又顽强地跑到我的面前了,_(:з」∠)_生无可恋脸,由此想深入听听关于层叠顺序的"八卦&quo…
前言 在编写css样式代码的时候,我们经常会遇到z-index属性的使用,我们可能只了解z-index能够提高元素的层级,并不知道具体是怎么实现的.本文就来总结一个由z-index 引发的层叠上下文和层叠顺序相关知识点,有了这方面的了解,才能减少开发中遇到的bug,同时这也是面试中经常遇到的问题. 正文 1.z-index 属性 通常情况下,html 页面被认为是二维的,相当于只有 x 和 y 轴,因为文本.图像和其他元素被排列在页面上而不重叠.这种情况下只有一个渲染进程,所有元素都知道其他元素…
以下内容根据CSS规范翻译. z-index 'z-index'Value: auto | <integer> | inheritInitial: autoApplies to: positioned elementsInherited: noPercentages: N/AMedia: visualComputed value: as specified 注意:z-index属性只能应用于position属性不为static的元素,即定位元素. 对于定位元素来说,z-index属性指定: 在…
CSS的继承性 我们来看下面这样的代码,来引入继承性: 上方代码中,我们给div标签增加红色属性,却发现,div里的每一个子标签<p>也增加了红色属性.于是我们得到这样的结论: 有一些属性,当给自己设置的时候,自己的后代都继承上了,这个就是继承性. 继承性是从自己开始,直到最小的元素. 但是呢,如果再给上方的代码加一条属性: 上图中,我们给div加了一个border,但是发现只有div具备了border属性,而p标签却没有border属性.于是我们可以得出结论: 关于文字样式的,都具有继承性.…
一.HTML中的行级标签和块级标签 块级标签 常见的块级标签:div,p,h1-h6,ul,li,dl,dt,dd 1.独占一行,不和其他元素待在同一行2.能设置宽高3.如果不设置宽高,默认为body100%宽度 行级标签 常见的行级标签:a,span,strong,u,em 1.能和其他元素待在同一行2.不能设置宽高3.宽高 是内容的宽高 行内块标签 常见的行内块标签:img,input,textarea1.能和其他元素待在一行2.能设置宽高 span默认是不能设置宽高的,但是设置了displ…
CSS中的样式层叠机制Cascade 一.样式冲突   样式冲突是CSS渲染过程要解决的一个关键问题,样式冲突主要由两个原因造成: 元素包含了不同对象所赋予的样式:浏览器.用户.作者.其中,浏览器样式是指不对元素赋予样式时,元素所表现出来的样式,也就是浏览器赋予的元素默认样式:用户样式是指用户通过浏览器插件设定的样式,比如色弱者会对文字颜色进行修改:作者样式只是程序员所编写的CSS样式. 程序员经常会在CSS中对同一元素进行重复定义,这往往是因为程序员整体局部的样式编写习惯造成的,当然这是好的习…
一.问题描述 在一个fixed-data-table(一个React组件)制作的表格中,需要给表头的字段一个提示的特效,所以做了一个提示层 这个提示层被固定(拖动表格的水平滚动条时固定)的表格列遮住 无论设置该提示层的z-index为多大,都不能让其在固定表格列列之上 效果如下: 二.问题分析 通过对页面的DOM层级进行分析,把有可能影响层级的部分抽出来: 主要有以下几个部分会影响到元素的层级(关于设置了哪些属性会影响层级请看后面的附),下面逐一分析: A元素和B元素都有一个样式是positio…
新年刚开工就被一个bug虐得整个人都不好了,特地记录下. (一)bug描述 在一个fixed-data-table(一个React组件)制作的表格中,需要给表头的字段提示的特效,所以做了一个提示层,但是这个提示层被固定的表格列遮住了,并且无论设置该层的z-index为多大都不能让其在固定列之上,效果如下: (二)原因分析 通过对页面的html元素层级进行分析,把有可能影响层级的部分抽出来: 主要有这四部分会影响到元素的层级(关于设置了哪些属性会影响层级请看后面的附),下面逐一分析: A元素和B元…
css三大特效之层叠性…
CSS样式定义的优先级顺序总结 层叠优先级是: 浏览器缺省 < 外部样式表 < 内部样式表 < 内联样式 其中样式表又有: 类选择器 < 类派生选择器 < ID选择器 < ID派生选择器 派生选择器以前叫上下文选择器,所以完整的层叠优先级是: 浏览器缺省 < 外部样式表 < 外部样式表类选择器 < 外部样式表类派生选择器 < 外部样式表ID选择器 < 外部样式表ID派生选择器 < 内部样式表 < 内部样式表类选择器 < 内…
css样式 浏览器的读取顺序 例: tbody tr td{} 浏览器是先查找td,然后去找td tr,然后去找td tr tbody div p{}和div>p{}的区别 .div p{} 是会查找页面中所有符合条件的p标签.会耗损许多资源. .div>p{}是只会查找该div下的所有符合条件的p标签.比上面的这种方法会更好些.…
关于CSS的书写规范和顺序,是大部分前端er都必须要攻克的一门关卡,如果没有按照良好的CSS书写规范来写CSS代码,会影响代码的阅读体验.这里总结了一个CSS书写规范.CSS书写顺序供大家参考,这些是参考了国外一些文章以及我的个人经验总结出来,我想对写CSS的前端用户来说是值得学习的. CSS书写顺序 1.位置属性  (position, top, right, z-index, display, float等) 2.大小  (width, height, padding, margin) 3.…
继承CSS的某些样式是具有继承性的,那么什么是继承呢?继承是一种规则,它允许样式不仅应用于某个特定html标签元素,而且应用于其后代.比如下面代码:如某种颜色应用于p标签,这个颜色设置不仅应用p标签,还应用于p标签中的所有子元素文本,这里子元素为span标签.p{color:red;} <p>三年级时,我还是一个<span>胆小如鼠</span>的小女孩.</p>可见右侧结果窗口中p中的文本与span中的文本都设置为了红色.但注意有一些css样式是不具有继承…
标签:HTML+CSS 继承 CSS的某些样式是具有继承性的,那么什么是继承呢?继承是一种规则,它允许样式不仅应用于某个特定html标签元素,而且应用于其后代.比如下面代码:如某种颜色应用于p标签,这个颜色设置不仅应用p标签,还应用于p标签中的所有子元素文本,这里子元素为span标签. p{color:red;} <p>三年级时,我还是一个<span>胆小如鼠</span>的小女孩.</p> 可见右侧结果窗口中p中的文本与span中的文本都设置为了红色.但注…
1,继承  css的某些样式是具有继承性的,那么什么是继承呢?继承是一种规则,它允许样式不仅应用于某个特定html标签元素,而且应用于其后代. 但注意有一些css样式是不具有继承性的.如border:1px solid red; 2,特殊性  有的时候我们为同一个元素设置了不同的css样式代码,那么元素会启用哪一个css样式呢?浏览器是根据权值来判断使用哪种css样式的,哪个权值高的就使用那种css样式. 权值规则:标签的权值为1,类选择器的权值为10,ID选择器的权值为100. 例如: p{c…
代码 <html> <head> <title>层叠特性</title> <style type="text/css"> p{ color:green; } .red{ color:red; } .purple{ color:purple; } /*这里的顺序是关键*/ #line3{ color:blue; } </style> </head> <body> <p >这是第1行…
继承 CSS的某些样式是具有继承性的,那么什么是继承呢?继承是一种规则,它允许样式不仅应用于某个特定html标签元素,而且应用于其后代.比如下面代码:如某种颜色应用于p标签,这个颜色设置不仅应用p标签,还应用于p标签中的所有子元素文本,这里子元素为span标签. p{color:red;} <p>三年级时,我还是一个<span>胆小如鼠</span>的小女孩.</p> 可见右侧结果窗口中p中的文本与span中的文本都设置为了红色.但注意有一些css样式是不具…
CSS选择器及其继承特性.层叠特性1.基本选择器  标记  id  class  这个就不再作介绍了 2.复合选择器  交集 交集选择器由两个选择器直接连接构成,其结果是选中二者各自元素范围的交集 其中第一个必须是标记选择器,第二个必须是类别选择器或者ID选择器,须连续书写 如,div.class 并集 并集选择器的结果是同时选中各个基本选择器所选择的范围,任何形式的选择器(包括 标记.类选择器.ID选择器)都可作为并集选择器的一部分,它们之间用逗号相连 如,div,class,h3,#nav…
一.继承 <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>继承</title> <style type="text/css"> p{color:red;} </style> </head…
实际的工作中,当有多个选择器作用在一个元素上时,哪个规则最终会应用到元素上?其实这是通过层叠机制来控制的,这也和样式继承(元素从其父元素那里获得属性值)有关.样式的优先级就是这样的一个机制,它包括!important,专用性和源代码次序(CSS定义的位置及先后顺序). 1.1      重要性 在CSS中,有一个特别的语法可以让一条规则总是优先于其他规则:!important.把它加在属性值的后面可以使这条声明有无比强大的力量. 关于!important此处不详细介绍,它利弊同在,在工作中公共样…
CSS有两大特性:  继承性和层叠性 继承性 面向对象语言都会存在继承的概念 , 在面向对象语言中, 继承的特点:  继承了父类的属性和方法.  那么 css  就是在设置属性的 ,  不会牵扯到方法的层面. 继承 :  给父级设置一些属性 , 子级继承了父级的该属性 ,  这就是我们的css中的继承. 记住 :  有一些属性是可以继承下来 : color  ;   font-* ;  text- ;   line- ;       主要是文本级的标签元素. 盒模型的属性是不可以继承下来的 a…