css权威指南读书笔记-第10章浮动和定位
这一章看了之后真是豁然开朗,之前虽然写了圣杯布局和双飞翼布局,有些地方也是模糊的,现在打算总结之后再写一遍。
以下都是从《css权威指南》中摘抄的我认为很有用的说明。
- 浮动元素
一个元素浮动时,其他内容会环绕该元素。浮动元素会生成一个块级框,不论这个元素本身是什么。并且浮动元素周围的外边距不会合并。如果要浮动一个非替换元素,必须显式声明width.
浮动元素的几条规则:
1) 浮动元素的左(右)外边界不能超出其包含块(包含快是其最近的块级祖先元素)的左(右)边界。但是负外边距或者浮动元素宽于父元素可能导致浮动元素移到父元素外面
2) 如果一个元素向左浮动,另一个元素已经在那个位置,后放置的元素将挨着前一个浮动元素的右外边界放置。不过,如果一个浮动元素的顶端在所有之前浮动元素的底端下面,他可以抑制浮动到父元素的左内边界。因此,所有浮动内容都是可见的,不必担心两个浮动元素重叠。
3) 一个浮动元素的顶端不能比其父元素的内顶端高。
4) 浮动元素的顶端不能比之前所有浮动元素或块级元素的顶端高。
5) 如果源文档中一个浮动元素之前出现另一个元素,浮动元素的顶端不能比包含该元素所生成框的任何行框的顶端更高。
6) 如果没有足够的空间,浮动元素会被挤到一个新行上。
7) 浮动元素必须尽可能高的放置,其顶端应该与其标记所在行框顶端对齐。左浮动元素必须向左放置的尽可能远,右浮动元素同理。这些规则互相限制。
如果浮动元素与正常流中的内容重叠:
1) 行内框与一个浮动元素重叠时,其边框,背景和内容都在该浮动元素“之上”显示
2) 块框与一个浮动元素重叠时,其边框,背景在浮动元素“之下”显示,而内容在浮动元素“之上”显示。
3) 这些重叠行为与源文档的顺序无关。
- 清除浮动
如果声明 h1{ clear: left},那么清除的是h1元素本身左边的浮动。
- 定位
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章浮动和定位的更多相关文章
- css权威指南读书笔记
今天翻手机,翻到了许久之前看css权威指南时的笔记,遂移到博客中来. 1.属性选择器p.one class名为one的p元素p[class][name] 含有class和name属性的p元素p[cla ...
- JavaScript权威指南读书笔记【第一章】
第一章 JavaScript概述 前端三大技能: HTML: 描述网页内容 CSS: 描述网页样式 JavaScript: 描述网页行为 特点:动态.弱类型.适合面向对象和函数式编程的风格 语法源自J ...
- CSS权威指南学习笔记系列(1)CSS和文档
题外话:HTML是一种结构化语言,而CSS是它的补充:这是一种样式语言.CSS是前端三板斧之一,因此学习CSS很重要.而我还是菜鸟,所以需要加强学习CSS.这个是我学习CSS权威指南的笔记,如有不对, ...
- HTTP权威指南读书笔记
HTTP权威指南笔记 读书有两种境界,第一种境界是将书读薄,另一种是读厚.本篇文章就是HTTP权威指南的读书笔记,算是读书的第一重境界,将厚书读薄.文章对HTTP的一些关键概念做了比较详细的概述,通读 ...
- Javascript权威指南阅读笔记--第3章类型、值和变量(1)
之前一直有个想法,好好读完JS权威指南,便于自己对于JS有个较为全面的了解.毕竟本人非计算机专业出生,虽然做着相关行业的工作,但总觉得对于基础的掌握并没有相关专业学者扎实,正好因为辞职待业等原因,还是 ...
- 经典的性能优化最佳实践 web性能权威指南 读书笔记
web性能权威指南 page 203 经典的性能优化最佳实践 无论什么网络,也不管所用网络协议是什么版本,所有应用都应该致力于消除或减 少不必要的网络延迟,将需要传输的数据压缩至最少.这两条标准是经典 ...
- C++ primer plus读书笔记——第10章 对象和类
第10章 对象和类 1. 基本类型完成了三项工作: 决定数据对象需要的内存数量: 决定如何解释内存中的位: 决定可使用数据对象执行的操作或方法. 2. 不必在类声明中使用关键字private,因为这是 ...
- HTTP权威指南读书笔记——第一章(HTTP概述)
1.HTTP(Hypertext Transfer Protocol,超文本传输协议)是在万维网上进行通信时所使用的协议方案,HTTP是应用层协议,无需关心网络通信的细节,细节交给了传输层协议TCP/ ...
- 《JavaScript Dom 编程艺术》读书笔记-第10章
用JS实现动画~内容包括: 1. 动画基础知识 2. 用动画丰富网页的浏览效果 动画就是让元素的位置随时间而不断变化. 位置: //CSSelement{ position:absolute; top ...
随机推荐
- 如何在ASP.NET Core 2.0中使用Razor页面
如何在ASP.NET Core 2.0中使用Razor页面 DotNetCore2017-11-22 14:49 问题 如何在ASP.NET Core 2.0中使用Razor页面 解 创建一个空的项 ...
- allure报告定制(pytest+jenkins)
环境及安装可查看 pytest+jenkins安装+allure导出报告 要让allure报告更漂亮,更直观,需要在脚本中写入allure特性 一开始allure调用step().story().fe ...
- ThinkPHP 5.0.x SQL注入分析
前言 前段时间,晴天师傅在朋友圈发了一张ThinkPHP 注入的截图.最近几天忙于找工作的事情,没来得及看.趁着中午赶紧搭起环境分析一波.Think PHP就不介绍了,搞PHP的都应该知道. 环境搭建 ...
- Q147 对链表进行插入排序
插入排序的动画演示如上.从第一个元素开始,该链表可以被认为已经部分排序(用黑色表示). 每次迭代时,从输入数据中移除一个元素(用红色表示),并原地将其插入到已排好序的链表中. 插入排序算法: 插入排序 ...
- 20190416 OSX系统使用VMware Fusion安装CentOS7踩的那些坑
一.创建虚拟机 (1)在虚拟机资源库中点击[+添加]按钮,选择“新建...”选项 (2)选择创建自定义虚拟机 (3)选择系统类型为CentOS (4)选择虚拟磁盘类型 (5)选择虚拟机存储位置:点击[ ...
- dubbo服务引用与集群容错
服务引用无非就是做了两件事 将spring的schemas标签信息转换bean,然后通过这个bean的信息,连接.订阅zookeeper节点信息创建一个invoker 将invoker的信息创建一个动 ...
- Neo4j安装&入门&一些优缺点(转)
本篇将介绍Neo4j的安装,入门,和自己使用了一段时间后发现的优点缺点,争取简洁和实用. 如果你是第一次接触Neo4j,并且之前也都没接触过类似的Graph Database的话,建议先浏览一下我之前 ...
- 何为Web App,何为Hybird App
这些概念听起来很火,当下也很流行,真正理解起来却并非易事.如果让我来全面的解释Web App和Hybird App,我觉得还有些困难. 这篇文章只是我深入了解移动领域开发过程中的不断整理和总结,其中涉 ...
- 手机端全局样式表整理(mobile)
@charset "utf-8";/* * filename: global.css * description: 全局样式(包含样式重置,公共常用 ...
- 【Qt开发】QDate类
QDate为开发者提供日期的类,函数也很丰富 常用方法介绍 1.QDate addDays(qint64 ndays) const 当前日期添加n天,n可以为负 2.QDate addMonths(i ...