宽度高度不固定的div 如何水平居中以及垂直居中

在网页设计中,我们经常需要将宽度高度不固定的 div 元素水平居中以及垂直居中,以使其更好地适应页面布局。下面是一个完整攻略,包含了如何使用 CSS 将 div 元素水平居中以及垂直居中的过程和两个示例说明。

CSS 如何将 div 元素水平居中以及垂直居中的过程

1. 使用 flexbox 布局

我们可以使用 CSS 的 flexbox 布局来将 div 元素水平居中以及垂直居中。下面是一个示例:

<div class="container">
  <div class="box"></div>
</div>
.container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
}

.box {
  width: 200px;
  height: 200px;
  background-color: #ddd;
}

上述代码中,我们使用 flexbox 布局将 div 元素水平居中以及垂直居中。我们将 .container 元素的 display 属性设置为 flex,以启用 flexbox 布局。我们将 .container 元素的 justify-content 属性设置为 center,以使其水平居中。我们将 .container 元素的 align-items 属性设置为 center,以使其垂直居中。我们还将 .container 元素的高度设置为 100vh,以使其占据整个视口。我们将 .box 元素的宽度和高度设置为 200px,并将其背景颜色设置为 #ddd,以使其更加美观。

2. 使用 absolute 定位

我们也可以使用 CSS 的 absolute 定位来将 div 元素水平居中以及垂直居中。下面是一个示例:

<div class="container">
  <div class="box"></div>
</div>
.container {
  position: relative;
  height: 100vh;
}

.box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 200px;
  height: 200px;
  background-color: #ddd;
}

上述代码中,我们使用 absolute 定位将 div 元素水平居中以及垂直居中。我们将 .container 元素的 position 属性设置为 relative,以使其成为 .box 元素的相对定位容器。我们将 .container 元素的高度设置为 100vh,以使其占据整个视口。我们将 .box 元素的 position 属性设置为 absolute,以使其脱离文档流。我们将 .box 元素的 top 属性设置为 50%,以使其垂直居中。我们将 .box 元素的 left 属性设置为 50%,以使其水平居中。我们将 .box 元素的 transform 属性设置为 translate(-50%, -50%),以使其相对于自身的宽度和高度向左上方移动 50%。我们还将 .box 元素的宽度和高度设置为 200px,并将其背景颜色设置为 #ddd,以使其更加美观。

示例说明

下面是两个示例,演示如何使用 CSS 将 div 元素水平居中以及垂直居中。

示例一:使用 flexbox 布局

<div class="container">
  <div class="box"></div>
</div>
.container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
}

.box {
  width: 200px;
  height: 200px;
  background-color: #ddd;
}

上述代码中,我们使用 flexbox 布局将 div 元素水平居中以及垂直居中。我们将 .container 元素的 display 属性设置为 flex,以启用 flexbox 布局。我们将 .container 元素的 justify-content 属性设置为 center,以使其水平居中。我们将 .container 元素的 align-items 属性设置为 center,以使其垂直居中。我们还将 .container 元素的高度设置为 100vh,以使其占据整个视口。我们将 .box 元素的宽度和高度设置为 200px,并将其背景颜色设置为 #ddd,以使其更加美观。

示例二:使用 absolute 定位

<div class="container">
  <div class="box"></div>
</div>
.container {
  position: relative;
  height: 100vh;
}

.box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 200px;
  height: 200px;
  background-color: #ddd;
}

