前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【CSS】定位 ⑥ ( 使用绝对定位在父容器任意位置显示子容器 | 代码示例 )

【CSS】定位 ⑥ ( 使用绝对定位在父容器任意位置显示子容器 | 代码示例 )

作者头像
韩曙亮
发布2023-04-16 14:27:25
1.2K0
发布2023-04-16 14:27:25
举报
文章被收录于专栏:韩曙亮的移动开发专栏

一、需求分析及核心开发要点


要实现如下功能 , 下图 粉色 部分是 整体 父容器 , 紫色元素 是 中心的核心位置 , 蓝色是左上角的浮标 , 红色是右下角的浮标 ;

在这里插入图片描述
在这里插入图片描述

首先分析父容器元素 ;

由于 子元素 需要使用 绝对定位 , 此处的 父容器 必须设置 相对定位 ;

上图中 , 父容器存在 1 像素的边框 , 父容器 中设置一个内边距 ;

设置子元素浮动后 , 浮动的元素 可以覆盖到 内边距 范围 ;

代码语言:javascript
复制
		/* 最外层 父容器盒子 */
		.box {
			/* 子元素设置绝对定位 父元素需要设置相对定位 */
			position: relative;

			/* 内容尺寸 通过测量图片获得 */
			width: 300px;
			height: 200px;

			/* 边框 1 像素实线 */
			border: 1px solid #ccc;
			/* 上下设置 100 像素外边距 水平居中 */
			margin: 100px auto;
			/* 子元素与 */
			padding: 10px;

			background-color: pink;
		}

中心元素只需要设置宽高 , 其大小与 父容器 的尺寸大小一致即可 ;

这是一个标准流元素 , 在父容器中正常显示 ;

代码语言:javascript
复制
		/* 标准流元素 */
		.center {
			width: 300px;
			height: 200px;

			background-color: purple;
		}

左上角的子容器 , 需要覆盖 内边距范围 ,

此处不能使用浮动 , 浮动可以在标准流上方浮动显示 , 但是不能覆盖到 内边距范围 ;

也不能使用 相对定位 , 相对定位会保留元素原始位置 , 其它标准流元素无法使用该位置 ;

因此此处只能使用绝对定位 , 在设置了相对定位的父元素容器中 , 可以使用绝对定位在父容器的任意位置显示任何元素 ;

代码语言:javascript
复制
		/* 绝对定位元素 - 左上角 */
		.top {
			/* 子元素设置绝对定位 父元素需要设置相对定位 */
			position: absolute;
			/* 该盒子在父容器左上角 */
			/* 上边偏移 0 紧贴顶部 */
			top: 0;
			/* 左边偏移 0 紧贴左侧 */
			left: 0;

			/* 内容尺寸 */
			width: 80px;
			height: 80px;

			background-color: blue;
		}

同理 , 右下角的子元素也是这样设置的 ;

代码语言:javascript
复制
		/* 绝对定位元素 - 右下角 */
		.bottom {
			/* 子元素设置绝对定位 父元素需要设置相对定位 */
			position: absolute;
			/* 该盒子在父容器右下角 */
			/* 下边偏移 0 紧贴底部 */
			bottom: 0;
			/* 右边偏移 0 紧贴右侧 */
			right: 0;

			/* 内容尺寸 */
			width: 80px;
			height: 80px;

			background-color: red;
		}

二、完整代码示例


完整代码示例 :

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>绝对定位示例</title>
	<style>
		/* 最外层 父容器盒子 */
		.box {
			/* 子元素设置绝对定位 父元素需要设置相对定位 */
			position: relative;

			/* 内容尺寸 通过测量图片获得 */
			width: 300px;
			height: 200px;

			/* 边框 1 像素实线 */
			border: 1px solid #ccc;
			/* 上下设置 100 像素外边距 水平居中 */
			margin: 100px auto;
			/* 子元素与 */
			padding: 10px;

			background-color: pink;
		}

		/* 标准流元素 */
		.center {
			width: 300px;
			height: 200px;

			background-color: purple;
		}

		/* 绝对定位元素 - 左上角 */
		.top {
			/* 子元素设置绝对定位 父元素需要设置相对定位 */
			position: absolute;
			/* 该盒子在父容器左上角 */
			/* 上边偏移 0 紧贴顶部 */
			top: 0;
			/* 左边偏移 0 紧贴左侧 */
			left: 0;

			/* 内容尺寸 */
			width: 80px;
			height: 80px;

			background-color: blue;
		}

		/* 绝对定位元素 - 右下角 */
		.bottom {
			/* 子元素设置绝对定位 父元素需要设置相对定位 */
			position: absolute;
			/* 该盒子在父容器右下角 */
			/* 下边偏移 0 紧贴底部 */
			bottom: 0;
			/* 右边偏移 0 紧贴右侧 */
			right: 0;

			/* 内容尺寸 */
			width: 80px;
			height: 80px;

			background-color: red;
		}
	</style>
</head>
<body>
	<div class="box">
		<div class="top"></div>
		<div class="center"></div>
		<div class="bottom"></div>
	</div>
</body>
</html>

展示效果 :

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-04-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、需求分析及核心开发要点
  • 二、完整代码示例
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档