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

以下都是从《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. Linux Shell编程、变量、控制语句

    为什么要学习Shell编程 1)Linux运维工程师在进行服务器集群管理时,需要编写Shell程序来进行服务器管理. 2)对于JavaEE和Python程序员来说,工作的需要,你的老大会要求你编写一些 ...

  2. (C/C++) 指向函數的指標

    最近再跟指標做朋友, 正好遇到函數與指標. 其實函數也在程式內也是有屬於自己的位址 所以指標一樣能指向函數, 在此釐清自己的觀念以及記錄下來. #include <stdio.h> #in ...

  3. 基于wavesurfer.js的超大音频的渐进式请求实现

    最近在对超大音频的渐进式请求实现上面消耗了不少时间,主要是因为一对音频的基本原理不太理解,二刚开始的时候太依赖插件,三网上这块的资料找不到只能靠自己摸索.由于交互复杂加上坑比较多,我怕描述不清,这里主 ...

  4. Java中静态变量的声明位置

    Java中静态变量只能是成员变量,局部方法中的局部变量除final外不能有任何其他修饰符,例如: public class Test { static String x = "1" ...

  5. easy-mock本地部署成功,访问报错:EADDRNOTAVAIL 0.0.0.0:7300 解决方案

    easy-mock本地部署成功后,迫不及待的想看看是否能正常访问,执行命令 npm run dev 启动项目,访问 127.0.0.1:7300 ,结果郁闷的是报错:EADDRNOTAVAIL 0.0 ...

  6. 最新版chrome浏览器如何离线安装crx插件?(转载)

    原文链接:https://newsn.net/say/chrome-crx-offline.html mac新版chrome开启离线插件安装 对于mac新版chrome,注意,大家一定要按照顺序来.m ...

  7. weiFenLuo.winFormsUI.Docking.dll学习

    引用方法: 1.建立一个WinForm工程,默认生成了一个WinForm窗体. 2.引用—>添加引用—>浏览—>weiFenLuo.winFormsUI.Docking.dll. 3 ...

  8. C#面试:委托

    面试常见题: 1.委托是什么?★☆ 2.为什么需要委托?★☆ 3.委托能用来做什么?★☆ 4.如何自定义委托★☆ 5..NET默认的委托类型有哪几种?★☆ 6.怎样使用委托?★★★ 7.多播委托是什么 ...

  9. 当spring抛出异常时出现的页面的@ExceptionHandler(RuntimeException.class) 用法

    当spring抛出异常时出现的页面的@ExceptionHandler(RuntimeException.class) 用法 主要用在Controller层 @ExceptionHandler(Run ...

  10. PHP 中 strlen 获取中英 字符长度 以作以后对比使用

    ANSII编码: 1 长度是3 a 长度是3 ? 长度是3 我 长度是4 ?长度是2 ---------------------------- UTF-8编码: 1 长度是1 a长度是1 ? 长度是1 ...