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

yizhihongxing

浅谈最全面的水平垂直居中方案与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日

相关文章

  • 使用layui 渲染table数据表格的实例代码

    使用layui来渲染table数据表格,需要以下几个步骤: 引入layui库和相关样式 在标签中引入layui库和相应的样式: <link rel="stylesheet" href="layui/css/layui.css"> <script src="layui/layui.all.js…

    css 2023年6月10日
    00
  • 网页变灰配合全国哀悼日的css代码 20100421

    首先,需要解释一下全国哀悼日的概念。全国哀悼日是指定日全国范围内举办的公共哀悼活动,以表达对特定人物或事件的纪念、悼念和敬意。在这个特殊的日子里,我们可以通过网页变灰的方式表达我们的悼念心情。 下面提供两条示例说明: 示例1:通过CSS代码实现网页变灰 在网页的<head>区域中引入CSS文件,然后添加以下CSS代码,可以实现网页变灰的效果。代码…

    css 2023年6月10日
    00
  • CSS实现导航固定的、左右滑动的滚动条制作方法

    这里我们详细讲解一下如何使用 CSS 实现导航固定的、左右滑动的滚动条制作。 准备工作 在制作过程中,我们需要用到一些 HTML 和 CSS 代码。首先,我们需要在 HTML 中构建一个导航条,然后在 CSS 中对其进行样式设计。 HTML 导航条结构示例代码: <nav class="navigation"> <ul&…

    css 2023年6月10日
    00
  • CSS3线性渐变简单实现以及该属性在浏览器中的不同

    CSS3 线性渐变是一种常用的页面样式效果,它可以实现从一个颜色到另一个颜色的平滑过渡效果。本文将详细讲解 CSS3 线性渐变的实现方法以及该属性在不同浏览器中的差异。 1. 实现方法 CSS3 线性渐变可以通过 linear-gradient() 函数来实现,该函数接受两个或多个颜色值作为参数,用逗号分隔。下面是一个简单的示例: background: l…

    css 2023年5月18日
    00
  • jQuery UI实现动画效果代码分享

    我们来详细讲解“jQuery UI实现动画效果代码分享”的完整攻略。 1. 什么是jQuery UI jQuery UI是一个基于jQuery的JavaScript用户界面库。它由一组交互式的组件、效果、小部件和主题构成,使开发者可以轻松地创建富交互式Web页面。jQuery UI的主要特点是易于使用和高度可定制。 2. 实现动画效果的步骤 要使用jQuer…

    css 2023年6月10日
    00
  • 浅谈CSS不规则边框的生成方案

    浅谈CSS不规则边框的生成方案 CSS中的边框是网页设计中经常使用到的一种元素。而CSS不规则边框则是一种非常有趣的边框形式,可以为网页添加一些独特的风格。本文将介绍三种主流的不规则边框生成方案。 方案一:使用clip-path属性 clip-path是CSS3新增的属性,可以用来剪裁元素。结合background-clip属性,可以实现不规则边框。下面是一…

    css 2023年6月9日
    00
  • jQuery Validate表单验证插件的基本使用方法及功能拓展

    jQuery Validate表单验证插件基本使用方法 jQuery Validate是一款小巧而功能强大的表单验证插件。它可以提供简单易用的验证规则,并且支持自定义检验函数和错误信息。下面是详细的使用方法。 安装jQuery Validate 在使用jQuery Validate之前,要先在页面中引入jQuery库和jQuery Validate插件。假设…

    css 2023年6月9日
    00
  • 10分钟理解CSS BFC原理及其应用

    CSS BFC(块级格式化上下文)是CSS布局中的一个概念,它决定了元素如何定位、如何与其他元素交互。理解BFC的原理以及如何应用BFC是CSS布局中重要的一环。 什么是BFC? BFC是指块级格式化上下文,是一个独立的渲染区域,BFC内部的元素会按照一定规则进行定位、布局,而BFC外部的元素也不能影响BFC内部元素的布局。BFC形成的方式有多种,例如: 根…

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