网页排版中的浮动和定位(学习笔记)

CSS中的浮动和定位

在了解CSS中的浮动和定位之前有必要先了解清楚标准流和脱离标准流的特性

虽然浮动和定位很重要,但是在以后的网页写作中,还是尽量少用,最好别乱用,不然后面问题很大,特别是对初学者。最好要把浮动和定位要搞清楚在使用。

标准流的默认特性

1、分行、块级元素,并且能够dispay转换。

2、块级元素(block):默认独占一行,不能并列显示,能够设置宽、高,宽度为父盒子的100%。例如:div、p、标题元素(h1-h6)、列表元素(ul li、dl dt dd)

3、行内元素(inline):默认并排显示,不能设置宽、高,宽度为内容的宽度。例如:span、a、b、i

4、margin-bottom 和margin-top 塌陷,以最大值为准。

脱标的元素的特性

只要是脱离了标准流,元素都是不区分行、块的,体现在任何元素都可以设置宽、高了。都有了收缩的 性质,就是不设置宽度,就自动缩减为里面内容的宽度。

浮动的元素有贴边的性质,绝对定位的元素可以自由定位。

浮动float

浮动可以使块级元素并排显示,用于页面布局。

注意:某个元素设置了浮动,则同级元素都需要设置浮动。

有高度的父盒子不用清除浮动,否则都需要清除浮动:

1)给父盒子加 { overflow: hidden;_zoom:0 /*IE6 的兼容性问题*/}

2)隔墙法:给浮动元素的父盒子下加墙.clear{ clear: both;height: 10px;_font-size: 0; /*IE6 的兼容性问题*/}

定位position

  • position:relative; 相对定位
  • position:absolute; 绝对定位
  • position:fixed; 固定定位
  • position:static;默认,没有定位

1、position: relative;

相对定位不脱标,仅设置position: relative 没有任何效果

相对定位是相对自己原来的位置进行移动,原位置保留,margin 将作用在原位置上

相对定位的用途非常的小,就是微调元素的位置

2、position:absolute;

绝对定位top left 是以页面左上角作为参考。在实际应用中很少单独使用,通常会“子绝父相”给父盒子设置position: relative;(相对定位),这样子盒子会以父盒子作为参考。

1)绝对定位的盒子,不能以任何方式用margin 影响别的盒子

2)父盒子的padding 不会影响绝对定位的子盒子

3、position:fixed;

相对于浏览器窗口为参考定位

CSS中能够脱标的属性有3个:

  • float:left/right
  • position:absolute; 绝对定位
  • position:fixed; 固定定位

时刻鼓励自己:

 

       埋头读书,抬头做人!

 

  不登高山不知天之高也,不临深溪不知地之厚也

 

  懦弱的人只会裹足不前,莽撞的人只能引为烧身,只有真正勇敢的人才能所向披靡

 

  我们这个世界,从不会给一个伤心的落伍者颁发奖牌。

 

  海浪的品格,就是无数次被礁石击碎又无数闪地扑向礁石、

 

  鞋底磨穿了,不等于路走到了头。

 

  松驰的琴弦,永远奏不出时代的强音。

 

  躺在被窝里的人,并不感到太阳的温暖。

 

  不安于现状,不甘于平庸,就可能在勇于进取的奋斗中奏响人生壮美的乐间。

 

  不去耕耘,不去播种,再肥的沃土也长不出庄稼,不去奋斗,不去创造,再美的青春也结不出硕果。

时间: 2024-08-26 16:33:49

网页排版中的浮动和定位(学习笔记)的相关文章

CSS浮动和定位学习笔记

1.首先先看一下浮动 (1)左浮动:元素本身经可能的左移动,知道碰到边框或者是别的浮动元素,把他右边的位置让给别的元素.如果右边的空间不够则自动换行.浮动对于快元素和行内元素都生效. (2)右浮动:与左浮动相反. 2.CSS中的几种定位方式 (1)static:默认的定位方式. (2)relative(相对定位):元素偏离某个距离,元素保持未定位前的形状,他原本占有的空间保留,从这一角度看,好像元素本身仍然在文档刘/标准流中一样.relative的参照点是他原来应该出现的位置. (3)absol

contiki-main.c 中的process系列函数学习笔记 <contiki学习笔记之六>

