布局常用的三种:标准流、定位、浮动;

1、文档流-标准流

窗体自上而下分成一行行(元素在 (X)HTML 中的位置),并在一行行中从左到右排放元素;

2、CSS 定位 Position 属性(绝对定位、固定定位、相对定位、静态(默认))

可以设置左右上下偏移;

绝对定位:脱离了文档流,位置是相对与父元素或者浏览器左上角(也可以理解为Body),并且父元素是设置了Position 为固定/绝对/相对,如果父元素中找不到就会以浏览器左上角为位置;

固定定位:脱离了文档流,位置是由浏览器左上角为启始点;

相对定位:没有脱离文档流,位置是相对与本来该在的位置的偏移;

静态:默认值,没有脱离文档流,位置由XHTML从上至下 左到右解析;

实战总结:

定位来说占位置的有 static 静态定位和relative相对定位,没有脱离文档流,不占位置的有 absolute绝对定位和fixed固定定位,脱离了文档流。这个很重要,对我们布局标准流,有很大的影响。

我们一定要记住的口诀就是,子级绝对,父级相对。 这样对我们布局来说,是最合适的布局理念。

亲测代码如下:

 <!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title> <style>
div{ background-color: lime; border: solid #ff0000 1px ;width: 600px; height:50px;}
span{ background-color: cadetblue; } #div1{ position:static;left: 20px; top: 100px;} #div2{ position:fixed; left:20px; top:10px;} #div3{ position: absolute; left:300px; top:20px;} #div4{ position: relative; left:50px; top:50px;} #div5{ }
</style>
</head>
<body> this is css demo1
this is css demo2 <div id="div1">默认定位</div>
<div id="div2">固定定位脱离文档流,位置相对与整个浏览器视窗,原来位置被覆盖</div>
<div id="div3">绝对定位脱离文档流,位置相对与父元素或者浏览器左上角,原来位置被覆盖</div>
<div id="div4">相对定位,没有脱离文档流,保留原来的位置</div> <div id="div5">嵌套定位分析</div> <span> this is span1 </span>
<span> this is span2 </span>
<span> this is span3 </span>
<span> this is span4 </span> </body>
</html>

3、浮动 float

浮动只能左右浮动,即浮动的目点就是可以把多个块级元素放到想要的一行上。

请看下图,当把框 1 向右浮动时,它脱离文档流并且向右移动,直到它的右边缘碰到包含框的右边缘:

看到这图应该可以想到浮动跟盒子模型有关,也就是浮动到的位置 ,其次 浮动脱离了文档流;

从基础角度浮动就这么点东西了;

如果父元素包含的都是浮动元素会造成高度塌缩为零,解决办法有几个,这里写一个最简单的吧,

加一个空的容器 如div  设置

clear: both;--清除浮动对该元素的影响,这样空的div 的位置就不会因为浮动元素脱离文档流、而去填补之前的元素的位置,从而造成元素父元素的高度变为0;

clear:

描述
left 在左侧不允许浮动元素。
right 在右侧不允许浮动元素。
both 在左右两侧均不允许浮动元素。
none 默认值。允许浮动元素出现在两侧。
inherit 规定应该从父元素继承 clear 属性的值。
 <!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style> #div1,#div2{
width: 100px;height: 100px; border: dashed #ff0000 1px;
float: right;
}
#div3:after{ clear: both;
} </style>
</head> <body> <div id="content">
<div id="div1"></div>
<div id="div2"></div>
<div id="div3"></div> </div>
</body>
</html>
其他实现方式:
tag:after{ content: "";     clear: both;     display:table;

   

CSS(04) 定位的更多相关文章

  1. CSS 的定位方式和含义

    CSS 的定位方式和含义 总结一下 CSS 的定位方式.CSS 的定位 position 是处理页面布局时非常重要的属性. CSS 中有 3 种基本的定位机制:普通流.浮动和绝对定位. 在没有指定的情 ...

  2. CSS中定位机制的想法

    对于一个刚刚接触css的新手而言,CSS的定位机制可能是最让人头疼的一件事情了, 接下来我们了解一下CSS的定位机制. position:static | relative | absolute | ...

  3. 转:Selenium之CSS Selector定位详解

    CSS selector定位 CSS(Cascading Style Sheets)是一种语言,它被用来描述 HTML 和 XML 文档的样式.  百度输入框: <input name=&quo ...

  4. CSS 中定位的使用

    position relative 设置区块基准点为左上角(相对定位 以区块的左上角为基准点 仍然会暂居原来的位置) a.不影响元素本身的特性: b.不使元素脱离文档流: c.如果没有定位偏移量,对元 ...

  5. css的定位机制

    牛腩新闻发不系统中遇到了CSS(Cascading style sheets),第一次接触,比较陌生还!因为CSS很多关于元素定位的问题,并且很多情况下元素的位置以像素精度计.一个不小心就很头疼,为此 ...

  6. css区块定位之浮动与清除属性

    float属性将所属标记的显示空间指定为一个浮动元素,并使其周围对象按一定的方式环绕它排列. float属性的作用就象图像和表格的align属性一样,但可以用到任何元素上. clear属性的作用是禁止 ...

  7. CSS之定位布局(position,定位布局技巧)

    css之定位 1.什么是定位:css中的position属性,position有四个值:absolute/relative/fixed/static(绝对/相对/固定/静态(默认))通过定位属性可以设 ...

  8. Selenium自动化-CSS元素定位

    接下来,开始讲解 CSS元素定位. CSS定位速度快,功能多,但是不能向上查找,比 xpath好用,是本人认为最好用的定位方式   大致用法总结: 具体使用仿上篇博客.http://www.cnblo ...

  9. selenium中CSS选择器定位

    selenium元素定位,CSS选择器定位效率会高很多. CSS选择器用于选择你想要的元素的样式的模式.表格摘自“菜鸟教程”,具体用法可去查阅 选择器 示例 示例说明 CSS .class .intr ...

随机推荐

  1. 【转】Eclipse编辑shell的插件(shellEd)

    原文网址:http://blog.sina.com.cn/s/blog_a42d507e01019mlp.html Eclipse官方网站:http://download.eclipse.org/ 1 ...

  2. ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'

    use mysql mysql> select host, user from user; 将相应用户数据表中的host字段改成'%': update user set host='%' whe ...

  3. 开发者必须知道的HTML5十五大新特性

    HTML5想必大家都很熟悉了,因为太多的媒体在讨论这一技术.然而,你能准确地说出HTML5带来了哪些新特性吗?本文总结了HTML5带来的15项你必须知道的新特性. 一起来看下: 1.新的文档类型  ( ...

  4. 使用命令行设置svn忽略列表

    Windows 上的 TortoiseSVN 设置 svn 的忽略列表是非常方便的,但是在Mac OS X上,好用的图形化 svn 客户端都有点儿贵,比如 Versions 和 CornerStone ...

  5. Page 63-64 Exercises 2.3.7 -------Introduction to Software Testing (Paul Ammann and Jeff Offutt)

    Use the following method printPrimes() for question a-d below //Find and prints n prime integers pri ...

  6. Red Hat Linux认证

    想系统的学习一下Linux,了解了一些关于Red Hat Linux认证的信息.整理如下. 当前比较常见的是RHCE认证,即Red Hat Certified Engineer.最高级别的是RHCA ...

  7. 输出(test)

    本题要求从输入的N个整数中查找给定的X.如果找到,输出X的位置(从0开始数):如果没有找到,输出“Not Found”. 输入格式: 输入在第1行中给出2个正整数N(<=20)和X,第2行给出N ...

  8. 硬盘类型和Linux的分区

    目前硬盘主要分为以下几种:IDE,SCSI,SATA,SAS.其中SAS(Serial Attached SCSI)即串行连接SCSI,属于SCSI的新一代技术. 以下是Linux常见设备的名称: 装 ...

  9. 云计算分布式大数据Hadoop实战高手之路第七讲Hadoop图文训练课程:通过HDFS的心跳来测试replication具体的工作机制和流程

    这一讲主要深入使用HDFS命令行工具操作Hadoop分布式集群,主要是通过实验的配置hdfs-site.xml文件的心跳来测试replication具体的工作和流程. 通过HDFS的心跳来测试repl ...

  10. Mapreduce执行过程分析(基于Hadoop2.4)——(一)

    1 概述 该瞅瞅MapReduce的内部运行原理了,以前只知道个皮毛,再不搞搞,不然怎么死的都不晓得.下文会以2.4版本中的WordCount这个经典例子作为分析的切入点,一步步来看里面到底是个什么情 ...