1. 浮动

CSS float属性定义了元素在水平方向的浮动。该元素从网页的正常流动(文档流)中移除,对于浮动元素后的块级元素,块级元素将会被浮动元素覆盖,并且会接着其上一个文档流中的元素,按文档流的规则进行排列,即浮动元素不会影响紧随着它的块级元素的排列。对于接着浮动元素的行内元素(包块行内块元素),行内元素会环绕在浮动元素周围。浮动元素默认是行内块级元素,相邻浮动元素之间的元素排列也符合标准文档流。在CSS中,任何元素都可以设置成浮动元素。

特点

  • 行内元素环绕
  • 脱离标准文档流
  • 默认属于行内块元素
  • 浮动元素无法撑起父元素的高度
  • 未指定宽度时,浮动元素收缩成文本的宽度

父元素的塌陷

假设一个父元素中有若干个子元素,若其中有几个或全部子元素的属性都设置成浮动,而父元素没有设置高度。则会出现以下现象:

1)子元素全部设置成浮动元素,由于浮动元素无法撑起成父元素的高度,父元素的高度将会坍塌为0;

2)子元素中有一些元素设置成浮动元素,这些浮动元素也无法撑起父元素的高度,但剩下的非浮动元素可以撑起父元素,也就是说此时父元素的高度就其非浮动子元素按标准文档流排列时的高度。

浮动元素的清楚(解决父元素的坍塌)

有以下几种方式:

1)简单粗暴,给父元素设置宽高;但这个方法使用不灵活,后期维护不易,主要应用在网页中高度长时间不变的区域,比如导航栏。

2)内墙法:在最后一个浮动元素后面添加一个空的块级元素,并设置其属性clear: both; 。缺点:结构冗余。

3)伪元素(选择器)清楚法:给所有要清楚的浮动的父元素设置同一个类,对这个类的三个属性content, display, clear的值分别设置成 '', block, both。

4)把父元素的overflow的属性值设为:hidden。

浮动元素位置的调整

可通过margin调整位置,比如:50px; 50%(边框的位置在50%处)。

2. 定位

CSS position属性规定了元素的定位类型。不同的定位类型其位置的调整方式不同。

static

默认值,没有定位,元素会出现在正常的文档流中。

relative

相对定位,相对于其正常位置的定位,未脱离标准文档流。其后面的元素会接着它原来的位置,按标准文档流的形式排列下去;而其现在在页面上显示位置,并不会影响标准文档流的排列。

absolute

绝对定位,相对于除static定位外的第一个父元素的定位。绝对定位元素脱离了标准文档流,并且会覆盖在标准文档流上面

fixed

固定定位,相对于浏览器窗口左上角的定位。固定定位脱离了标准文档流,并且会覆盖在标准文档流上面。

定位元素位置的调整

可通过margin与top, bottom, left, right来调整,比如left:  50%; margin-left:  -50px; 。

z-index属性

z表示z轴,垂直于屏幕,并指向外;z-index表示在z轴上的位置,所以z-index大的元素会覆盖z-index小的元素,定位不为static的元素才有z-index属性。有两个要点:

1)如果z-index的值都设为auto,则后出现元素的z-index越大;

2)父级的z-index属性优先级更高,因为子元素是依附在父元素上的。