说明:本文依然依赖于 contiki/platform/native/contiki-main.c 文件. ------------------------------------------------------------------------------------------------------------------------------------- 根据上一个笔记里面添加的printf()语句的打印信息提示,hello world 打印是在执行了 1 autostart_

关于linux操作系统中进程相关问题的学习笔记

关于linux操作系统中进程相关问题的学习笔记 1.摘要   进程的经典定义是一个执行中程序的实例.系统中的每个程序都运行在某个进程的上下文中(contest)中.上下文是由程序运行正确运行所需的状态组成的.这个状态包括存放在内存中的程序的代码和数据,它的栈.通用目的寄存器的内容.程序计数器.环境变量以及打开文件描述符合的集合.在本次学习笔记中,我是以linux为例,学习了以下三个方面的知识:操作系统如何组织进程.进程状态如何转换以及进程是如何调度的.在最后我还谈了下自己对操作系统进程模型的一些

Delphi中Chrome Chromium、Cef3学习笔记(三)

Delphi与JS的交互问题: 一.执行简单的JS 上一篇已经讲过: chrm1.browser.MainFrame.ExecuteJavaScript('alert("abc");','about:blank',0); chrm1.browser.MainFrame.ExecuteJavaScript('function aaa(){alert("abc");}aaa();','about:blank',0); 二.注入自定义的JS 首先必须在网页加载完成之后,才

Delphi中Chrome Chromium、Cef3学习笔记(一)

官方下载地址:https://cefbuilds.com/ CEF简介: 嵌入式Chromium框架(简称CEF) 是一个由Marshall Greenblatt在2008建立的开源项目,它主要目的是开发一个基于Google Chromium的Webbrowser控件.CEF支持一系列的编程语言和操作系统,并且能很容易地整合到新的或已有的工程中去. 它的设计思想政治就是易用且兼顾性能.CEF基本的框架包含C/C++程序接口,通过本地库的接口来实现,而这个库则会隔离宿主程序和Chromium&We

java中的序列化和反序列化学习笔记

需要序列化的Person类: package cn.itcast_07; import java.io.Serializable; /* * NotSerializableException:未序列化异常 * * 类通过实现 java.io.Serializable 接口以启用其序列化功能.未实现此接口的类将无法使其任何状态序列化或反序列化. * 该接口居然没有任何方法,类似于这种没有方法的接口被称为标记接口. * * java.io.InvalidClassException: * cn.it

Python - mysql中导入CSV数据 【学习笔记】

<span style="font-size:18px;">导出 mysql> INSERT INTO test_main -> SELECT 1, 'A' UNION ALL -> SELECT 2, 'B' UNION ALL -> SELECT 3, 'C'; Query OK, 3 rows affected (0.01 sec) Records: 3 Duplicates: 0 Warnings: 0 mysql> mysql>

韩顺平_PHP程序员玩转算法公开课(第一季)02_单链表在内存中存在形式剖析_学习笔记_源代码图解_PPT文档整理

文西马龙:http://blog.csdn.net/wenximalong/链表——最灵活的数据结构链表用来解决复杂的问题和算法是很方便的. 内容介绍1.什么是链表2.单向链表3.双向链表4.环形链表5.使用环形链表解决约瑟夫问题 链表——什么是链表链表是有序的列表,但是它在内存中是分散存储的. 链表无处不在,比如在操作系统中,文件和文件之间,文件块和文件块之间,是靠链表链接起来的.使用链表可以解决类似约瑟夫问题,排序,索引,二叉树,广义表... 链表——单链表的快速入门使用head头的单向链表

Oracle使用触发器和mysql中使用触发器的比较——学习笔记

一.触发器 1.触发器在数据库里以独立的对象存储, 2.触发器不需要调用,它由一个事件来触发运行 3.触发器不能接收参数 --触发器的应用 举个例子:校内网.开心网.facebook,当你发一个日志,自动通知好友,其实就是在增加日志的时候做一个出发,再向表中写入条目. --触发器的效率很高 举例:论坛的发帖,每插入一个帖子都希望将版面表中的最后发帖时间,帖子总数字段进行同步更新,这时使用触发器效率会很高. 二.Oracle 使用 PL/SQL 编写触发器 1.--PL/SQL创建触发器的一般语法