html中的默认坐标,HTML 属性 Position

定位 (position)

元素的定位属性

元素的定位属性主要包括定义模式和边偏移两部分。

1、边偏移

边偏移属性

描述

top

顶端偏移量,定义元素相对于其父元素上边线的距离

right

右侧偏移量,定义元素相对于其父元素右边线的距离

bottom

底部偏移量,定义元素相对于其父元素下边线的距离

left

左侧偏移量,定义元素相当于其父元素左边线的距离

也就是说,以后定位要和这偏移量配合使用,比如 top: 100px; left: 30px;等等

2、定位模式

​ 在css中,position属性用于定义元素的定位模式,其基本语法格式如下:

​ 选择器{position: 属性值;}

​ position属性的常用值

描述

static

自动定位(默认的定位方式)

relative

相对定位,相对于其原文档流的位置进行定位

absolute

绝对定位,相对于其上一个已经定位的父元素进行

flxed

固定定位,相对于浏览器窗口进行定位

position: static(静态定位)

静态定位(默认值)

​ 静态定位是所有元素的默认定位方式,当position属性的取值为static时,可以将元素定位于静态定位,所谓静态位置就时各个元素在HTML文档流中默认的值。

​ 白话:就时网页中所有元素都默认的是静态定位哦!其实就是标准流的特性。

​ 在静态定位状态下,无法通过边偏移属性来改变元素的位置。

position: relative(相对定位)

相对定位(自恋型)

​ 相对定位是将元素相对于在标准流中的位置进行定位,当position属性的取值为relative时,可以将元素定位于相对位置。

​ 对元素设置相对定位后,可以通过边偏移属性改变元素的位置,但它在文档流中的位置依然保留。

注意:

​ 1、相对定位最重要的一点是,它可以通过边偏移移动位置,但是原来占有的位置,继续占有。

​ 2、其次,每次移动位置,是以自己的左上角为基点移动(相对于自己来移动位置),就是说,相对定位的盒子仍然在标准流中,它后面的盒子 仍然以标准流方式对待它。(相对定位不脱标)。

​ 如果说浮动的目的是让多个块级元素在一行显示,那么定位的主要价值就是移动位置,让盒子到我们想要的位置上去。

​ 相对定位占有位置是不脱标的。

position: absolute(绝对定位)

绝对定位 (拼爹型)

​ 绝对定位的元素的位置相对于最近已经定位的父级元素,如果元素没有已定位的祖先元素,那么它的位置相对于最初的包含块。

​ 绝对定位是完全脱标的,不占有位置 (漂起来的)。

​ 绝对定位父亲没有定位,孩子以浏览器为基准点对齐。

​ 绝对定位父亲又定位,孩子以最近的带有定位的父级为基准点对齐(absolute和relative都可以)。

子绝父相

如果给父亲加绝对定位影响布局,所以给父级加相对定位。

父亲加相对定位,孩子加绝对定位,最好。

定位的盒子水平居中

加了绝对定位过的盒子margin: 左右 auto;不起作用。

定位盒子的水平居中的算法

1、先让子盒子走父盒子的width的一半及left: 50%;。

2、再让子盒子向反方向走自己宽度的一半 (外边距margin-left: 负的自身一半;)。

定位的盒子垂直居中

1、先让盒子走父级盒子的height一半及top: 50%;

2、在让子盒子向反方向走自身height一半 (margin-top: 负的自身一半;)。

相对定位于绝对定位的使用

Documenttitle>

margin:0;

padding:0;

}

.da {

width:800px;

height:400px;

background-color:#000;

border:1px solid #ccc;

margin:20px auto;

position:relative;

}

.xiao {

width:800px;

height:400px;

}

.da a{

display:inline-block;

width:64px;

height:64px;

background-color:rgba(0,0,0, .3);

position:absolute;

top:50%;

margin-top:-32px;

}

.l {

left:0;

}

.r {

right:0;

}

ul {

width:140px;

height:20px;

background-color:rgba(255,255,255, .4);

position:absolute;

bottom:10px;

left:400px;

margin-left:-70px;

border-radius:20px 20px;

line-height:20px;

}

ul li{

list-style:none;

float:left;

height:10px;

width:10px;

background-color:rgba(255,255,255, .5);

margin:5px;

border-radius:50%;

}

.current {

background-color:#f10215;

}style>

head>

a>

a>

li>

li>

li>

li>

li>

li>

li>

ul>

div>

body>

html>

position: fixed(固定定位)

固定定位(认死理型)

固定定位是绝对定位的一种特殊形式,类似于正方形是一个特殊的矩形。它以浏览器窗口作为参照物来定义网页元素。当position属性的取值为fixed时,即可将元素的定位模式设置为固定定位。

当对元素设置固定定位后,它将脱离标准文档流的控制,始终依据浏览器窗口来定义自己的位置,不管浏览器滚动条如何滚动也不管浏览器窗口大小如何变化,该元素都会始终显示在浏览器窗口固定的位置。

固定定位有两点:

​ 1、固定定位的元素和父级元素没有任何关系,只认浏览器。

​ 2、固定定位完全脱标,不占有位置,不随滚动条滚动。

1e6等低版本浏览器不支持固定定位。

固定定位案例:

Documenttitle>

margin:0;

padding:0;

}

ul,a{

list-style:none;

text-decoration:none;

}

.w{

width:50%;

margin:0 auto;

}

nav{

width:100%;

height:41px;

background:#FCFCFC;

border-top:3px solid #FF8500;

border-bottom:1px solid #edeef0;

position:fixed;

left:0;

top:0;

z-index:1;

}

nav a{

display:inline-block;

height:41px;

line-height:41px;

font-size:14px;

color:#4c4c4c;

text-decoration:none;

padding:0px 15px;

}

nav a:hover{

background:#eee;

}

.zx{

height:2000px;

background-color:skyblue;

margin:45px auto;

position:relative;

}

.new{

position:absolute;

left:50%;

top:200px;

margin-left:-119px;

height:294px;

width:238px;

border:1px solid #D9E0EE;

border-top:3px solid #FF8400;

}

h3{

height:35px;

font-size:16px;

font-weight:normal;

line-height:35px;

border-bottom:1px solid #d9e0ee;

padding-left:12px;

}

.new img{

width:220px;

height:160px;

margin:7px 0 0 9px;

}

.new ul{

margin-left:8px;

}

.new ul li{

padding-left:12px;

line-height:26px;

background:url("1.png") no-repeat left center;

background-size:5px 5px;

}

.new ul li a{

font-size:12px;

color:#666;

}

.cebian{

position:fixed;

margin:40px 100px;

}

.cebian ul li{

height:50px;

width:100px;

line-height:50px;

font-weight:400;

font-size:18px;

text-align:center;

border-radius:10%;

cursor:pointer;

}

.cebian ul li:hover{

background-color:#f10215;

color:#fff;

}

.cebian .c_red{

background-color:#f10215;

color:#fff;

}style>

head>

首页a>

手机新浪网a>

网站导航a>

三个字a>

div>

nav>

热门li>

头条li>

视频li>

新鲜事li>

榜单li>

搞笑li>

创意li>

社会li>

工艺li>

健身li>

时尚li>

电影li>

ul>

div>

搜素趣图h3>

你好明天 会更好a>li>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值