CSS权威指南 - 浮动和定位

定位

定位的想法很简单元素框相对于正常位置出现在哪里。

定位:static,相对, 绝对, fixed, 继承

static就是默认的位置

相对就是相对于默认位置的偏移。原来的static定位位置依然占着。

绝对定位相对于包含块(非static的)的偏移。完全脱离文档流,原来的位置就没了。

fix相对于viewport视窗的偏移。

包含块

根元素是初始包含块,有的浏览器是html元素,有的为body。

非根元素,position为相对或者默认位置,包含块是最近祖先级的块级框、表格单元、行内块。

非根,position为绝对,包含块为最近的非static的祖先元素。

如果是块级,包含块的边界是包含块的内边界。

如果是行内,包含块是行框的边界。

如果没有祖先,包含块是初始包含块。

包含块(containing box)其实就是定位上下文。理解成给position定位的参考环境。

偏移属性

有了参考环境,在二维上,上下左右的偏移多少呢?

这个属性的值,可以为长度、百分比、auto、inherit

值可以为负数,就是反方向的偏移。

长度好理解,百分比即为包含块的值的百分比。比如top/bottom 10% 就是包含块高的百分之10,如果left/right就是宽度的。

发现了一个问题,如果一个定位为relative的元素的包含块高度未设置,应该为auto的话。top/bottom设置为百分比的值。浏览器(firefox38)会忽略掉这个百分比的值。

参考:

Last Comment Bug 260348 - Relative positioning with percentages inside auto-height containing block does not work

https://bugzilla.mozilla.org/show_bug.cgi?id=260348

时间: 2024-10-29 13:42:59

CSS权威指南 - 浮动和定位的相关文章

css权威指南(下)

第七章 基本视觉格式化 正常流(没有浮动和定位元素).非替换元素(包含在文档中).替换元素(用作其它内容的占位符,如img).块级元素(会和其它元素形成换行,如div).行内元素(span之类的元素)和根元素(位于文档树顶端的元素,在HTML文档中就是元素html) 水平格式化 <p style="width:200px;">wideness?</p> /*200px指的是内容区的宽度*/ 水平格式化七大属性:margin-left.border-left.pa

《CSS权威指南》基础复习+查漏补缺

前几天被朋友问到几个CSS问题,讲道理么,接触CSS是从大一开始的,也算有3年半了,总是觉得自己对css算是熟悉的了.然而还是被几个问题弄的"一脸懵逼"... 然后又是刚入职新公司,事情不算多,于是拿起<CSS权威指南>进行"基础学习"+"查漏补缺",本篇文章主要是总结了些自己认为CSS中值的注意的几个知识点(本文知识点仅限本书范围内,若要讲CSS全部样式,那本兽还是选择慢慢懵逼去~). 选择器 这里要说明的是类选择器的嵌套选择与多类

读书总结——CSS权威指南

几个月前读了这本书——<CSS权威指南>,之前用css都是在w3school上看的,或者按F12看别人的代码,这是我完整的读的第一本关于css的书,感觉还是收获挺大的,最近要总结一下自己的知识,所以又重新看了一遍,又本着温故知新.边看边写的想法写了这篇文章,希望能对自己或别人有些帮助. 第一章 HTML 标记与文档结构 主要介绍了HTML及其标记 1.标签分为闭合标签与自闭合标签 闭合标签格式:<标签名>文本内容</标签名> e.g. <h1>Words b

css权威指南学习笔记--第七章

由于之前一直没有系统的看过css相关的书籍,导致自己css方面一直都是处于零散状态.知其然,不知其所以然.所以买了<css权威指南>.虽然比较老了,但是应该也会收获很大. 1 水平方向上 margin-left +border-left+padding-left+width+padding-right+border-right+margin-right 其中红色的是可以设置为auto,当设置为auto时,浏览器会自动计算该值.基于的原则就是 外层包裹容器的width=被包裹元素的width+p

CSS权威指南学习笔记系列(1)CSS和文档

题外话:HTML是一种结构化语言,而CSS是它的补充:这是一种样式语言.CSS是前端三板斧之一,因此学习CSS很重要.而我还是菜鸟,所以需要加强学习CSS.这个是我学习CSS权威指南的笔记,如有不对,请谅解和指出.谢谢大家.正文: 第一章 CSS和文档---------- 1.CSS,称为层叠样式表.使用CSS的理由有:a.易于使用,样式表能大大减少Web创作人员的工作量:b.在多个页面上使用样式,可以创建一个样式表,然后把这个样式表应用到多个页面:c.层叠,CSS还规定了冲突规则:这些规则统称

CSS基础知识---浮动,定位和盒模型

转载请注明出处! 需要掌握的三个最重要的CSS概念是浮动,定位和盒模型. 盒模型概述: 页面上的每个元素都被看做一个矩形框(元素框or盒模型),这个框由元素内容,内边距,边框和外边距组成. 内边距出现在内容区域的周围,如果为元素添加背景,那么背景就会应用于由内容和内边距组成的区域.添加边框会在内边距的区域外边加一条线.在边框外边是外边距,外边距是透明的,一般用它来控制元素之间的间隔. 内边距,边框,和外边距是可选的,默认值为零.但是许多元素由用户代理样式表设置了外边距和内边距,我们可以将元素的m

css权威指南 读书笔记

网上看见推荐的书总是喜欢买回家,但是大多数时候都不会立即就看,都是在书橱里蒙上了一层灰尘.从毕业到现在,由于公司业务原因,写js多余css,所以就想系统地看看css,并且做一些练习,于是就开始看<css权威指南>,看到了第六章,初步感觉,对于工作一年的我来说,很简单,当然也有一些我不熟悉的知识点,于是整理了下来. 一.@import 1.放在style容器中,且在其他css规则之前 2.每个人@import指令的样式都会加载使用 二.选择器 1.:first-letter 用于选取指定选择器的

css权威指南学习笔记--第6章

line-height:定义文本行基线之间的距离 <p style="line-height: 20px;"> these are test words<br /> these are test words </p> 说到line-height就不能不说到行框中各个高度是怎么计算的,这里引用css权威指南中的图 文本行中的每个元素都会生成一个内容区,这由字体的大小确定.如果不存在其他因素(如line-height)那么这个内容区的高度就是行内框的高度

css 权威指南笔记

部分属性选择: 选择class 属性中包含warning的元素 [class~="warning"]{font-weight:bold} 子串匹配属性选择器: 在现代浏览器中得到支持 包括ie7 特定属性选择器: css 权威指南笔记