上述代码中,我们使用 absolute 定位将 div 元素水平居中以及垂直居中。我们将 .container 元素的 position 属性设置为 relative,以使其成为 .box 元素的相对定位容器。我们将 .container 元素的高度设置为 100vh,以使其占据整个视口。我们将 .box 元素的 position 属性设置为 absolute,以使其脱离文档流。我们将 .box 元素的 top 属性设置为 50%,以使其垂直居中。我们将 .box 元素的 left 属性设置为 50%,以使其水平居中。我们将 .box 元素的 transform 属性设置为 translate(-50%, -50%),以使其相对于自身的宽度和高度向左上方移动 50%。我们还将 .box 元素的宽度和高度设置为 200px,并将其背景颜色设置为 #ddd,以使其更加美观。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:宽度高度不固定的div 如何水平居中以及垂直居中 - Python技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • JS弹出层的显示与隐藏示例代码

    JS弹出层是Web开发中非常常见的一个功能。下面,我们来详细讲解如何实现JS弹出层的显示与隐藏。 1. HTML结构 首先,我们需要进行HTML结构的搭建。以下是一个最基础的HTML结构: <!–触发弹出层的按钮–> <button id="showBtn">显示弹出层</button> <!…

    css 2023年6月11日
    00
  • 基于vue3&element-plus的暗黑模式实例详解

    下面我将详细讲解“基于vue3&element-plus的暗黑模式实例详解”的完整攻略。 1. 确定需求 在开始编写代码之前,我们需要确定自己的需求。本文的需求是为网站增加暗黑模式,使得用户可以根据自己的喜好选择使用浅色或者暗黑模式。在该模式下,所有的页面元素和颜色都会随之发生变化。 2. 安装vue3和element-plus 要基于vue3和el…

    css 2023年6月11日
    00
  • Vue自定义指令实现弹窗拖拽四边拉伸及对角线拉伸效果

    自定义指令是Vue中很常用的一个特性,我们可以通过自定义指令来扩展Vue的功能。本篇攻略将会详细讲解如何通过Vue自定义指令实现弹窗的拖拽、四边拉伸以及对角线拉伸效果。 1. 自定义指令实现拖拽效果 拖拽效果是非常常见的一个交互效果,它使用户可以通过鼠标或手指移动元素,从而实现元素的位置移动。现在我们就来看看如何通过Vue自定义指令来实现拖拽效果。 1.1 …

    css 2023年6月10日
    00
  • CodeIgniter生成网站sitemap地图的方法

    下面是详细的“CodeIgniter生成网站sitemap地图的方法”的攻略过程。 什么是网站sitemap地图? 网站Sitemap,又称为XML Sitemap,是一种文件格式,用于告知搜索引擎关于网站上所有页面的信息。Sitemap 可以显示站点中哪些页面有多重关系和哪些页面之间的相对优先级。 CodeIgniter生成网站Sitemap地图的方法 在…

    css 2023年6月10日
    00
  • 如何学习html的各种标签

    学习 HTML 的各种标签需要掌握 HTML 的基础语法和常用标签。本文将提供一些学习 HTML 标签的完整攻略,包括 HTML 基础语法、常用标签、表单标签等方面。 HTML 基础语法 HTML 是一种标记语言,用于描述网页的结构和内容。HTML 文档由标签和文本组成,标签用于描述文本的结构和样式,文本用于描述文本的内容。 HTML 标签由尖括号和标签名组…

    css 2023年5月18日
    00
  • CSS 实现鼠标放在上面时整行变色效果

    要实现鼠标放在整行时改变行的颜色的效果,可以使用CSS的:hover伪类选择器。具体步骤如下: 首先给每一行(即每个 <tr> 标签)添加一个类名,例如:.row。 在CSS样式表中将 .row 类的背景色(或者其他样式)设置为默认颜色: .row { background-color: #fff; } 使用:hover伪类选择器,当鼠标放在某一…

    css 2023年6月10日
    00
  • jQuery中隐藏元素的hide方法及说明

    jQuery中隐藏元素的hide方法是用于隐藏HTML页面中的元素的函数。它将元素的CSS属性display设置为“none”,从而使元素在页面上不可见,但仍然存在于DOM中。本文将详细介绍hide方法以及其用法。 hide方法的基本用法 hide方法是一种用于隐藏HTML元素的方法。它接受一些可选参数,来指定动画的持续时间和效果。 hide方法的基本语法如…

    css 2023年6月9日
    00
  • 在Dreamweaver中插入有颜色的直线(水平线)

    要在Dreamweaver中插入有颜色的直线(水平线),可以通过以下步骤实现: 创建一个新的HTML文档,并按照惯例,将其保存在本地计算机上。 在Dreamweaver的工具栏中,选中“插入”选项卡,并选择“水平线”选项。 在弹出的“水平线属性”对话框中,您可以设置水平线的基本属性,例如线条粗细、颜色、高度和对齐方式等。 要设置水平线的颜色,您需要单击“颜色…

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