这一章看了之后真是豁然开朗,之前虽然写了圣杯布局和双飞翼布局,有些地方也是模糊的,现在打算总结之后再写一遍。

以下都是从《css权威指南》中摘抄的我认为很有用的说明。

  1. 浮动元素

一个元素浮动时,其他内容会环绕该元素。浮动元素会生成一个块级框,不论这个元素本身是什么。并且浮动元素周围的外边距不会合并。如果要浮动一个非替换元素,必须显式声明width.

浮动元素的几条规则:

1)      浮动元素的左(右)外边界不能超出其包含块(包含快是其最近的块级祖先元素)的左(右)边界。但是负外边距或者浮动元素宽于父元素可能导致浮动元素移到父元素外面

2)      如果一个元素向左浮动,另一个元素已经在那个位置,后放置的元素将挨着前一个浮动元素的右外边界放置。不过,如果一个浮动元素的顶端在所有之前浮动元素的底端下面,他可以抑制浮动到父元素的左内边界。因此,所有浮动内容都是可见的,不必担心两个浮动元素重叠。

3)      一个浮动元素的顶端不能比其父元素的内顶端高。

4)      浮动元素的顶端不能比之前所有浮动元素或块级元素的顶端高。

5)      如果源文档中一个浮动元素之前出现另一个元素,浮动元素的顶端不能比包含该元素所生成框的任何行框的顶端更高。

6)      如果没有足够的空间,浮动元素会被挤到一个新行上。

7)      浮动元素必须尽可能高的放置,其顶端应该与其标记所在行框顶端对齐。左浮动元素必须向左放置的尽可能远,右浮动元素同理。这些规则互相限制。

如果浮动元素与正常流中的内容重叠:

1)      行内框与一个浮动元素重叠时,其边框,背景和内容都在该浮动元素“之上”显示

2)      块框与一个浮动元素重叠时,其边框,背景在浮动元素“之下”显示,而内容在浮动元素“之上”显示。

3)      这些重叠行为与源文档的顺序无关。

  1. 清除浮动

如果声明 h1{ clear: left},那么清除的是h1元素本身左边的浮动。

  1. 定位

position:static(默认值)relative absolute fixed inherit

static:元素正常生成

relative: 元素框偏移某个距离。元素仍保持其未定位前的形状,他原本所占的空间仍保留。

absolute: 元素框从文档中完全删除,并相对于其包含块(一般是position的值不是static的祖先元素,一般会选择一个元素作为绝对定位元素的包含块,将其position指定为relative并且不偏移)定位。元素定位后总会生成一个块级框,不管原来是什么类型的值。

元素绝对定位时,还会为后代元素建立一个包含块,即后代元素可以相对于这个元素再进行绝对定位

fixed: 相对于浏览器窗口进行绝对定位。

1)      绝对定位:

元素绝对定位时,如果top:auto,则定位元素的顶端会相对于未定位前本来的顶端对齐。left和right设置为auto也是一样。元素在水平方向上过度受限时会忽略right值,在垂直方向上过度受限时将忽略bottom值。这条规则对于替换元素和非替换元素都成立

2)      相对定位

相对定位元素相对原来的位置而不是其父元素定位。当元素相对定位时,他会从正常位置移走,但它原来所占的空间不会因此消失。如果遇到过度受限的相对定位,bottom总等于-top,right总等于-left

