回顾CSS布局易混淆的概念
一、浮动模型
元素默认是static的,不能浮动,但可以用CSS样式设置为浮动
浮动模型只有两个值 float:left 和 float:right ,可以让块状元素同行显示
二、层模型
top/bottom/left/right是层模型的值,即是绝对定位、相对定位和固定定位的值
<!--不要和浮动模型搞混了,这四个值不要用到float上去了-->
三、相对定位
相对于以前的位置进行定位/移动
四、绝对定位
相对于其最接近的含有定位属性的父包含块进行移动
元素的默认定位属性是static,是静止的,不属于含有定位属性
具有定位属性是指要给元素设置除position:static外的其他定位属性,如绝对、相对、固定定位等
五、绝对定位和相对定位的组合使用
作用:实现元素相对于前辈元素移动
方法:
1. 前辈元素加入相对定位 position:relative
2. 后辈元素加入绝对定位 position:absolute ,然后用top/bottom/left/right实现相对于前辈元素的移动
六、水平居中
设置浮动和相对定位水平居中的原理是:
先让父元素float到最左端,然后为其设置相对定位,右移50%;再为子元素设置相对定位,相对父元素左移50%,最终实现居中
七、垂直居中
利用table自带的vertical-align:middle属性进行居中
方法1:给td或者table的高度设置具体的数值,可以看到垂直居中效果
方法2:给table的高度设置百分比
<!--给td的高度设置百分比,会按内容的高度显示,没有意义,看不到垂直居中效果-->
table的高会按父包含块的百分比显示,可以看到居中效果
<!--没有父包含块也看不到居中效果-->
问:如何让table基于浏览器窗口垂直居中?
答:可以给table设置定位,让其变成图层,设置height:100% <!--就是让table的高和父元素一样长-->
1. 设置绝对定位absolute,table的高会有变化,如果有含有定位属性的父包含块,基于父包含块垂直居中;如果没有父包含块,基于浏览器窗口垂直居中
2. 设置相对定位relative,table的高无变化,相对定位本身是相对于自己定位,所以若不是用来移动,没有什么用
3. 设置固定定位fixed,table的高有变化,固定定位是相对于浏览器窗口而言的,所以高会按浏览器窗口的100%显示,可以实现基于浏览器窗口垂直居中
总结:要想利用table的垂直居中属性,得给table一定的高度,才能看到垂直居中效果
回顾CSS布局易混淆的概念的更多相关文章
- C语言一些易混淆的概念
①数组指针和指针数组 1. 数组指针用于指向一个数组,数组名是数组首元素的地址(数组名为数组首元素类型且指向首元素的指针,如int array[5] ,array为指向array[0]的指针且类型为i ...
- Java多线程中易混淆的概念
概述 最近在看<ThinKing In Java>,看到多线程章节时觉得有一些概念比较容易混淆有必要总结一下,虽然都不是新的东西,不过还是蛮重要,很基本的,在开发或阅读源码中经常会遇到,在 ...
- .NET 中易混淆的概念(Delegate vs Event)
事件(event)是一个非常重要的概念,我们的程序时刻都在触发和接收着各种事件:鼠标点击事件,键盘事件,以及处理操作系统的各种事件.所谓事件就是 由某个对象发出的消息.比如用户按下了某个按钮,某个文件 ...
- JQuery中易混淆的概念
append(): 向每个匹配的元素内部追加内容. <p>I would like to say: </p> $("p").append("< ...
- 关于 Delphi 中的Sender和易混淆的概念(转)
/////////////////////////////////////////////////////// Delphi 中Sender对象的定义///////////////////////// ...
- css常见的易混淆属性和值的区别(一)
css的属性很多,每一个属性的值也很多,组合起来便有成千上万种.不同属性之间的相互组合也可以产生不同的样式,css真是一种优美的样式设计语言.下面对工作中常见的易混淆的属性和值进行总结: 1. lin ...
- C#中一些易混淆概念总结
C#中一些易混淆概念 这几天一直在复习C#基础知识,过程中也发现了自己以前理解不清楚和混淆的概念.现在给大家分享出来我的笔记: 一,.NET平台的重要组成部分都是有哪些 1)FCL (所谓的.NET框 ...
- [浅谈CSS核心概念] CSS布局模型:float和position
1.流动模型 HTML元素在默认情况下都是按照"流动模型"进行布局的,网上也有人称之为"普通流"."文档流"之类的.这种布局模式的特点在于: ...
- 【C#小知识】C#中一些易混淆概念总结(七)---------解析抽象类,抽象方法
目录: [C#小知识]C#中一些易混淆概念总结--------数据类型存储位置,方法调用,out和ref参数的使用 [C#小知识]C#中一些易混淆概念总结(二)--------构造函数,this关键字 ...
随机推荐
- RDIFramework.NET V2.9版本多语言的实现
RDIFramework.NET V2.9版本多语言的实现 现在是国际化时代,软件也不能落后.一个公司里很可能会有老外,也可能有台湾的朋友,他们用软件的习惯都不一样,若同样一个软件同时能适应多种语言文 ...
- 在Linux最小系统上编译运行第一个helloworld程序
一.安装和使用SSH软件 1.安装SSH 软件 1)SSH 软件压缩包可以在网盘下载,下载后解压,进入解压出来的文件夹,如下图. 2)单击上图中的“SSHSecureShellClient-3.2.9 ...
- 什么是JSP?它有哪些特点?
什么是JSP? 它有哪些特点? JSP是服务器端的一种基于java语言的网页技术,它是由一些JSP标记,java程序段以及HTML文件组成的结合体,以java语言作为其内置的脚本语言. 实质上是通 ...
- spring.net
Spring.Net有两个很重要的感念就是IoC(控制反转)和DI(依赖注入). IoC.英文全称Inversion of Control.控制反转.DI.英文全称Dependency Injecti ...
- Aspect Oriented Programming (AOP)
切面”指的是那些在你写的代码中在项目的不同部分且有相同共性的东西.它可能是你代码中处理异常.记录方法调用.时间处理.重新执行一些方法等等的一些特殊方式.如果你没有使用任何面向切面编程的类库来做这些事情 ...
- Android DrawerLayout Plus 增强版抽屉菜单
DrawerLayout是官方提供的侧滑菜单,相比SliddingMenu,它更加轻量级.默认情况下,DrawerLayout可以设置左侧或者右侧滑出菜单.如下, xml布局: <!-- & ...
- android架构
周日没事,简单总结了一下Android开发中使用到的知识,以脑图的形式呈现.
- PHP中怎样创建一个空对象?
如果没有声明一个对象然后就对其属性赋值会出现警告.那么我们给它创建一个空对象然后赋值就好了.PHP中创建一个空对象代码如下: 第一种方式: $empty_object = new stdClass() ...
- MySQL如何关联查询
总的来说,mysql认为任何一个查询都是一次关联,并不仅仅是一个查询需要用到两个表匹配才叫关联,所以,在mysql中,每一个查询,每一个片段(包括子查询,甚至单表select)都可能是关联.所以,理解 ...
- Java 泛型和通配符解惑
转自:http://www.linuxidc.com/Linux/2013-10/90928.htm T 有类型 ? 未知类型 一.通配符的上界 既然知道List<Cat>并不是Lis ...