position属性:position属性指出一个元素的定位方法。有4种可能值:static, relative, absolute or fixed:

  • static:默认值,元素按照在文档流中出现的顺序渲染
  • absolute:绝对定位,元素相对于它的第一个被定位的祖先元素(非static)来进行定位
  • fixed:元素相对于浏览器window进行定位
  • relative:元素相对与它的正常位置进行定位,因此"left:20"就表示在元素正常位置的基础上,左移20像素的距离。

float属性:float 属性定义元素在哪个方向浮动。以往这个属性总应用于图像,使文本围绕在图像周围,不过在 CSS 中,任何元素都可以浮动。浮动元素会生成一个块级框,而不论它本身是何种元素。

如果浮动非替换元素,则要指定一个明确的宽度;否则,它们会尽可能地窄。

注释:假如在一行之上只有极少的空间可供浮动元素,那么这个元素会跳至下一行,这个过程会持续到某一行拥有足够的空间为止。

  • none:默认值。元素不浮动,并会显示在其在文本中出现的位置。
  • Left:元素向左浮动。
  • Right:元素向右浮动。

display属性:display属性指定了一个DOM元素说使用的盒子模型(box)。即元素应该生成的框的类型。

  • Inline:默认。此元素会被显示为内联元素,元素前后没有换行符。
  • None: 此元素不会被显示。
  • Block: 此元素将显示为块级元素,此元素前后会带有换行符。
  • inline-block: 行内块元素。这个值导致一个元素产生一个块状盒模型(block box),而本身作为单一的内联盒模型(inline box)流动排列(flow),类似一个被替代的元素。Display值为inline-block的元素内部形成一个块状盒模型,而本身形成类似一个内联的被替代元素”。即display为inline-block的元素既可以像块状元素一样定义高度宽度,又可以和内联元素(比如文字)排列在一行。这个效果在页面设计的时候,很多地方都可以带来便利,最常见的莫过于设计导航时,既可以像inline元素那样实现居中,又可以设置像block元素那样设置单个菜单大小,还可以通过text-indent来隐藏文字显示背景图片。
  • list-item: 此元素会作为列表显示。
  • table :此元素会作为块级表格来显示(类似 <table>),表格前后带有换行符。

CSS框模型(盒子模型) 一切皆为框

div、h1 或 p 元素常常被称为块级元素。这意味着这些元素显示为一块内容,即“块框”。与之相反,span 和 strong 等元素称为“内联元素”,这是因为它们的内容显示在行中,即“行内框”。

您可以使用 display 属性改 变生成的框的类型。这意味着,通过将
display 属性设置为 block,可以让内联元素(比如 <a> 元素)表现得像块级元素一样。还可以通过把 display
设置为 none,让生成的元素根本没有框。这样的话,该框及其所有内容就不再显示,不占用文档中的空间。

但是在一种情况下,即使没有进行显式定义,也会创建块级元素。这种情况发生在把一些文本添加到一个块级元素(比如 div)的开头。即使没有把这些文本定义为段落,它也会被当作段落对待:

<div>

some text

<p>Some more text.</p>

</div>

在这种情况下,这个框称为无名块框,因为它不与专门定义的元素相关联。

Css属性:display, position和float的关系,参考:CSS2.1中的定义

  • 如果一个元素的display属性被设置为none,那么就不会生成元素对应的box,这种情况下,float和position被忽略
  • 否则(display非none),如果一个元素的
    position属性被设置为absolute或者fixed(都是绝对定位),这种情况下,float被忽略(float计算的值为
    none),display属性的值根据下表自动计算。box的位置取决于属性top,right,bottom,left以及box的容器
  • 否则(display非none,并且position非absolute、fixed),如果float的值不为null(为left或者right),那么box是浮动的并且display的值根据下表来计算
  • 否则(display非none,并且position非absolute、fixed,float为none),如果元素是根元素,display的值根据下表来计算。(这种情况下有一个例外:在CSS2.1中定义,当display被指定的值是list-item时,计算结果的display的值为block或者list-item)
  • 否则(display非none,并且position非absolute、fixed,float为none,不是根元素),那么就按照被指定的display的属性值来显示。

表格 display属性转换:

    • 指定值 inline-table   转成table
    • 指定值 inline, table-row-group, table-column, table-column-group,
      table-header-group, table-footer-group, table-row, table-cell,
      table-caption, inline-block    转成block
    • 其他任何的指定值都保持不变

转:http://desert3.iteye.com/blog/1562782

