js基础编程-题目25 水平垂直居中

整理下初学时做过的js基础编程题目和大家分享以下,如果大家觉得有用,别忘了点一下赞哦

css实现元素水平垂直居中

css水平、垂直居中的写法,请至少写出4种?
 - 定位  -- 使用 margin-top:- 盒子的高度一半 
 - Flex
 - Transform
 - 定位  -- 使用 上下左右都为 0 ,margin:auto
 - js盒模型  -- 利用js盒模型 clientWidth

首先我得有两个嵌套的元素
html部分

//结构
<div class="wrap">
  <div class="inner"></div>
</div>
//样式
.wrap {
  width: 500px;
  height: 500px;
  background-color: #ccc;
  
}
.inner {
  width: 300px;
  height: 300px;
  background-color: pink;
}
  • 第一种:定位
.wrap {
  position: relative;
}
.inner {
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -150px;
  margin-top: -150px;
}
  • 第二种:定位
.wrap {
  position: relative;
}
.inner {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
  • 第三种:transform
.wrap {
  /* 创建BFC,防止外边距传递 */
  overflow: hidden;
}
.inner {
  /* 这里的百分比是相对 wrap 元素 */
  margin: 50% auto;
  /* 这里的百分比是相对 inner 元素 */
  transform: translateY(-50%);
}
  • 第四种:弹性布局
.wrap {
  display: flex;
  justify-content: center;//主轴的对齐方式
  align-items: center;//侧轴的对齐方式
}

-第五种:盒模型

let inner = document.querySelector('.inner')
let winW = window.innerWidth
let winH = window.innerHeight
//如果找不到,就相对body
inner.style.position = 'absolute'
inner.style.left = (winW - 300) / 2 + 'px'
inner.style.top = (winH - 300) / 2 + 'px'

-第六种 grid布局

.wrap {
  display: grid;
  justify-content: center;
  align-items:center;
}

-第七种 tailwindcss js库

<script src="https://cdn.tailwindcss.com"></script>
<div class="wrap relative">
  <div class="inner absolute left-1/2 top-1/2 translate-x-[-50%] translate-y-[-50%]"></div>
</div>

-第八种 bootstrap css库

链接:tailwind学习地址

现在是Sun Nov 21 2021 22:10:16 GMT+0800 (中国标准时间),我刚刚面试遇到一个水平垂直居中的坑。

div为300px*300px,使div水平垂直居中
<body>
    <div></div>
</body>

注意点:body没有高度为0,要先给body设置高度。
在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柳晓黑胡椒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值