浮动与定位

元素的浮动


元素的浮动属性float


什么是浮动?

元素的浮动是指设置了浮动属性的元素会脱离标准文档流的控制,移动到其父元素中指定位置的过程。





如何定义浮动?

在CSS中,通过float属性来定义浮动,其基本语法格式如下:

选择器{float:属性值;}

float属性值

left
元素向左浮动

right
元素向右浮动

none
元素不浮动(默认值)

清除浮动


为什么要清除浮动?

由于浮动元素不再占用原文档流的位置,所以它会对页面中其他元素的排版产生影响,这时就需要在该元素中清除浮动。





清除浮动的基本语法格式

在CSS中,clear属性用于清除浮动,其基本语法格式如下:

选择器{clear:属性值;}





clear属性的常用值

left
不允许左侧有浮动元素(清除左侧浮动的影响)

right
不允许右侧有浮动元素(清除右侧浮动的影响)

both
同时清除左右两侧浮动的影响





常用三种清除浮动的方法

方法一:使用空标记清除浮动

方法二:使用overflow属性清除浮动

方法三:使用after伪对象清除浮动





after伪对象清除浮动时的注意事项:

1、必须为需要清除浮动的元素伪对象设置“height:0;”样式,否则该元素会比其实际高度高出若干像素。

2、必须在伪对象中设置content属性,属性值可以为空,如“content: "";”。





.father:after{      /*对类名为father父元素应用after伪对象样式*/

display:block;

clear:both;

content:"";

visibility:hidden;

height:0;

}

overflow属性


当盒子内的元素超出盒子自身的大小时,内容就会溢出(IE6除外),这时如果想要规范溢出内容的显示方式,就需要使用CSS的overflow属性

选择器{overflow:属性值;}

常用值

visible
内容不会被修剪,会呈现在元素框之外(默认值)

hidden
溢出内容会被修剪,并且被修剪的内容是不可见的

auto
在需要时产生滚动条,即自适应所要显示的内容

scroll
溢出内容会被修剪,且浏览器会始终显示滚动条

元素的定位


元素的定位属性


元素的定位属性主要包括定位模式和边偏移两部分。

1、定位模式

在CSS中,position属性用于定义元素的定位模式,其基本语法格式如下:

选择器{position:属性值;}

position属性的常用值

static
自动定位(默认定位方式)

relative
相对定位,相对于其原文档流的位置进行定位

absolute
绝对定位,相对于其上一个已经定位的父元素进行定位

fixed
固定定位,相对于浏览器窗口进行定位





2、边偏移

在CSS中,通过边偏移属性top、bottom、left或right,来精确定义定位元素的位置,其取值为不同单位的数值或百分比。

top
顶端偏移量,定义元素相对于其父元素上边线的距离

bottom
底部偏移量,定义元素相对于其父元素下边线的距离

left
左侧偏移量,定义元素相对于其父元素左边线的距离

right
右侧偏移量,定义元素相对于其父元素右边线的距离

静态定位static


静态定位是元素的默认定位方式,当position属性的取值为static时,可以将元素定位于静态位置。 所谓静态位置就是各个元素在HTML文档流中默认的位置。





在静态定位状态下,无法通过边偏移属性(top、bottom、left或right)来改变元素的位置。

相对定位relative


相对定位是将元素相对于它在标准文档流中的位置进行定位,当position属性的取值为relative时,可以将元素定位于相对位置

对元素设置相对定位后,可以通过边偏移属性改变元素的位置,但是它在文档流中的位置仍然保留。

绝对定位absolute


绝对定位是将元素依据最近的已经定位(绝对、固定或相对定位)的父元素进行定位,若所有父元素都没有定位,则依据body根元素(浏览器窗口)进行定位。

当position属性的取值为absolute时,可以将元素的定位模式设置为绝对定位。

固定定位fixed


固定定位是绝对定位的一种特殊形式,它以浏览器窗口作为参照物来定义网页元素。当position属性的取值为fixed时,即可将元素的定位模式设置为固定定位。





当对元素设置固定定位后,它将脱离标准文档流的控制,始终依据浏览器窗口来定义自己的显示位置。不管浏览器滚动条如何滚动,也不管浏览器窗口的大小如何变化,该元素都会始终显示在浏览器窗口的固定位置。

z-index层叠等级属性


当对多个元素同时设置定位时,定位元素之间有可能会发生重叠

在CSS中,要想调整重叠定位元素的堆叠顺序,可以对定位元素应用z-index层叠等级属性,其取值可为正整数、负整数和0。z-index的默认属性值是0,取值越大,定位元素在层叠元素中越居上。