css position, display, float 内联元素、块级元素的更多相关文章

  1. CSS内联--与块级元素区别

    内联元素:1.内联元素(inline)不会独占一行,相邻的内联元素会排在同一行.其宽度随内容的变化而变化. 2.内联元素不可以设置宽高 3.内联元素可以设置margin,padding,但只在水平方向 ...

  2. css基础 行内元素 块级元素

    1.行内元素(内联元素 inlineElement) 特点:不占据一行,无法设置宽高及行高,其宽度随着内容增加,高度随字体大小而改变,margin只对左右起作用,上下无效. 常见有: a - 锚点,b ...

  3. HTML入门(转义字符、行内样式和块级元素、定位、锚点、跑马灯标签、图片标签、表格标签的讲解)

    一.转义字符由特殊字符包裹的文本 会当做标签去解析 对应不换行空格 对应全角空格 em是字体排印学的计量单位,相当于当前指定的点数.其占据的宽度正好是1个中文宽度,而且基本上不受字体影响.<对应 ...

  4. CSS块级元素和行内元素

    根据CSS规范的规定,每一个网页元素都有一个display属性,用于确定该元素的类型,每一个元素都有默认的display属性值,比如div元素,它的默认display属性值为“block”,成为“块级 ...

  5. css 内联与块

    内联元素可以理解为不能直接设置宽度和高度元素,比如span,你为他设置宽度和高度没有效果,除非你把它设置成块级元素. 如下面的代码把display:block;属性值去掉的话,宽度和高度都不会起作用了 ...

  6. HTML--内联元素与块级元素

    >>内联元素(inline element) a,span,input,select,label,img,textarea,sub,sup,li,i,small,strong,em,b,b ...

  7. CSS 中的内联元素、块级元素以及display的各个属性的特点

    CSS的内联元素和块级元素 块级元素<h1>-<h6>.p.dt是不可以内联块级元素的 1.block和inline这两个概念是简略的说法,完整确切的说应该是 block-le ...

  8. CSS 中的内联元素、块级元素、display的各个属性的特点

    CSS的内联元素和块级元素 块级元素<h1>-<h6>.p.dt是不可以内联块级元素的 1.block和inline这两个概念是简略的说法,完整确切的说应该是 block-le ...

  9. CSS/块级元素与内联元素的深入理解

    今天终于对html中的块级元素和行内元素有了一个较为理性的认识.首先w3c对于block和inline的解释为:

随机推荐

  1. linux下使用yum安装mysql详解

    1.安装客户端和服务器端 确认mysql是否已安装: ? 1 2 yum list installed mysql* rpm -qa | grep mysql* 查看是否有安装包: ? 1 yum l ...

  2. db2简单语句记录

    db2start db2 connect reset 断开连接 db2 drop db xxx 删除数据库 db2 list tables 查看表 db2 create database xxx 建立 ...

  3. Oracle脚本笔记

    //创建一个表create table  表名(字段名1 varchar2(20) not null);//多个用 , 隔开//添加字段alter table 表名add (字段名2 varchar2 ...

  4. 【故障处理】告警日志报“ORA-01565 Unable To open Spfile”

    [故障处理]告警日志报"ORA-01565 Unable To open Spfile" 1.1  BLOG文档结构图 1.2  故障分析及解决过程 1.2.1  故障环境介绍 项 ...

  5. OpenResty(nginx+lua) 入门

    OpenResty 官网:http://openresty.org/ OpenResty 是一个nginx和它的各种三方模块的一个打包而成的软件平台.最重要的一点是它将lua/luajit打包了进来, ...

  6. DGbroker三种保护模式的切换

    1.三种保护模式 – Maximum protection 在Maximum protection下, 可以保证从库和主库数据完全一样,做到zero data loss.事务同时在主从两边提交完成,才 ...

  7. 烂泥:学习ubuntu远程桌面(一):配置远程桌面

    本文由秀依林枫提供友情赞助,首发于烂泥行天下 公司服务器目前安装的都是ubuntu 14.04系统,而且由于业务需要,需要使用到ubuntu的远程桌面功能.所以本篇文章都是围绕ubuntu的远程桌面来 ...

  8. Altium Designer 出现错误提示(警告)adding items to hidden net GND/VCC

    一般出现这个提示,不是错误. 可以取消net 网格标号 这样就不会报这个警告了. 还可以设置规则,不让它报告. 点击确定,但是再次打开工程时有得警告这个错误了.我想,还是取消NET标注.

  9. 没学过CSS等前端的我,也想美化一下自己的博客

    随便说几句: 自己一直学的都是 C++和 Java 以及 Python语言,根本不懂高大上的 CSS 和 著名的 HTML5.感觉那些能自己设计那么漂亮的博客的朋友都好厉害.可以自己加上博客公告栏的小 ...

  10. RedHat 6.2 Linux修改yum源免费使用CentOS源

    在没有光盘的情况,需要安装软件包,就要用到共网的yum源来安装了. RedHat linux 默认是安装了yum软件的,但是由于激活认证的原因让redhat无法直接进行yum安装一些软件,如果我们需要 ...