CSS定位属性(position)

static

relative

absolute

声明:本文为作者的学习笔记,是参考了别的作者的文章,并非原创,参考的原文地址由于时间久远也不清楚了,如有冒犯,可以联系我删除,谢谢。

position static

元素都有position属性,默认值为static,默认情况下,元素不接受位置属性设置(top、right、bottom、left)。另外如果元素设置了position属性,将会覆盖其默认值“static”。

下面的演示中,所有盒子都是静态的(即static),每个盒子在相邻盒子顶部,都是块元素,没有进行浮动。

<div id="box-set" class="group">
        <div class="box">Box1</div>
        <div class="box">Box2</div>
        <div class="box">Box3</div>
    </div>
#box-set{
    background-color: #eee;
}

.box{
    background:lightgreen;
    height:100px;
    line-height: 100px;
    width: 100px;
    text-align: center;
    color:#fff;
    border-radius: 10px;
}

结果如下图IMG_1:

IMG-1

position relative

relative与static相似,但是relative可以给元素设置位移(offset)“top、right、bottom、left”属性,通过这些位移属性可以给元素进行精确的定位。

盒子的位移属性是如何工作的?

盒子的位移属性有四个“top、right、bottom、left”,用来指定元素的位置和方向。这些属性只能在元素设置了“relative、absolute和fixed”属性值时才有效。

相对定位(relative):是相对于元素本身移动。

绝对定位(absolute):是相对于设置了除static以外的第一个父元素进行定位的。

固定定位(fixed,生成绝对定位的元素):相对于浏览器窗口进行定位。

来看他们是如何工作的:

<div id="box-set" class="group">
        <div id="box" class="box-1">Box1</div>
        <div id="box" class="box-2">Box2</div>
        <div id="box" class="box-3">Box3</div>
        <div id="box" class="box-4">Box4</div>
    </div>
#box-set{
    background-color: #eee;
}

#box{
    background:lightgreen;
    height:100px;
    line-height: 100px;
    width: 100px;
    text-align: center;
    color:#fff;
    border-radius: 10px;
    position: relative;
}

.box-1{
    top:20px;

}
.box-2{
    left:20px;

}
.box-3{
    bottom:20px;  /*top的优先级高*/
    top:20px;
}
.box-4{
    left:20px;
    right:20px;   /*left的优先级高*/
}

可以看出,相对定位是相对于元素本身进行移动的。

当一个相对定位元素同时设置了“top”和“bottom”属性值时,top的优先级高于bottom。当一个相对定位元素同时设置了“left”和“right”属性值时,优先级取决于页面使用哪种语言,英文时,left优先级高,本例在中文情况下,left优先级高。

position absolute

绝对定位是相对于设置了相对定位的父元素进行移动的,如果父元素没有设置相对定位,那么该元素会相对于页面主体进行移动。

绝对定位元素会脱离文档流,直接从文档流中移出。

当绝对定位元素没有设置属性值时,绝对定位元素会和设置了相对定位元素的父元素顶部左部重合,设置了值后会相对该父元素移动。

演示如下:

HTML代码与上面相同

css代码如下

#box-set{
    background-color: #eee;
   position:relative;
   height:200px;
}

#box{
    background:lightgreen;
    height:80px;
    line-height: 80px;
    width: 80px;
    text-align: center;
    color:#fff;
    border-radius: 10px;
    position: absolute;
}

.box-1{
    top:6%;
    left:2%;

}
.box-2{
    right:-20px;

}
.box-3{
    bottom:-10px;
    right:20px;
}
.box-4{
    bottom:0;
}

结果如下图IMG_2:

IMG-2

position fixed

固定定位于绝对定位类似,但是他是相对于浏览器窗口,并且不会碎滚动条进行滚动。

演示:

HTML代码同上

CSS代码如下:

#box-set{
    background-color: #eee;
   position:relative;
   height:200px;
}

#box{
    background:lightgreen;
    height:80px;
    line-height: 80px;
    width: 80px;
    text-align: center;
    color:#fff;
    border-radius: 10px;
    position: absolute;
}

.box-1{
    top:6%;
    left:2%;

}
.box-2{
    right:-20px;

}
.box-3{
    bottom:-10px;
    right:20px;
}
.box-4{
    bottom:0;
}

效果:

IMG-3

可以看出元素是相对浏览器窗口进行移动的。

fixed的常见的用途是在页面上创建一个固定的头部或者脚步或者固定在页面上的一个侧面。

示例:

<footer>Fixed Footer</footer>
footer{
    bottom:0;
    left:0;
    position:fixed;
    right:0;
    height:70px;
    line-height: 70px;
    text-align: center;
    background-color: lightgreen;
}

效果:

IMG-4

原文地址:https://www.cnblogs.com/MandyCheng/p/8196481.html

时间: 2024-08-26 13:11:49

