网站首页 > 知识剖析 正文
CSS 提供了三种基本的定位机制:普通流、浮动和定位;通过这三种方式可实现页面的排版布局。
普通流
普通流中元素的位置由元素在 (X)HTML 中的位置决定:
- 块级元素独自占一行,在文本流中从上到下一个接一个地排列;
- 行内元素在一行中并排排列,遇到父元素的边沿会换行继续排列;
浮动
浮动会让元素脱离标准文档流,不再占原来的空间,可以让多个块级元素并排显示。
定位
定位是将元素定在某个位置,定位元素的层级要高于浮动元素;
通过定位可以让元素相对于其正常位置进行偏移出现在别的位置,或者相对于父元素、另一个元素甚至浏览器窗口本身的位置;
定位可以将元素放置在页面中的任何位置,这是标准文档流和浮动无法实现的。
CSS 通过 position 属性设置定位方式,其对应的属性值如下:
属性值作用
static静态定位,默认的定位方式
relative相对定位
absolute绝对定位
fixed固定定位
绝对定位和固定定位会改变元素的 display 属性,默认将元素转为行内块元素。
static 静态定位
按照标准文档流的规则来放置元素,基本不用;
relative 相对定位
相对于自己在标准文档流中的位置进行定位;原来的位置仍占有空间;
absolute 绝对定位
通过设置了定位的父级元素或祖先元素来进行定位:
- 如果父元素或祖先元素没有定位则相对于页面文档进行定位;
- 绝对定位的元素脱离标准文档流,不再占有原来的位置;
- 使用绝对定位的元素,其父元素一般设置为相对定位;
fixed 固定定位
- 相对于浏览器可视窗口进行定位,位置与父元素无关;
- 会将元素固定在窗口的某个位置不随页面的滚动而改变;
- 想实现元素的定位,只设置定位方式还是不够的,需要结合 CSS 中的方位属性来实现定位。
属性作用
left定位元素左外边距边界与其父元素左边界之间的偏移(元素的左边缘与参照元素位置间的距离)
right右边缘
top上边缘
bottom下边缘
属性值可以是 px、cm、% 等;使用时一般是 水平方向的属性(left、right)与垂直方向的属性(top、bottom)结合使用;top 与 bottom 不要同时使用,left 与 right 不要同时使用。
相对定位示例:
/* 父元素 */
.parent {
width: 400px;
height: 400px;
border: 1px solid gray;
}
/* 两个子元素 */
.box1,
.box2 {
width: 200px;
height: 200px;
}
.box1 {
/* 设置相对定位 */
position: relative;
/* 相对元素原来的位置距离上边缘 50px */
top: 50px;
/* 相对于原来的位置距左边缘 100px */
left: 100px;
background-color: green;
}
.box2 {
background-color: blue;
}
<div class="parent">
<div class="box1"></div>
<div class="box2"></div>
</div>
绝对定位示例:
/* 父元素 */
.parent {
width: 400px;
height: 400px;
/* 父元素设置相对定位 */
position: relative;
border: 1px solid gray;
}
/* 两个子元素 */
.box1,
.box2 {
width: 200px;
height: 200px;
}
.box1 {
background-color: red;
}
.box2 {
/* 设置绝对定位 */
position: absolute;
/* 距离父元素上边缘 50px */
top: 50px;
/* 距离父元素左边缘 100px */
left: 100px;
background-color: purple;
}
<div class="parent">
<div class="box1"></div>
<div class="box2"></div>
</div>
- 上一篇: 五线谱中,各谱号的相对位置
- 下一篇: 机械制图干货:如何判断空间直线与投影面的相对位置
猜你喜欢
- 2024-12-05 潍柴动力获得发明专利授权:“基于相对位置的中控屏解锁方法及系统”
- 2024-12-05 基于三维激光雷达相对定位的伴随无人机对微型飞行器的协同导航与制导
- 2024-12-05 玩转EXCEL:MATCH-返回搜索值的相对位置
- 2024-12-05 CAD里的相对坐标和绝对坐标有什么区别?如何使用?详细解说来了
- 2024-12-05 台达plc相对定位指令
- 2024-12-05 一文教你看懂三菱PLC定位指令应用
- 2024-12-05 机械制图干货:如何判断空间平面与投影面的相对位置
- 2024-12-05 基于VANET的车辆相对定位技术
- 2024-12-05 高中数学几何基础:点、直线、平面的位置关系
- 2024-12-05 机械制图干货:如何判断空间直线与投影面的相对位置
- 05-05vin码怎么查车型?车辆VIN码的第十位代表什么信息?
- 05-05Java数组数据的操作之检查日期格式是否正确
- 05-05苹果序列号怎么看生产日期和产地?
- 05-05参考文献中的M J N D字母代表什么?
- 05-05闲鱼交易技巧,满满的干货(闲鱼的交易流程怎么样的?我是买家)
- 05-05忘记自已多少岁了?可试试年龄计算器
- 05-05汽车-剖析、解析车架号(VIN)中的第10位-车型年份
- 05-05干货|史上最全波特酒年份指南(波特酒 年份)
- 最近发表
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)