美文网首页
CSS中的几种定位

CSS中的几种定位

作者: 大胡子_biu | 来源:发表于2018-05-14 13:46 被阅读0次

CSS中常用的定位有

普通定位,相对定位

绝对定位、fixed定位

浮动

1、普通定位和相对定位

css中的元素有两种元素,块级元素和行级元素,块级元素每定义一个,第二个会自动换行,行级元素不会换行。如下图定义了三个块级元素div和两个行级元素span。

普通定位就是从上到下从左到右依次排布的布局。


普通定位代码 普通定位显示效果

相对定位是在普通定位的基础上作出一些变动,如本来这个元素应该在第二行的位置,设置position:relative,bottom:20px;他就会在原来普通定位中应处于的位置的基础上距离底部上浮20px;

他的位置浮动会使他的位置变化,但是他原本处于的文档空间不会改变。

比如相对定位使得本在第二行的元素div上浮了一行的高度,则他会和本来在第一行的元素叠加,但是他在第二行的位置还是会空在那里,下一个块级元素会从第三行开始布局。代码和效果如图

相对定位代码 相对定位效果

2、绝对定位和fixed定位

这两种定位都不占据文档空间,所以如果是普通流的元素遇到这些定位的元素会产生叠加情况。浮动元素也不占据文档空间

绝对定位是相对最近一个已经定位的祖先元素定位的,如果最近没有定位的祖先元素,则根据根元素定位。可以用来做提示框或者下拉搜索框。

代码和效果如图

绝对定位代码 绝对定位效果

上图可以看出

1、第一个空白背景框的div的祖先元素td已经使用了相对定位,虽然位置没有便宜,但是他的绝对定位是在哪个td元素的基础上进行定位的。

2、666的定位也是绝对定位,但是他没有已经定位的祖先元素,所以他的绝对定位是相对于根元素定位的。

3、空白框元素虽然占了很大的空间,但是背景灰色并没有铺满他所占的高度,这就是不占据文档空间,反观上面的普通定位和相对定位,都铺满了内含元素的背景。

fixed元素就是固定在浏览器某个位置的元素,绝对定位是固定在页面的,如果滚动滚动条的话绝对定位的元素也会滚上去,fixed元素不会。

通常用来写导航条或者回到顶部等。代码和效果如图。

fixed定位代码 fixed定位效果

3、浮动定位

浮动定位同样不占据文档空间,所以背景也不会铺满,下面例子中可以看出来。

浮动定位代码 浮动定位效果

1、浮动定位不占据空间

2、浮动定位会从左到右(这是左浮动,右浮动相反)依次排布,如果行宽不够则换行。换行的过程中如果左侧依然有元素占据,如下面的框1,则234会依次占据右侧空间。

相关文章

  • CSS中的几种定位

    CSS中常用的定位有 普通定位,相对定位 绝对定位、fixed定位 浮动 1、普通定位和相对定位 css中的元素有...

  • position属性详解(粘性布局)

    CSS中 position主要有以下几种定位方式 static 静态定位,元素处于文档流中,此时 top, rig...

  • html中的几种css定位

    1,static(默认) 当你没有为一个元素(例如div)指定定位方式时,默认为static,也就是按照文档的流式...

  • CSS之position定位

    在CSS中,使用position属性可以改变元素的定位方式,其取值有以下几种: static relative ...

  • css 定位的几种方式

    文档流/脱离文档流 文档流,指的是元素在排版布局过程中,元素会从自上到下,从左到右的顺序依次排列; 脱离文档流,指...

  • 页面中垂直居中的几种实现方法

    页面中垂直居中的几种方法: 1. 通过使用absolute定位来实现垂直居中 HTML: CSS: 2. 使用t...

  • CSS技术中的position定位几种方式

    在CSS中,我们是通过定位属性position来进行定位的,具体它有如下几个属性值。常见的属性有如下几个: 值描述...

  • CSS——布局与定位

    布局与定位是CSS学习中最重要的一块,它将贯穿你的整个前端职业生涯,这篇文章就介绍DIV+CSS的几种布局与定位方...

  • 定位

    CSS 中有 3 种定位机制:普通流、绝对定位、浮动。除非专门指定,否则所有框都在普通流中定位。 普通流 css中...

  • CSS 几种定位方式的区别

    static(静态定位) 默认值,设置 top,right,bottom,left 这些偏移属性不会影响静态定位的...

网友评论

      本文标题:CSS中的几种定位

      本文链接:https://www.haomeiwen.com/subject/uigddftx.html