CSS定位属性(position)的相关文章

CSS定位属性position

CSS定位元素有3种方式 :普通流.相对位置.绝对位置.通过设置position属性来实现. position属性取值的含义 inherit 继承父元素position 属性的值. static 默认值.没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明). relative 生成相对定位的元素,相对于元素本身正常位置进行定位.因此,"left:20" 会向元素的 LEFT 位置添加 20 像素. absolute 生成绝

css 定位属性position的使用方法实例-----一个层叠窗口

运行结果: <!DOCTYPE html> <html> <head> <title>重叠样式窗口</title> <style type="text/css"> div.window{ /*指定窗口的尺寸和边框*/ position:absolute; /*position在其他地方指定*/ width: 300px; /*窗口尺寸,不含边框*/ height: 200px; border: 3px outset

CSS定位属性-position

一.可能的属性值 1.static:默认值.没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明). 2.absolute:绝对定位.对象脱离常规流,是基于整个屏幕,生成绝对定位的元素,此时偏移属性参照的是离自身最近的定位祖先元素,如果没有定位的祖先元素,则一直回溯到body元素.它的父级元素如果设置 relative ,那就就是基于它的父元素的左上角计算. 3.fixed:固定定位.与absolute一致,生成绝对定位的元素,但偏移

css中的定位属性position

同样的也是上课的时候发现学生难以理解的一些问题拿出来记录一下,希望帮助初学者. 在css中定位属性position的运用在页面中是很常用的,特别是一些结合js来实现的一些特效经常会用到定位属性,比如鼠标滑过显示被隐藏的盒子, banner的切换,还有之前写的jquery实现京东商品分类导航的类似这样的布局也是要结合定位属性来实现,但是上一次着重只写了jquery. 那么这次我想将定位属性的运用拿来说一下. 定位属性position常用的取值:relative/absolute/fixed;一般配

CSS学习------CSS定位(position)与浮动(float)

position属性:用来对元素进行定位 定位的意义: 定位允许你定义元素框相对于其正常位置应该出现的位置. 相对于父元素. 相对于另一个元素. 相对于浏览器窗口本身的位置. 定位分为:绝对定位和相对定位. 相对定位: 如果对一个元素进行相对定位,它将出现在它所在的位置上.然后,可以通过设置垂直或水平位置,让这个元素"相对于"它的起点进行移动. 在使用相对定位时,无论是否进行移动,元素仍然占据原来的空间.因此,移动元素会导致它覆盖其它框. 示例: <html>   <

CSS 详细解读定位属性 position 以及参数

一直对这个属性不懂,终于找到一个地址,看懂了说明.原地址https://blog.csdn.net/fen584521/article/details/52123368 position 定位属性,是CSS中非常重要的属性.除了文档流布局,就是定位布局了. 其参数主要有以下: absolute 生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位. 元素的位置通过 “left”, “top”, “right” 以及 “bottom” 属性进行规定. fixed 生成绝对定位的

CSS 定位之position

在前端网页布局中,在同一平面上布局,我们大都采用float属性来定位网页元素的位置.但是涉及到弹出层.浮层.页面广告插件等等,都需要CSS中的position属性来定位了,对于初学者来说经常分不清楚是应该用position属性的absolute值.relative值.fixed值等等,下面我们就position属性基本的这三个值的用法做一些简单的介绍,希望对初学者有些帮助. 1.position的absolute(绝对定位) 在这里position的absolute绝对定位我们分两类来讲: A:

CSS定位属性之间的相互作用

0. 目录 目录 引言 正文 1 DISPLAY NONE 2 POSITION ABSOLUTE OR FIXED Float DISPLAY 3 FLOAT LEFT OR RIGHT DISPLAY 4 POSITION STATIC 偏移值 声明 1. 引言 原文:bitsofcode的HOW POSITIONING CSS PROPERTIES INTERACT 译者:爱前端,乐分享的FedFun,前端痴王海庆的博客. 译言:来看下CSS标布局情况下,定位相关属性之间的相互作用,意译为

css定位属性

定位(position) 定位是CSS里很重要的一个属性,作用:检索或者设置元素的定位方式(改变元素位置的属性) 其中有很多的属性值也有很多今天就先讲五种定位: 1.  static    静态定位: static 静态定位是position的默认值,默认文本流的状态,不会识别left right top bottom值指定的坐标. 2.  absolute  绝对定位: a : 参照物:按照已经有定位的父元素进行位置的变化. b : 假如 当前没有父元素 或者 父元素没有定位的情况下,以整个文

css定位属性的运用

position定位属性,检索或设置对象的定位方式 CSS的定位属性有分为静态定位.绝对定位.相对定位.固定定位.黏性定位. position:static;                 <!-- 静态定位 --> position:absolute;            <!-- 绝对定位 --> position:relative;              <!-- 相对定位 --> position:fixed;                  <