CSS float和position属性的更多相关文章

  1. DIV CSS布局中position属性用法深入探究

    本文向大家描述一下DIV CSS布局中的position属性的用法,position属性主要有四种属性值,任何元素的默认position的属性值均是static,静态.这节课主要讲讲relative( ...

  2. Css中的Position属性

    Css中的Position属性 Css属性在线查询地址: http://www.css88.com/book/css/properties/index.htm CSS 中的 position 属性 在 ...

  3. css的float和position属性

    (1)float的简单用法 <!DOCTYPE html> <html lang="en"> <head> <meta charset=& ...

  4. 详解css中的position属性

    这一次直接进入主题. css中最常用的布局类属性,一个是float,另一个就是定位属性position. 对于position来讲,有以下属性值: static : 无特殊定位,对象处于正常文档流.其 ...

  5. 【CSS学习】--- position属性

    一.前言 1.HTML中的三种布局方式: 标准流(普通流):网页中默认的布局方式,即顺序布局 浮动:float 定位:position 2.position属性的作用方式: 给position属性设置 ...

  6. css中关于position属性的探究(原创)

    关于position属性的设置,头脑中一直觉得不是很清楚,所以借助这次机会单独自己测试了一下,记作学习笔记.   首先,css的position属性包含下面四种设置情况: static:默认属性.指定 ...

  7. 对CSS中的Position属性的一些深入探讨

    转:http://www.cnblogs.com/coffeedeveloper/p/3145790.html Position属性 Position的属性值共有四个static.relative.a ...

  8. 浅谈css中的position属性

    我觉得吧,css如果不考虑浏览器的兼容问题的话,最让人头疼的应该就是position了,反正我是这么觉得的,为了能基本上搞清楚position的几种情况,我找了一些资料,做了一个小实验,下面是实验的过 ...

  9. 细说css中的position属性

    有过css开发经验的同学,对于position这个属性一定不会陌生,然而这个熟悉的属性确是面试题中的常客,也就说明了该属性在css的世界是有一定的江湖地位的,那么我们就来详细的说说position这个 ...

随机推荐

  1. codeforces#1183H. Subsequences(字符串dp)

    题目链接: http://codeforces.com/contest/1183/problem/H 题意: 给出一个长度为$n$的字符串,得到$k$个子串,子串$s$的花费是$n-|s|$ 计算最小 ...

  2. delete elasticsearch

    在elasticsearch-head 插件中遇到的删除特定的数据需求 DELETE /索引名/需要清空的type/_query { "query": { "match_ ...

  3. mybatis集成spring

    1.为什么mybatis要去集成spring?===>简单来说就是为了让spring 来帮我们管理事务!!如果没有spring去帮助管理事务,那么需要我们自己去手动去维护事务,例如:发生异常需要 ...

  4. oracle口令文件在windows和linux系统下的命名和位置

      分类: Oracle 1.windows系统下 oracle口令文件在:$ORACLE_HOME/database目录下: 命名规则为:PWD$SID.ora   2.linux系统下 oracl ...

  5. window10 安装.net framework 2.0插件

    1 背景 电脑升级到window10操作系统之后,在使用过程中安装某些软件(如 BI publisher)需要用到.net framework 2.0/3.5 框架. 例如:直接安装BI publis ...

  6. 如何在linux中发送邮件,使用163邮箱发信。

    linux中,可以使用mail命令往外发送邮件,在使用前,只需要指定如下简单配置即可,这里演示用  163.com    邮箱发送至 qq.com 编辑 /etc/mail.rc,写入下方的参数 se ...

  7. centos 下 安装vim

    我们在安装完Centos后,它默认的是安装了VI编辑器,VIM是没有安装的,所以我们在使用vim test.txt时会提示: vim command not found ... 这就是说明我们的Lin ...

  8. POJ 3083 -- Children of the Candy Corn(DFS+BFS)TLE

    POJ 3083 -- Children of the Candy Corn(DFS+BFS) 题意: 给定一个迷宫,S是起点,E是终点,#是墙不可走,.可以走 1)先输出左转优先时,从S到E的步数 ...

  9. ActiveMQ的作用总结(应用场景及优势)以及springboot+activeMq 实战

      业务场景说明: 消息队列在大型电子商务类网站,如京东.淘宝.去哪儿等网站有着深入的应用, 队列的主要作用是消除高并发访问高峰,加快网站的响应速度. 在不使用消息队列的情况下,用户的请求数据直接写入 ...

  10. Shell脚本中判断字符串是否被包含在内

    1.字段 grep:案例: str1="abcdefgh"str2="def"result=$(echo $str1 | grep "${str2}& ...