CSS中使盒子移动方法总结
少BB,先总结:
- 外边距(margin)
- 定位(position)
- 2D移动(transform)
问题:如何将绿盒子向下移动200px?
html代码
<body><div class="box"><div class="one"></div><div class="two"></div></div>
</body>
CSS代码
<style>.box{height: 500px;width: 500px;background-color: darkgrey;}.one{width: 100px;height: 100px;background-color: orange;}.two{width: 100px;height: 100px;background-color: yellowgreen;}</style>
方式一:外边距(margin)
CSS规定盒子分别由:内容区域(content)、内边距区域(padding)、边框区域(border)、外边距区域(margin)四个部分组成;调整黄盒子下方margin值,使绿盒子移动(调整绿盒子上方margin值同样可以)。
⚠️注:行内元素的margin在水平方向有效,垂直方向无效。
属性 :
margin :数字+px
margin有四个方向取值:
1个值:上下左右
2个值:上下 、左右
3个值:上、左右、下
4个值:上、右、下、左
.box{height: 500px;width: 500px;background-color: darkgrey;}.one{width: 100px;height: 100px;background-color: orange;/* 调整黄盒子下方margin值移动 */margin: 0px 0px 200px 0px;}.two{width: 100px;height: 100px;background-color: yellowgreen;}
结果:
单方向移动:
margin-方向:数字+px;
如: margin-top: 200px;
margin-left: 200px;
margin-bottom: 200px;
margin-right: 200px;
.box{height: 500px;width: 500px;background-color: darkgrey;}.one{width: 100px;height: 100px;background-color: orange;}.two{width: 100px;height: 100px;background-color: yellowgreen;/* 调整绿盒子上方margin值移动 */margin-top: 200px;}
结果:
方式二:定位(position)
定位的应用场景:当一个盒子叠加在另一个盒子上,让上方盒子固定在某个位置。
设置定位方式:属性名position
属性值:(定位方式)
- 静态定位:static,静态定位就是和标准流一样,是不能通过方位属性进行移动的
- 相对定位:relative,需要配合方位属性+数字px 实现移动,是相对于原来自己的位置进行的移动没有脱离标准流。
- 绝对定位:absolute,需要配合方位属性+数字px 实现移动,是相对于最近的“有定位”的祖元素进行移动,若都没有则在浏览器可视范围内进行移动,脱离标准流。
- 固定定位:fixed,需要配合方位属性+数字px 实现移动,固定到浏览器,脱离标准流。
采用定位移动绿盒子的方法:子绝父相
意为:子元素,绝对定位,父元素,相对定位。
<style>/* 子绝父相 */.box{/* 父盒子,相对定位 */position: relative;height: 500px;width: 500px;background-color: darkgrey;}.one{width: 100px;height: 100px;background-color: orange;}.two{width: 100px;height: 100px;background-color: yellowgreen;/* 子元素,绝对定位;这里子元素参照的是父盒子,box */position: absolute;/* 绝对定位会脱离标准流 *//* 因参照父盒子,所以想让绿盒子在原有的位置上向下移动200px,既距离父盒子边框300px */top: 300px; }</style>
结果:
方式三:2D移动(transform)
属性:transform
属性值:translate(x轴数值+px,y轴数值+px)
⚠️注:在没有脱离标准流之前,使用transform,不会影响其他盒子的位置,但使用浮动等,使其脱离了标准流则会影响,对于行内元素是无效的。
<style>.box{height: 500px;width: 500px;background-color: darkgrey;}.one{width: 100px;height: 100px;background-color: orange;}.two{width: 100px;height: 100px;background-color: yellowgreen;/* 使用2D定位进行移动;x轴不移动值为0px,y轴移动200值为200px */transform: translate(0px,200px);}</style>
结果:
CSS中使盒子移动方法总结相关推荐
- 文字居中、CSS中实现盒子水平垂直居中的方法
1. 文字居中: 第一种方式: 当用text-align:center时,达到的是水平居中的效果,那再用vertical-align:middle:其实是实现不了垂直居中的,此时就需要用到displa ...
- html 中 css 中 使背景照片覆盖全屏
html 中 css 中 使背景照片覆盖全屏 #bg {background: url(../img/index.png);background-repeat: no-repeat;backgroun ...
- 总结html,css中的各种换行方法
html,css中的换行 1. css溢出与换行该如何处理 换行,注意:只对英文有效 a.长单词换行 word-wrap : normal : 默认,采用浏览器默认形式,不破坏单词结构 break-w ...
- css禁止图片保存,CSS中的图片保存方法
"css中的图片"指的就是镶在CSS样式表中的图片.在我们用在浏览器保存网页时,很多时候,下载网页里的图片都下载不到,这样的话就会使网页非常不美观.所以,今天小编就给大家介绍集中保 ...
- html里如何定位背景图片,Html+Css CSS中背景图片定位方法
CSS中背景图片的定位,困扰我很久了.今天总算搞懂了,一定要记下来. 在CSS中,背景图片的定位方法有3种: 1)关键字:background-position: top left; 2)像素:bac ...
- CSS中背景图定位方法
在CSS中,background-position的定位方法有三种. 如下: (1)关键字:background-position: top left (2)像素:background-positio ...
- php超链接样式,html和css中设置超链接样式方法的总结
在之前的文章中我们介绍了关于html中超链接的颜色设置,我们都也知道超链接在网站中都是无处不在的,超链接是跳转到另一个页面的入口,当你把鼠标移动到超链接上,会有颜色或者样式的改变,那么我们今天就给大家 ...
- php 换行 html_总结html,css中的各种换行方法
在web开发中,可以使用html中的br标签进行换行,如果在一个文章里可以在文章需要换行的地方加入 即可实现自动换行-常说的小换行,与换行前没有间隔:使用 标签来实现大换行.也可以使用css属性来实现 ...
- CSS中设置行间距的方法
在CSS中并没有为我们提供直接设置行间距的方式 我们只能通过设置行高来间接设置行间距,行高越大行间距越大 使用line-height来设置行高 行间距 = 行高 - 字体大小 通过 light-hei ...
最新文章
- 【数据结构链表】之五单链表
- sudo修改文件夹名字_修改mac os帐户的短名称和个人文件夹
- SSH基本原理和免密码登录
- 392. 判断子序列 golang 关于布尔类型返回值判断的思考
- 崩坏3服务器故障 临时维护,崩坏3 11.5游戏故障处理及补偿说明
- 【特征向量】——从线性代数角度看分解与合成
- Java-Concurrent 线程池ThreadPoolExecutor使用
- 我:一个女孩从软件测试工程师到主管的成长
- 【Spring-tx】事务逻辑
- MySQL数据库备份与恢复
- Ember copy array
- 国内主要安全产品及厂商
- HuangTools 绿色软件包 (Version 1.0.0)
- 读书笔记 ---《偷影子的人》
- WINDOWS10您需要 TrustedInstaller 提供的权限才能对此文件进行更改
- 阿里P9告诉你:P6-P10到底啥区别,别再傻傻分不清?怎样才能打怪晋级?
- 思科2960交换机 - 配置命令大全
- 在Unity顶部显示手机状态栏(iOS/Android)
- 办公室装修设计如何突出主题与风格
- android 设置路由器,安卓手机怎么设置路由器?