目录
1.position定位----相对定位(relative)
2.position定位----绝对定位(absolute)
3.position定位----固定定位 (fixed)
4.堆叠次序
5.行内元素设置宽高
6.居中问题
1.position定位----相对定位(relative)
相对定位的特性:
1 相对定位以元素自身的位置为基准
2 相对定位占位置
<style> div{ width: 50px; height: 50px; background-color: red; } div:nth-child(2){ background-color: green; position: relative; top: 10px; left: 50px; } </style>
复制
2.position定位----绝对定位(absolute)
绝对定位特性:
1 以父级为标准移动位置
若父级没有定位,则绝对定位的盒子以文档为准
若父级有定位,则绝对定位以父级为准移动位置
2 绝对定位不占有位置
<style> #father{ width: 350px; height: 350px; background-color: green; /* 父级定位 */ position: relative; top: 50px; left: 50px; } #son{ width: 200px; height: 200px; background-color: blue; position: absolute; top: 50px; left: 50px; } </style>
复制
子绝父相定位
<style> .father{ width: 500px; height: 100px; background-color: red; position: relative; } .down{ width: 600px; height: 200px; background-color: #000; } .father>div{ width: 40px; height: 40px; background-color: purple; position: absolute; } .son-l{ left: 0; top: 30px; } .son-r{ right: 0; top: 30px; } </style> <body> <div class="father"> father <div class="son-l">son1</div> <div class="son-r">son2</div> </div> <div class="down"></div> </body>
复制
3.position定位----固定定位 (fixed)
和父级没有任何关系 会脱标
4.堆叠次序
z-index:数值 数值越大越靠上,后面不要跟单位,只能是整数
<style> div{ width: 200px; height: 200px; background-color: red; position: absolute; } .one{ z-index: 3; } .two{ top: 50px; left: 50px; background-color: green; /* 数值越大越靠上 后面不要跟单位 只能是整数 */ z-index: 2; } .three{ top: 100px; left: 100px; background-color: blue; } </style>
复制
5.行内元素设置宽高
块级元素不设置width时,默认和父元素一样宽
行内设置宽度不生效,可以通过以下三种方式给行内元素设置宽高:
1 display:inline-block
2 绝对定位、固定定位
3 设置浮动
6.居中问题
横向居中:
行内、行内块、文字在块级里面横向居中:
给块级元素添加 text-align:center
行内、文字、行内块在行内块里面横向居中:
给行内块添加 text-align:center
块级在另一个块级里面横向居中:
给内部的块级加宽度(小于外部的),同时设置 margin:0 auto
纵向居中:
行内、文字在块级里面纵向居中:
给当前的块级+line-height=当前块级元素高度 前提是 行内和文字是单行的
行内块、在块级里面纵向居中:
给当前行内块+vertical-align:middle
给外部的块级+line-height:块级的高度
不一定百分百生效
块级元素在另一个块级里面纵向居中:
只能通过定位 top 50% margin-top:-自身高度的一半
绝对居中:
第一种:
分开横向居中+纵向居中
top:50%;margin-top:-自身高度的一半
left:50%;margin-left:-自身宽度的一半
第二种
left:0;top:0;right:0;bottom:0;
margin:auto