HTML&CSS精选笔记_浮动与定位的更多相关文章

  1. HTML&CSS精选笔记_布局与兼容性

    布局与兼容性 CSS布局 版心和布局流程 为什么要应用布局? 阅读报纸时容易发现,虽然报纸中的内容很多,但是经过合理地排版,版面依然清晰.易读.同样,在制作网页时,要想使页面结构清晰.有条理,也需要对 ...

  2. HTML&CSS精选笔记_盒子模型

    盒子模型 认识盒子模型 所谓盒子模型就是把HTML页面中的元素看作是一个矩形的盒子,也就是一个盛装内容的容器.每个矩形都由元素的内容.内边距(padding).边框(border)和外边距(margi ...

  3. HTML&CSS精选笔记_列表与超链接

    列表与超链接 列表标记 无序列表ul 无序列表的各个列表项之间没有顺序级别之分,是并列的 <ul> <li>列表项1</li> <li>列表项2< ...

  4. HTML&CSS精选笔记_表格与表单

    表格与表单 表格标记 创建表格 要想创建表格,就需要使用表格相关的标记 <table>     <tr>     <td>单元格内的文字</td>   ...

  5. CSS学习笔记08 浮动

    从CSS学习笔记05 display属性一文中,我们知道div是块元素,会独占一行,即使div的宽度很小,像下面这样 应用display属性的inline属性可以让div与div共享一行,除了这种方法 ...

  6. CSS 小结笔记之浮动

    在css中float是一个非常好用的属性,float最基本用法是用来做文字环绕型的样式的. 基本用法:float:left | right 例如 <!DOCTYPE html> <h ...

  7. 前端笔记之CSS(下)浮动&BFC&定位&Hack

    一.浮动 1.1 各个语言的主要知识点 HTML:标签语义化(那么怎么样布局才是合理的?没有绝对的对和错) CSS: 样式: 布局: 标准流(标准文档流.普通文档流):盒子模型(width/heigh ...

  8. CSS系列:CSS中盒子的浮动与定位

    1. 盒子的浮动 在标准流中,一个块级元素在水平方向会自动伸展,知道包含它的元素的边接:而在竖直方向与相邻元素依次排列,不能并排. CSS中float属性,默认为none.将float属性的值设置为l ...

  9. html+css学习笔记 3[浮动]

    inline-block/float(浮动) 回顾:inline-block 特性:      1.块在一排显示 2.内联支持宽高 3.默认内容撑开宽度 4.标签之间的换行间隙被解析(问题) 5.ie ...

随机推荐

  1. Oracle PLSQL Demo - 02.SELECT INTO单行赋值[SELECT INTO variables]

    declare v_sal number; begin ; dbms_output.put_line(v_sal); end;

  2. Spark大师之路:广播变量(Broadcast)源码分析

    概述 最近工作上忙死了……广播变量这一块其实早就看过了,一直没有贴出来. 本文基于Spark 1.0源码分析,主要探讨广播变量的初始化.创建.读取以及清除. 类关系 BroadcastManager类 ...

  3. Spark的性能调优

    下面这些关于Spark的性能调优项,有的是来自官方的,有的是来自别的的工程师,有的则是我自己总结的. Data Serialization,默认使用的是Java Serialization,这个程序员 ...

  4. 【Java】Callable,Runnable比较及用法

    1.Runnable和Callable的区别 (1) Callable规定的方法是 call(), Runnable规定的方法是 run(). (2) Callable的任务执行后可返回值,而 Run ...

  5. Jbpm4.4 使用

    最近工作项目中需要用到工作流.于是找到了jbpm.关于jbpm的一些概念就不说了 1) 首先下载jbpm,这里我选择了jbpm4.4 从官网上可以下载  http://sourceforge.net/ ...

  6. linux命令之数据盘格式化挂载

    1,查看数据盘 在没有分区和格式化数据盘之前,使用”df -h “命令是无法看到数据盘的,可以通过 fdisk -l 查看机器情况(找出所有硬盘个数及设备名称)  提示:若没有发现/dev/xvdb ...

  7. [应用]Linux下" >/dev/null 2>&1 "

    转自:http://blog.csdn.net/sunrier/article/details/7695839 这条命令的意思就是在后台执行这个程序,并将错误输出2重定向到标准输出1,然后将标准输出1 ...

  8. 也许,这样理解HTTPS更容易(今天看到的, 对https总结最好的一篇)

    摘要:本文尝试一步步还原HTTPS的设计过程,以理解为什么HTTPS最终会是这副模样.但是这并不代表HTTPS的真实设计过程.在阅读本文时,你可以尝试放下已有的对HTTPS的理解,这样更利于" ...

  9. anroid 广播

    广播接收者(BroadcastReceiver)用于接收广播Intent,广播Intent的发送是通过调用Context.sendBroadcast().Context.sendOrderedBroa ...

  10. 说说$POST 、$HTTP_RAW_POST_DATA、php://input三者之间的区别

    $POST $_POST是我们最常用的获取POST数据的方式,它是以关联数组方式组织提交的数据,并对此进行编码处理,如urldecode,甚至编码转换,识别的数据类型是PHP默认识别的数据类型 app ...