清除浮动和元素居中

本文详细介绍了CSS中清除浮动的四种方法,包括加高法、clear:both、overflow:hidden和隔墙法,并分别展示了它们的优缺点。接着,文章探讨了元素的居中布局,包括水平居中、垂直居中以及水平垂直绝对居中的多种实现方式,如margin auto、position absolute结合transform等。这些技巧对于前端开发者来说是日常工作中必不可少的知识点。
摘要由CSDN通过智能技术生成

清除浮动的方法
  • 加高法——给祖先元素一个高度
     浮动的元素只能被有高度的盒子关住,缺点:麻烦且不能适应页面的变化
  • clear:both——写在要清除浮动的盒子上
     缺点:margin属性会失效
  • overflow:hidden——写在浮动元素的父级上
     正常情况下,父级不会被浮动的子级撑出高度,但有了这个属性,父级可以被撑出高度,margin依然有效
  • 隔墙法——在浮动元素之间放一个块级元素
     可放在浮动的盒子里面,这样它也能被撑出高度;或放在两个盒子之间,但这样浮动盒子没有高度
元素居中
//html结构
<div class="parent">
    <div class="child">dfdf</div>
 </div>
水平居中

宽度确定

//margin:0 auto
<div style="width:300px;height: 100px;border: 1px solid #f00;">
    <div style="width: 100px;height: 20px;background-color: #0f0;margin: 0 auto;"></div>
</div>
//position + margin + left
.parent {
      width: 400px;
      height: 100px;
      background: #bbb;
      position: relative;
    }
    .child {
      width: 200px;
      height: 100px;
      background: #333;
      position: absolute;
      left: 50%;
      margin-left: -100px;
    }
垂直居中

高度确定,适用于行级元素

//height + line-height
.parent {
      width: 400px;
      height: 200px;
      background: #bbb;
      line-height: 200px;
    }
水平垂直绝对居中
//1. position+ transform
.parent {
      width: 400px;
      height: 100px;
      background: #bbb;
      position: relative;
    }
    .child {
      width: 100px;
      height: 100px;
      background: #333;
      position: absolute;
      left: 50%;
      top:50%
      transform: translate(-50%,-50%);
    }
//2. 弹性布局
.parent {
      width: 400px;
      height: 200px;
      background: #bbb;
      display: flex;
      justify-content: center;
      align-items: center;
    }
//3. display + (text-align+inline-block) + vertical-align
.parent {
      width: 400px;
      height: 200px;
      background: #bbb;
      display: table-cell;
      vertical-align: middle;
      text-align: center;
    }
    .child {
      width: 100px;
      height: 100px;
      background: #333;
      display: inline-block;
    }
//4. position + margin
.parent {
      width: 400px;
      height: 200px;
      background: #bbb;
      position: relative;
    }
    .child {
      width: 100px;
      height: 100px;
      background: #333;
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      margin: auto;
    }

auto:表示剩余空间自动分配。

块级元素在水平方向自动填充一整行,而在垂直方向上不会自动填充。
所以给块级元素设置margin:auto时,块级元素在水平方向上,左右的margin平分剩余空间,在垂直方向上,没有剩余空间可平分,所以呈现只有水平居中的效果

还可以利用auto达到一个浮动的效果

//类似于float:right
  width: 400px;
      height: 200px;
      background: #bbb;
      position: relative;
    }
    .child {
      width: 100px;
      height: 100px;
      background: #333;
      margin-left: auto;
    }
weixin073智慧旅游平台开发微信小程序+ssm后端毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
python017基于Python贫困生资助管理系统带vue前后端分离毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值