css权威指南读书笔记-第10章浮动和定位的更多相关文章

  1. css权威指南读书笔记

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

  2. JavaScript权威指南读书笔记【第一章】

    第一章 JavaScript概述 前端三大技能: HTML: 描述网页内容 CSS: 描述网页样式 JavaScript: 描述网页行为 特点:动态.弱类型.适合面向对象和函数式编程的风格 语法源自J ...

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

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

  4. HTTP权威指南读书笔记

    HTTP权威指南笔记 读书有两种境界,第一种境界是将书读薄,另一种是读厚.本篇文章就是HTTP权威指南的读书笔记,算是读书的第一重境界,将厚书读薄.文章对HTTP的一些关键概念做了比较详细的概述,通读 ...

  5. Javascript权威指南阅读笔记--第3章类型、值和变量(1)

    之前一直有个想法,好好读完JS权威指南,便于自己对于JS有个较为全面的了解.毕竟本人非计算机专业出生,虽然做着相关行业的工作,但总觉得对于基础的掌握并没有相关专业学者扎实,正好因为辞职待业等原因,还是 ...

  6. 经典的性能优化最佳实践 web性能权威指南 读书笔记

    web性能权威指南 page 203 经典的性能优化最佳实践 无论什么网络,也不管所用网络协议是什么版本,所有应用都应该致力于消除或减 少不必要的网络延迟,将需要传输的数据压缩至最少.这两条标准是经典 ...

  7. C++ primer plus读书笔记——第10章 对象和类

    第10章 对象和类 1. 基本类型完成了三项工作: 决定数据对象需要的内存数量: 决定如何解释内存中的位: 决定可使用数据对象执行的操作或方法. 2. 不必在类声明中使用关键字private,因为这是 ...

  8. HTTP权威指南读书笔记——第一章(HTTP概述)

    1.HTTP(Hypertext Transfer Protocol,超文本传输协议)是在万维网上进行通信时所使用的协议方案,HTTP是应用层协议,无需关心网络通信的细节,细节交给了传输层协议TCP/ ...

  9. 《JavaScript Dom 编程艺术》读书笔记-第10章

    用JS实现动画~内容包括: 1. 动画基础知识 2. 用动画丰富网页的浏览效果 动画就是让元素的位置随时间而不断变化. 位置: //CSSelement{ position:absolute; top ...

随机推荐

  1. 架构师养成记--32.Redis高级(安全 主从复制)

    Redis高级命令及特性 keys * 返回满足的所有键值(*表示模糊匹配) exists 是否存在指定的key(返回1表示存在,0表示不存在) expire 设置某个key的过期时间,使用ttl查看 ...

  2. CentOS7 安装 Adobe Flash 看网络视频

    登录 Adobe 网站,找到 Adobe Flash Player 下载页,进入后网页自动识别 Linux 环境,手动选择版本,选择 YUM 方式,自动下载一个 rpm 文件 定位到下载目录,通常默认 ...

  3. Java多线程笔记[未更新完]

    最近课上可摸鱼时间较多,因此并发开坑学习 本篇学习自Java多线程编程实战指南 目前进展:刚开坑,处于理解概念阶段 本篇学习自Java多线程编程实战指南 Q.进程和线程的区别 进程Process是程序 ...

  4. 2018南京网络赛 - Skr 回文树

    题意:求本质不同的回文串(大整数)的数字和 由回文树的性质可知贡献只在首次进入某个新节点时产生 那么只需由pos和len算出距离把左边右边删掉再算好base重复\(O(n)\)次即可 位移那段写的略微 ...

  5. Struts2 漏洞系列之S2-001分析

    0x00 前言   最近在学习java的相关漏洞,所以Struts2的漏洞自然是绕不开的.为了更好的理解漏洞原理,计划把Struts2所有的漏洞自己都做一个复现.并且自己去实现相关的POC.相关的环境 ...

  6. 微信 oauth 登录 ,回调两次,一个坑,记录一下。

    在做微信某个功能的时候,大致需求是:静默授权,得到openId ,然后拿着openId调用接口,判断是否关注.如果是关注的,则发放礼券.每个我网站的会员只会发放一次礼券.如果第二次则会提示已领取过礼券 ...

  7. ToolkitScriptManager vs. ScriptManager 关于“只能向页面中添加 ScriptManager 的一个实例”讨论

    在使用ASP.NET设计AJAX功能网页时,需要首先声明ToolkitScriptManager或者ScriptManager控件,这些全局的脚本核心控制,然后才能使用众多的AJAX控件.如果没有创建 ...

  8. 更安全的https && https的问题

    视频推荐:https的性能优化 推荐文章:腾讯https性能优化实践 更安全的https(内容加密.身份认证.数据完整性) https实际上就是在http和tcp之间添加了ssl层或者是TLs层,这两 ...

  9. 结合React使用Redux

    前面的两篇文章我们认识了 Redux 的相关知识以及解决了如何使用异步的action,基础知识已经介绍完毕,接下来,我们就可以在React中使用Redux了. 由于Redux只是一个状态管理工具,不针 ...

  10. android studio ndk 开发入门

    ndk 开发没什么神秘的ndk 说白了就是一个交叉编译的工具链,用它来生成各个CPU架构下的静态或动态链接库,linux 下就是 .a 和 .so 文件.原理就是 java 通过 JNI 和 C.C+ ...