欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

定位

程序员文章站 2022-03-18 22:00:40
...

定位的原理:
在文本流中,任何一个标签都被文本流限制了自身的位置,但是通过CSS我们依然使得这些标签可以改变自己的位置,通过float来让标签浮动,也可以通过margin来让标签产生位置移动。
CSS定位属性,允许定义标签框相对于其正常位置应该出现的位置,或者相对父标签、甚至浏览器窗口本身的位置。定位的位置值可以是left right top bottom。元素坐标点(left top) (right bottom)
定位的属性名 position;
定位的类型:
1.static 静态定位(默认值)相当于标准文本流
2.relative 相对定位 相对定位使元素发生位置变化,以自身的初始值左上角作为参考,并没有脱标还保留自身的位置 作用 微调元素的位置 相当于外边距 但是不会影响其余元素的位置还是有层次感;
3.绝对定位:绝对定位大元素 会以距离最近的拥有定位属性(不包含static)的父级元素的左上角作为参考放置,并不会占据原来的位置 脱离标准流 随着滚动条发生变化
4.固定定位:脱离标准流 参考位置就是body左上角 随着滚动条不发生变化

定位类型 位置变化 脱离标准 参考值 位置值
static 没有 不脱标(默认值) left right top bottom
relative 不脱标(保留原来位置) 自身原来位置 left right top bottom
absolute 脱标(不保留原来位置) 以最近的拥有定位(不包含static)属性的父级元素左上角 left right top bottom
fixed 脱标(不保留原来位置) 以浏览器窗口左上角 left right top bottom
1.定位居中

div {

width:200px;
height:300px;  // 此方法的缺点是必须知道此盒子具体的宽高
position:fixed/absolute;

left:50%;  //向右移动父盒子宽度的一半 
top:50%;//向下移动父盒子宽度的一半 
margin-left: -w/2; // 向左移动自身宽度的一半
margin-top:-h/2;

}
.center {

    position: absolute;
    left:0;
    top:0;
    right:0;
    bottom:0;
    margin: auto;
    /* 必须要知道子元素的宽高和刚刚的方法是一样的作用 */
    width: 200px;
    height: 200px;
    background-color: skyblue;
    
}
相关标签: 定位