john-book
  • 测试
    • vue单元测试
  • 介绍
  • 设计模式
    • 单例模式
  • 个人收藏
    • 房价未来趋势
  • TodoList
  • TaskList
  • 前端架构设计
  • 时间管理
    • 2019前端自检与思考
  • 前端技术点
    • 异步编程和同步编程
    • 继承实现的几种方式
    • Http请求
    • 前端CI/CD持续集成持续交付
    • Promise
    • 其他工具
    • iphonex以及适配
    • 前端骨架屏方案
    • nginx
      • nginx配置upstream负载均衡
      • nginx配置gzip压缩
      • nginx转发配置
    • ajax
    • Dom&BOM
    • flexible
    • jsonp
    • 跨域
    • nunjucks
    • 水平垂直居中
    • 原型和原型链
    • 本地存储方式
    • 无头浏览器
    • chrome插件开发
    • webpack
      • DllPlugin
      • webpack升级
    • 宏任务微任务
    • 页面加载流程
    • http请求流程
    • 图形绘制技术
    • 节流和防抖
    • webpack单页面改多页面
    • redis安装使用
    • git
      • gitignore的使用
  • 算法
  • 前端资料
    • 开源技术库
    • 资料&文档
      • 信息流页面闪开总结
    • 每日收藏
  • 工具
    • UML图
    • Markdown
    • 测试工具
    • 产品工具
  • 站点博客
    • 站点集锦
  • 框架&库
    • React
    • Vue
    • vue3.0
  • 性能优化
    • 性能优化原则和方法
    • Http协议
      • Http Request Header
      • Http Response Header
  • LowCode
    • landingpage
    • landingpage自动化部署
    • landingpage相关
  • 加密
  • 腾讯云服务器
  • 微信公众号开发
  • 微信小程序
    • 小程序埋点统计
    • app分享小程序绑定
  • 数据库
    • 数据库实时抽取
  • 效率
    • 快速生成层级结构图
    • vscode插件vue模版
    • vscode文件头部注释插件
    • 快速生成项目目录结构树
    • vscode格式化配置
    • 前端组件化
  • 前端工作
  • 可视化
    • 页面可视化搭建
  • 前端规范
    • Javascript规范
    • git提交规范
    • eslint三大通用规范
Powered by GitBook
On this page
  • 常用解决方案类别:
  • 一.脱离文档流方式的居中
  • 二.未脱离文档流方式的居中

Was this helpful?

  1. 前端技术点

水平垂直居中

水平垂直居中是最常用到的布局,那么常用的解决方案都有哪些呢,下面就依次来列举一下

例子:

HTML代码:

<div class="container">
    <div class="inner">内容</div>
</div>

常用解决方案类别:

一.脱离文档流方式的居中

  1. 负margin的方式(inner宽高知道)

.container{
    position: relative;
}
.inner{
    width:100px;
    height:30px;
    position: absolute;
    top:50%;
    left:50%;
    margin-top:-15px;
    margin-left:-50px;
}

2.transform:translate的方式

.inner{
    width:100px;
    height:30px;
    position: absolute;
    top:50%;
    left:50%;
    transform: translate(-50%,-50%);
}

3.margin:auto的方式

4.css3的 calc属性方式(固定高度)

<div class="container">Hello World!</div>

.container {
    position: absolute;
    width: 300px;
    height: 300px;
    left: calc(50% - 150px);
    top: calc(50% - 150px);
    border: 1px solid red;
}

二.未脱离文档流方式的居中

1.line-height方式实现(固定高度)

<div class="container">Hello World!</div>

.container {
    width: 300px;
    height: 300px;
    line-height: 300px;
    text-align: center;
    border: 1px solid red;
}

2.flex布局

.container {
    display: flex;
    height: 100vh;
}

.inner {
    margin: auto;
}
.container {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
}

3.table方式

.container {
    display: table;         /* 让div以表格的形式渲染 */
    width: 100%;
    border: 1px solid red;
}

.inner {
    display: table-cell;    /* 让子元素以表格的单元格形式渲染 */
    text-align: center;
    vertical-align: middle;
}
PreviousnunjucksNext原型和原型链

Last updated 6 years ago

Was this helpful?