定位

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

定位: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

CSS权威指南 - 基本视觉格式化 1的更多相关文章

  1. css权威指南-基本视觉格式化(水平与垂直)

    1.基本概念     (1)正常流:是指西方语言文本从左向右,从上向下显示.如果要让一个元素不在正常流中国,唯一的办法                     就是使之成为浮动或定位元素.     ( ...

  2. CSS权威指南 - 基本视觉格式化 4

    改变元素显示 没有讨论与表格相关的.列表list-item的值.之后讨论. 改变显示角色 显示为块级元素 将一串链接(行内元素)改变垂直放置,若有如下一连串的链接: <div id=" ...

  3. CSS权威指南 - 基础视觉格式化 2

    行内元素 em a 非替换元素 img 替换元素 两者在内联内容处理方式不一样. inline有时候被翻译成内联,比如inline content,有时候被翻译成行内 inline box. 行布局 ...

  4. CSS权威指南 - 基础视觉格式化 3

    行内替换元素 替换元素比如图片的高度比line-height大,并不会影响整个文字段落的line-height,会让有图片那一行框的高度可以容纳这个图片. 这个图片依然有一个line-height,和 ...

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

    前几天被朋友问到几个CSS问题,讲道理么,接触CSS是从大一开始的,也算有3年半了,总是觉得自己对css算是熟悉的了.然而还是被几个问题弄的"一脸懵逼"... 然后又是刚入职新公司 ...

  6. CSS权威指南 - 层叠

    CSS权威指南 第三章结构与层叠 - 层叠 按权重及来源排序 1. Reader important declarations 2. Author important declarations 3. ...

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

    题外话:HTML是一种结构化语言,而CSS是它的补充:这是一种样式语言.CSS是前端三板斧之一,因此学习CSS很重要.而我还是菜鸟,所以需要加强学习CSS.这个是我学习CSS权威指南的笔记,如有不对, ...

  8. css权威指南读书笔记-第10章浮动和定位

    这一章看了之后真是豁然开朗,之前虽然写了圣杯布局和双飞翼布局,有些地方也是模糊的,现在打算总结之后再写一遍. 以下都是从<css权威指南>中摘抄的我认为很有用的说明. 浮动元素 一个元素浮 ...

  9. css权威指南读书笔记

    今天翻手机,翻到了许久之前看css权威指南时的笔记,遂移到博客中来. 1.属性选择器p.one class名为one的p元素p[class][name] 含有class和name属性的p元素p[cla ...

随机推荐

  1. makefile_2

    我们的工程有 8 个 C 文件,和 3 个头文件,我们要写一个 Makefile 来告诉 make 命令如何编译和链接这几个文件.我们的规则是:1)如果这个工程没有编译过,那么我们的所有 C 文件都要 ...

  2. Zabbix报告无交换内存主机 Lack of free swap space on xxxxx

    [root@xx ~]# free -m total used free shared buffers cached Mem: 3832 3488 343 0 267 2389 -/+ buffers ...

  3. ubuntu下简单的驱动编译

    转自:http://www.eefocus.com/jefby1990/blog/13-02/291628_c39b8.html 本文是参考了网上多篇帖子而写的算不上什么原创.唯一值得欣慰的只不过在本 ...

  4. Java Hour 30 Weather ( 3 )

    有句名言,叫做10000小时成为某一个领域的专家.姑且不辩论这句话是否正确,让我们到达10000小时的时候再回头来看吧. Hour 30 上回终点 Model 这里有一些java bean 的 风格约 ...

  5. HDU 4349 Xiao Ming's Hope lucas定理

    Xiao Ming's Hope Time Limit:1000MS     Memory Limit:32768KB  Description Xiao Ming likes counting nu ...

  6. Jquery 文档的各种高度和宽度

    $(document).ready(function() { alert($(window).height()); //浏览器时下窗口可视区域高度 alert($(document).height() ...

  7. html 绘图渐变和图片填充

    包括线性渐变和径向渐变 <!DOCTYPE html> <html> <head lang="en"> <meta charset=&qu ...

  8. Xamarin Anroid开发教程之验证环境配置是否正确

    Xamarin Anroid开发教程之验证环境配置是否正确 经过前面几节的内容已经把所有的编程环境设置完成了,但是如何才能确定所有的一切都处理争取并且没有任何错误呢?这就需要使用相应的实例来验证,本节 ...

  9. Unity中制作游戏的快照游戏支持玩家拍快照

    Unity中制作游戏的快照游戏支持玩家拍快照 有些游戏支持玩家“拍快照”,也就是将游戏的精彩瞬间以图片的形式记录下来的功能.这个功能比较有趣,而且以后的用途也会很广,为此本节打算介绍:截取矩形区域内游 ...

  10. parseFloat

    parseFloat会把输入完整的数进行比较,不会比较中间数字.