z-index只能在position属性值为relative或absolute或fixed的元素上有效. z-index只决定同一父元素中的同级子元素的堆叠顺序. position:absolute 的包含块 外有overflow-hidden时,绝对定位元素也会被挡住…
包含块 什么是包含块?简单来说,就是决定一个元素大小和定位的元素.一个元素会为它的内部元素创建包含块,但也不能说元素的包含块就是它的父元素: 1.position:fixed 的元素 包含块是当前可视窗口 2.position:absolute 的元素 包含块是最近的 position属性为非static的祖先元素 3.静态定位和相对定位 的元素 包含块是最近的块级祖先元素 层叠上下文 跟BFC相似,是可以创建出来的(z-index: Number) 同一个层叠上下文中,层叠级别由低到高:边框和…
以下内容翻译自CSS 2.1官方文档.网址:https://www.w3.org/TR/CSS2/visudet.html#strut 有时,一个元素的盒子的位置和尺寸根据一个确定的矩形计算,这个确定的矩形叫这个元素的包含块.一个元素的包含块根据以下规则确定: 1.根元素所在的包含块叫初始包含块 initial containing block.对于连续媒体设备(continuous media),初始包含块的大小等于视口viewpor的大小,基点在画布的原点(视口左上角):对于分页媒体(pag…
写这篇文章的起因是源于这篇文章:谈谈面试与面试题 中关于position的讨论,文中一开始就说的这句话: 面试的时候问个css的position属性能刷掉一半的人这是啥情况…… 其实这问题我本来打算的是可以顺着一路扯到normal flow.containing block.bfc.margin collapse,base line,writing mode,bidi,这样一路问下去的,奈何第一个问题(亲我真的只问了position有哪些取值和行为啊)就悲剧了…… 说到position,那么稍微…
包含块简介 在 CSS2.1 中,很多框的定位和尺寸的计算,都取决于一个矩形的边界,这个矩形,被称作是包含块( containing block ). 一般来说,(元素)生成的框会扮演它子孙元素包含块的角色:我们称之为:一个(元素的)框为它的子孙节点建造了包含块.包含块是一个相对的概念. <div> <table> <tr> <td>hi</td> </tr> </table> </div> 以上代码为例,DI…
“包含块(containing block)”,W3c中一个很重要的概念,今天带大家一起来好好研究下. 初步理解 在 CSS2.1 中,很多框的定位和尺寸的计算,都取决于一个矩形的边界,这个矩形,被称作是包含块( containing block ). 一般来说,(元素)生成的框会扮演它子孙元素包含块的角色,我们称之为:一个(元素的)框为它的子孙节点建造了包含块.包含块是一个相对的概念. <div> <table> <tr> <td>hi</td>…
<css权威指南>P167: The Containing Block Every element is laid out with respect to its containing block; in a very real way, the containing block is the "layout context" for an element. CSS2.1 defines a series of rules for determining an elemen…
标准参考 元素的包含块 W3C CSS2.1 规范中规定,绝对定位元素的包含块(containing block),由离它最近的 position 特性值是 "absolute"."fixed"."relative" 之一的祖先元素组成:如果这个祖先元素不存在,则包含块由根元素组成. 绝对定位元素的定位 绝对定位元素的定位,依赖于其包含块.也就是说,当绝对定位元素的 "top"."left" 值被设置之后,…
平时在工作中,总是有一些元素之间的边距与设定的边距好像不一致的情况,一直没明白为什么,最近仔细研究了一下,发现里面有学问:垂直元素之间的margin有有互相重叠的情况:新建一个BFC后,会阻止元素与外界元素的重叠现象. 先了解几个概念:可替换元素.不可替换元素(non-replaced element).包含块(containing block).块级格式化上下文(BFC). 可参考css2.1 中文规范 1.可替换元素与不可替换元素 根据css1 中所述:所谓可替换元素就是浏览器根据元素的标签…
最近,在码代码的时候,就是下面的这段代码,我犯了一个很不起眼,但犯了就致命的BUG. <body> <p> <ol> <li>Hello</li> </ol> </p> <div>How are you?</div> </body> <script src="jquery-3.1.1.js"></script> <script> v…
continuous media ,paged media 关于continuous media[连续媒体]和paged media[分页媒体] 直白的讲,continuous和paged media是两种媒体组,什么意思呢?对于我们每天接触到得信息种类,早有人替我们进行归类了,例如:投影机代表的媒体类型就是投影,归入分页媒体组,而平常使用的电脑屏幕 ,是归于连续媒体组. 初始化包含块 1. 根元素的包含块是一个矩形,叫做初始化包含块 2. 对于 [连续媒体]就是,初始化包含块的 尺寸等于vie…
原汁原味的才是最有味道的,在阅读CSS标准时对这一点的体会更加深刻了,阅读文档后的一大感觉就是很多看上去理所应当的样式表现也都有了对应的支持机制.本文首先从包含块写起,一方面总结标准中相应的阐述,并且结合具体的实例进行具体分析,特别是对于CSS2.1支持并不完善的IE6/7.由于经验尚浅,文中肯定存在一些问题,希望大家可以多多包涵并且指出问题.   阅读本文前,应当对于CSS盒模型以及视觉格式化模型中会产生的各种框(box,也可以成为盒子)以及各种不同的布局方式有比较准确的认识,可以阅读杜瑶大神…
最近,在码代码的时候,就是下面的这段代码,我犯了一个很不起眼,但犯了就致命的BUG. <body> <p> <ol> <li>Hello</li> </ol> </p> <div>How are you?</div> </body> <script src="jquery-3.1.1.js"></script> <script> v…
问题的条件有: A元素是B元素的包含块. A元素设置overflow:hidden;,并同时设置了height和min-height,同时height计算值 < min-height 原生IE8浏览器,或者IE9浏览器的IE8兼容性模式(以下统称为IE8) 期待结果: 若B元素为absolute定位元素,A元素为relative定位元素,则B元素的包含块高度为A元素的padding-edge高度 若A.B元素均为常规流定位元素,则B元素的包含块高度为A元素的content-box高度 若A元素同…
之前在写<个人常用的水平居中方法>这篇文章的时候,百分比问题涉及到了包含块(containing block)这个概念. 今天刷面试题的时候,又看到了containing block这个词,之前计算百分比考虑了几种情况(如那些属性值根据哪个元素计算的),但不知道所谓的'哪个元素'就是包含块.系统的看了看MDN中的内容,感觉受益匪浅.大家可以移步去MDN看,我这篇仅仅是在原文基础上加了个小知识点--client相关值. 原文 MDN布局和包含块 一个元素的尺寸和位置经常受其包含块(contain…
1.初始包含块,浏览器viewport大小 2.非根元素,position:relative/static,包含块为最近的块级框,表格单元或行内祖先框的内容区 3.非根元素,position:absolute,包含块为最近的position不是static的祖先元素,没有的话就是初始包含块 - 若祖先为块级元素,包含块为祖先块从border的内边界以内的部分,即padding+context - 若为行内元素,根据文字方向确定.从左向右内容区左上角和右下角确定的框:从右向左为右上角和左下角确定的…
起因:在做项目时发现原本在DW中无误的代码到了MyEclipse6.0里面却提示N多错误,甚是诧异.于是究其原因,发现块级元素P内是不能嵌套DIV的. 深究:我们先来认识in-line内联元素和block-line块元素,因为HTML里几乎所有元素都属于内联元素或者块元素中的一种. in-line这个词有很多种解释:内嵌.内联.行内.线级等,但是,它们都是表示相同的意思,在这里我们选择习惯的叫法–内联. 先看下面的例子你就能明白两者的差别: <p>测试一下块元素与<span>内联元…
修改完nginx的配置文件之后,执行nginx -t命令提示"nginx: [warn] only the last index in "index" directive should be absolute in 6 " 相关代码段为: server { listen ; server_name www.web1.com; index index.jsp index.html index.htm access_log /export/servers/nginx/l…
a标签包含块级元素是不符合W3c标准的,但是淘宝也有这样的布局暂且认为可以这样(有时候布局需要这样写) 当a标签包含了div这样的块级元素时a标签是要转换成块级元素的使用display:block.但是a标签包含的div里如果还有a标签那么那么他就包含不住这里面的块级元素了,会出现只包含部分元素或者a标签里面没有内容或者块级元素在其外面当成同辈的元素.…
一.包含块 目的:确定元素的位置和相对大小(%) 1.正常文档流元素和浮动元素 ---- 父元素的 content-box 2.绝对定位元素 ---- 父元素的 padding-box 3.固定定位元素 ---- 视口 二.负外边距 document.documentElement.clientWidth; 视口宽度 window.onresize 监控视口改变 三.字体 字体简写: 当 line-height 书写在 font 属性上 ,会覆盖 line-height 的值 字体大小: 默认是…
前言 CSS视觉格式化这个词可能比较陌生,但说起盒模型可能就恍然大悟了.实际上,盒模型只是CSS视觉格式化的一部分.视觉格式化分为块级和行内两种处理方式.理解视觉格式化,可以确定得到的效果是应该显示的正确效果,还是浏览器兼容性的bug. 基本概念 [基本框] CSS假定每个元素都会生成一个或多个矩形框,这称为元素框. 各元素框中心有一个内容区(content area). 这个内容区周围有可选的内边距.边框和外边距. 可以用多种属性设置外边距.边框和内边距.内容的背景也会应用到内边距.外边距通常…
因标题框有限,题目未显示完整,以下再放一份: 定义一个复数(z=x+iy)类Complex,包含: 两个属性:实部x和虚部y 默认构造函数 Complex(),设置x=0,y=0 构造函数:Complex(int i,int j) 显示复数的方法:showComp()将其显示为如: 5+8i或5-8i 的形式. 求两个复数的和的方法:(参数是两个复数类对象,返回值是复数类对象)public Complex addComp(Complex C1,Complex C2) 求两个复数的差的方法:(参数…
CSS包含块原理解析 确定CSS中的包含块也确定就是元素的父元素.关键是:看元素是如何定位的.确定包含块很重要,比如设置百分比.另外也可以进行样式的继承等等. 分两个情况: 相对定位和静态定位 静态定位(默认)和相对定位的父元素都是最近的父元素. 绝对定位和固定定位 绝对定位和固定定位会脱离文档流,他们的包含块是距离它最近的定位祖先. 注意事项 浮动元素包含块就是最近的父元素,没有特殊意义.…
在做一个下拉框的动画效果中遇到了这个bug,记录一下. 在写下拉框的动画的时候,一般我们的做法都是把下拉框的外盒子设为overflow:hidden,然后设下外层盒子高度,之后通过js慢慢的改变高度从而达到动画效果. 那么有时候我们设overflow:hidden的时候可能会遇到这样的bug. 首先上一个正常的版本 但是呢,当我们给子元素设了absolute的时候,此时我们的overflow:hidden就不起作用了 此时需要给我们的父元素设上相应的定位才能使得hidden生效…
HTML  块外横向剧中    在HTML中有一个块外横向剧中的代码  那就是margin:0 auto  这个能是块内元素横向剧中 剧中前: 剧中后…
原文地址 背景 这几天开发的时候遇到了个问题,如图1. 写了个demo 由于页面并没有进行整体缩放,导致在小屏幕手机上显示会有异常.PM要求能够显示最后一个完整的标签. 当在iPhone5手机上查看页面的时候,由于设置了height以及overflow:hidden后面的标签被隐藏了.但是边框是用before伪元素实现的,并没有因为overflow:hidden 而一起隐藏(后面再探讨这种边框的不同实现方式). 搜索解决方式时一直关注的是overflow:hidden失效,而没有想过是因为使用了…
原来以为overflow:hidden能隐藏所有溢出的子元素,但今天发现我错了. 对于overflow:hidden的最大误解时:当一个具有高度和宽度中至少一项的容器应用了overflow:hidden时,其内部的任何溢出的内容都将被剪裁(隐藏). 同时满足以下条件就无效: 拥有overflow:hidden样式的块元素不具有position:relative相对 和position:absolute绝对 内部溢出的元素是通过position:absolute绝对 进行定位的 这里引用网上对ov…
http://www.ofcss.com/2011/03/20/misunderstood-of-overflow-hidden.html(转) 容易被误解的overflow:hidden 15条评论   为了页面的健壮性,我们常常需要使用overflow:hidden.有时候是为了防止布局被撑开,有时候是为了配合其它规则实现文字截断,还有时候纯粹是为了创建块级上下文.但是,很多人对这个属性是存在着一定的误解的,网上很多入门的资料或文章都只提到用overflow:hidden加固定的宽度(或高度…
overflow:hidden失效 为了页面的健壮性,我们常常需要使用overflow:hidden.有时候是为了防止布局被撑开,有时候是为了配合其它规则实现文字截断,还有时候纯粹是为了创建块级上下文.但是,很多人对这个属性是存在着一定的误解的. 网上很多入门的资料或文章都只提到用overflow:hidden加固定的宽度(或高度)可以强制隐藏内部的超出容器的内容.包括之前我们在使用overflow:hidden创建块级上下文的方式来实现图文混排时,都认为overflow:hidden造成了特殊…
一.上次内容回顾 1.CSS的三种引入方式: 行内式 内接式 外接式 链接式 导入式 2.基础选择器和高级选择器 1)标签选择器 p{} 2)  id选择器 #nva{} 3) 类选择器 .nva{} 4) 通配符选择器 *{} 5) 后代选择器 div .nav{} 6) 子代选择器 div>.nav{} 7) 并集选择器 div,ul,ol{} 8)   交集选择器:第一个是标签选择器,第二个是类选择器 3.补充选择器 9 )  属性选择器 label[for='user1']{} 10)…