浅谈最全面的水平垂直居中方案与flexbox布局

浅谈最全面的水平垂直居中方案与flexbox布局

水平垂直居中的需求与问题

在前端开发中,经常会遇到需要在页面上实现水平、垂直居中的需求。例如,把一个div居中显示在页面上,或者是把图片和文字居中显示在一个容器中。但是很多时候,由于浏览器的不同,屏幕大小的不同等因素,常规的布局方法往往无法满足我们的需求,出现了无法居中的情况。

最全面的水平垂直居中方案

父容器是定宽高,子容器不定宽高的情况

方案1:绝对定位 + 负margin

.parent {
  position: relative;
  width: 200px;
  height: 200px;
}
.child {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

方案2:flex布局

.parent {
  display: flex;
  justify-content: center;
  align-items: center;
}

父容器是不定宽高,子容器不定宽高的情况

方案3:绝对定位 + margin:auto

.parent {
  position: relative;
}
.child {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  max-width: 100%;
  max-height: 100%;
  margin: auto;
}

方案4:flex布局

.parent {
  display: flex;
  justify-content: center;
  align-items: center;
}

父容器是不定宽高,子容器是定宽高的情况

方案5:绝对定位 + margin

.parent {
  position: relative;
}
.child {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -50px;
  margin-left: -50px;
  width: 100px;
  height: 100px;
}

方案6:flex布局

.parent {
  display: flex;
  justify-content: center;
  align-items: center;
}
.child {
  width: 100px;
  height: 100px;
}

flexbox布局

简介

flexbox布局是CSS3中新增加的一种布局方式,它在布局过程中,通过定义容器中项目的排列方式、对齐方式等属性来实现前端开发者对页面的比较精细的掌控,使用灵活、方便。它的目标是能够更好地处理不同设备上的不同分辨率的页面需求。

应用实例

实例1:垂直居中

<div class="parent">
  <div class="child">居中显示</div>
</div>
.parent {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  background-color: #EEEEEE;
}
.child {
  padding: 10px 20px;
  background-color: white;
  border: 1px solid black;
}

在这个例子中,我们使用了flex的高度和宽度属性进行了控制,通过在 parent 容器中使用 display: flex;align-items: center; 来完成容器高度的设置以及对容器子元素的垂直居中。同时,通过使用 justify-content: center; 让容器的子元素实现水平居中。

实例2:多行垂直居中

<div class="parent">
  <div class="child">文本1</div>
  <div class="child">文本2</div>
  <div class="child">文本3</div>
</div>
.parent {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  background-color: #EEEEEE;
}
.child {
  padding: 10px 20px;
  margin: 5px;
  background-color: white;
  border: 1px solid black;
}

在这个例子中,我们使用了多个子元素,并使用margin属性创建了一部分垂直间距。在父元素上使用flex布局,让所有子元素实现了垂直居中,并用justify-content属性进行水平居中的间距调整。

综上所述,CSS中有很多不同的水平垂直居中的方案,每种方案都有各自的使用场景。而在应对不同的布局需求时,flexbox布局是一种十分灵活方便的解决方案。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:浅谈最全面的水平垂直居中方案与flexbox布局 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • Vue学习笔记进阶篇之过渡状态详解

    Vue学习笔记进阶篇之过渡状态详解 什么是过渡状态 过渡是指在视图中进行元素之间转换时,为过渡添加动画效果的技术。Vue中提供了v-transition指令和transition组件来帮助开发者实现元素的过渡状态。 过渡状态可以分为四种状态: v-enter: 初始状态,表示元素还未被插入到DOM中; v-enter-active: 过渡状态,表示元素正在被…

    css 2023年6月11日
    00
  • css3的@media属性实现页面响应式布局示例代码

    我会详细讲解一下“CSS3的@media属性实现页面响应式布局示例代码”的完整攻略。 什么是响应式布局? 响应式布局是一种基于CSS3媒体查询(Media Queries)的技术,通过检测设备类型、分辨率等属性,调整网页布局和样式,实现不同设备下展现不同的效果。其目的是为了让网页在PC端、平板端和手机端等设备上都能够获得更流畅、更美观的用户体验。 响应式布局…

    css 2023年6月10日
    00
  • HTML中table表格拆分合并(colspan、rowspan)

    当需要在HTML页面中展示表格数据时, 标签就可以派上用场。这个标签提供了一种简单且易于理解的方式将数据以表格的形式展现出来。 如果需要在表格中进行合并或者拆分列与行,就可以通过使用colspan和rowspan这两个属性来实现。 1. 合并表格列(colspan) 如果希望将表格中的某些列合并成一列,就可以使用colspan属性来实现,该属性指定一个单元格…

    css 2023年6月10日
    00
  • JavaScript网页制作特殊效果用随机数

    现在我来详细讲解一下“JavaScript网页制作特殊效果用随机数”的完整攻略。 什么是JavaScript网页制作特殊效果用随机数 为了让网页更生动有趣,我们通常会在网页中添加一些特殊的效果,如闪烁的按钮、弹出的提示框、滑动的图片等。其中一种的实现方式就是使用JavaScript生成随机数,以达到随机产生特效的目的。 使用Math对象生成随机数 在Java…

    css 2023年6月10日
    00
  • 详解在React项目中安装并使用Less(用法总结)

    下面是详解在React项目中安装并使用Less问题的完整攻略。 一、安装Less 在React项目中使用Less需要安装Less依赖包。可以使用npm命令行工具来完成。 npm install less –save-dev –save-dev表示开发依赖,因为Less只用于开发阶段,不需要部署到生产环境。 二、在React项目中使用Less 在React…

    css 2023年6月9日
    00
  • jQuery常见的选择器及用法介绍

    jQuery常见的选择器及用法介绍 jQuery是一个流行的JavaScript库,它广泛用于Web开发中。在jQuery中,选择器对于处理和操作DOM元素非常重要。以下是一些常见的jQuery选择器及其用法介绍。 基本选择器 ID选择器 使用ID选择器,可以根据元素的id属性值来选择元素。可以使用#符号来指定ID选择器。 $("#myDiv&qu…

    css 2023年6月10日
    00
  • CSS样式定义的优先级顺序介绍

    下面我将为你详细讲解CSS样式定义的优先级顺序介绍的完整攻略。 1. 优先级顺序基本介绍 在Web开发中,我们经常需要使用CSS对页面元素进行样式定义。对于同一元素的多个样式定义,可能存在优先级的问题。CSS样式定义的优先级顺序介绍就是解决这类问题的关键。 CSS样式定义的优先级顺序由以下几个因素决定(按优先级降序排列):- !important优先级最高-…

    css 2023年6月9日
    00
  • jquery仿ps颜色拾取功能

    当我们需要在Web页面上使用颜色选择器时,jQuery颜色选择器是一个很好的选择。在实现该功能之前,需要确保已经下载并引入jQuery库。接下来,我们可以按照以下步骤实现“jQuery仿PS颜色拾取功能”。 步骤一:创建HTML 首先,我们需要为颜色选择器创建一个基本的HTML结构,包含颜色区域、拾色器和反显框。 <div class="co…

    css 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部