深入理解CSS中的position、float、display属性,以及三者的关系

这篇文章主要讲了css中的position、floatdisplay属性,以及position、float、display属性之间的关系,有需要的朋友可以参考一下,希望可以帮助到你。

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 :此元素会作为块级表格来显示(类似

),表格前后带有换行符。

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

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

您可以使用 display 属性改 变生成的框的类型。这意味着,通过将 display 属性设置为 block,可以让内联元素(比如 元素)表现得像块级元素一样。还可以通过把 display 设置为 none,让生成的元素根本没有框。这样的话,该框及其所有内容就不再显示,不占用文档中的空间。
但是在一种情况下,即使没有进行显式定义,也会创建块级元素。这种情况发生在把一些文本添加到一个块级元素(比如 div)的开头。即使没有把这些文本定义为段落,它也会被当作段落对待:

 some text 

Some more text.

 

登录后复制

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

Css属性:display, position和float的关系

如果一个元素的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
其他任何的指定值都保持不变。

以上就是深入理解CSS中的position、float、display属性,以及三者的关系的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2891922.html

(0)
上一篇 2025年3月10日 22:19:40
下一篇 2025年2月28日 11:40:37

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • css实现文字溢出省略号的四种方法(附代码)

    本篇文章给大家带来的内容是关于css实现文字溢出省略号的四种方法(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 在项目中有涉及实现一行或者第几行后加省略号,在实现第几行后加省略号的时候,使用的是-webkit-l…

    2025年3月10日
    200
  • CSS浮动属性Float详解?史上最全Float详解

    我们在学习css样式的时候,都知道css是盒概念,并且每一个盒子都是一个元素,下面我们就对css浮动属性float进行详解,让你彻底了解float。 一:什么是Float浮动? Float浮动是css中的定位属性,我们知道文本可以按照围绕图…

    2025年3月10日
    200
  • 清除浮动的方法有哪些

    清除浮动的方法有clearboth的方法、设置clearfix的方法、overflow的方法以及给父元素设置双伪元素的方法 在我们写代码的时候,有时因为使用了float浮动元素而导致页面中某些元素不能正确的显示,接下来在文章中将为大家详细介…

    2025年3月10日
    200
  • CSS布局中flex、grid以及float属性之间的差别是什么

    在CSS布局中,flex、grid以及float属性的差别是flex属性适用于小的UI元素,grid属性适合用于为网站整体进行布局而float属性适合在较大的文本文章中设置图像 平时我们在写页面时为了实现各种网络布局,常常会用到flex或者…

    2025年3月10日 编程技术
    200
  • 如何理解position属性值及其特点

    position定位属性有四个属性值分别为static默认值表示没有定位,relative相对定位是相对于本身进行定位,absolute绝对定位是相对于有定位的父元素进行定位,fixed固定定位相对于浏览器窗口定位 今天将要介绍的是CSS中…

    2025年3月10日 编程技术
    200
  • position是什么意思?

    position属性规定元素的定位类型。这个属性定义建立元素布局所用的定位机制。任何元素都可以定位,不过绝对或固定元素会生成一个块级框,而不论该元素本身是什么类型。相对定位元素会相对于它在正常流中的默认位置偏移。 取值 static 默认值…

    2025年3月10日
    200
  • css中float什么意思

    css中的float表示的是浮动,当元素设置了float属性就会脱离标准流,浮动在其他元素上,它会根据属性值向左或者向右浮动 CSS中的float属性是一个频繁用到的属性,对于初学者来说,如果没有理解好浮动的意义和表现出来的特性,在使用的使…

    2025年3月10日
    200
  • css左浮动怎么写?

    在css中可以通过float属性来定义元素在哪个方向浮动;想要左浮动则只需将元素的float属性的值设置为left(float:left)即可。下面就来给大家介绍一下float属性,希望对你们有所帮助。 css float属性 float …

    2025年3月10日
    200
  • CSS 定位position属性详细介绍(附示例)

    前言:在使用css给页面进行排版美化的过程中,经常会用到pposition属性。那么,接下来我们就详细介绍一下position属性。 推荐视频教程:css视频教程 首先,我们先写一个HTML文件,利用css实现多行内容垂直居中。      …

    编程技术 2025年3月10日
    200
  • 为什么要清除浮动?怎样清除?(float)

    一、理解清除浮动 1、为什么要清除浮动 我们前面说过,浮动本质是用来做一些文字混排效果的,但是被我们拿来做布局用,则会有很多的问题出现。 由于浮动元素不再占用原文档流的位置,所以它会对后面的元素排版产生影响,为了解决这些问题,此时就需要在该…

    2025年3月10日 编程技术
    200

发表回复

登录后才能评论