热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

实现DIV元素水平居中的多种技巧与方法

在面试过程中,面试官常常会提问如何使一个DIV元素实现水平和垂直居中。本文将详细介绍几种常用的实现方法。准备工作包括创建一个父容器和一个子容器,通过不同的CSS属性和技术手段,如Flexbox、Grid布局、绝对定位等,来实现DIV元素的精确居中效果。每种方法都有其适用场景和优缺点,读者可以根据具体需求选择最适合的方案。

前提

在面试的时候,面试官可能会问到如何让一个div水平垂直居中呢?接下来我将为大家列举常见的几种方法来实现它。


准备

首先准备一个父盒子和一个子盒子,并给它们添加一下样式,方便我们观察。


HTML代码

<div class&#61;"parent"><div class&#61;"son">div>
div>

CSS代码

.parent {width: 300px;height: 300px;border: 1px solid pink;
}.son {width: 100px;height: 100px;background-color: red;
}

此时的父子盒子排列如下图所示。
在这里插入图片描述
我们想要实现的效果如下图所示。
在这里插入图片描述


实现方式


1、使用定位加margin-left和margin-top

.parent {width: 300px;height: 300px;border: 1px solid pink;position: relative;
}.son {width: 100px;height: 100px;background-color: red;position: absolute;top: 50%;margin-top: -50px;left: 50%;margin-left: -50px;
}

2、使用定位加transform

.parent {width: 300px;height: 300px;border: 1px solid pink;position: relative;
}.son {width: 100px;height: 100px;background-color: red;position: absolute;left: 50%;top: 50%;transform: translate(-50%,-50%);
}

3、使用定位加margin:auto

.parent {width: 300px;height: 300px;border: 1px solid pink;position: relative;
}.son {width: 100px;height: 100px;background-color: red;position: absolute;left: 0;right: 0;top: 0;bottom: 0;margin: auto;
}

4、使用flex布局&#43;margin:auto

.parent {width: 300px;height: 300px;border: 1px solid pink;display: flex;
}.son {width: 100px;height: 100px;background-color: red;margin: auto;
}

5、使用flex布局&#43;justify-content和align-items

.parent {width: 300px;height: 300px;border: 1px solid pink;display: flex;justify-content: center;align-items: center;
}.son {width: 100px;height: 100px;background-color: red;
}

6、使用grid布局

.parent {width: 300px;height: 300px;border: 1px solid pink;display: grid;
}.son {width: 100px;height: 100px;background-color: red;justify-self: center;align-self: center;
}

以上就是实现div水平垂直居中的常见方法&#xff0c;希望对您有帮助&#xff01;


推荐阅读
  • 期末Web开发综合实践项目:运用前端技术打造趣味小游戏体验
    期末Web开发综合实践项目中,学生通过运用HTML、CSS和JavaScript等前端技术,设计并实现了一款趣味性十足的小游戏。该项目不仅检验了学生对前端基础知识的掌握情况,还提升了他们的实际操作能力和创意设计水平。视频链接展示了项目的最终成果,直观呈现了游戏的互动性和视觉效果。 ... [详细]
  • 在HTML5应用中,Accordion(手风琴,又称抽屉)效果因其独特的展开和折叠样式而广泛使用。本文探讨了三种不同的Accordion交互效果,通过层次结构优化信息展示和页面布局,提升用户体验。这些效果不仅增强了视觉效果,还提高了内容的可访问性和互动性。 ... [详细]
  • 捕获并处理用户输入数字时的异常,提供详细的错误提示与指导
    在用户输入数字时,程序能够有效捕获并处理各种异常情况,如非法字符或格式错误,并提供详尽的错误提示和操作指导,确保用户能够准确输入有效的数字数据。通过这种方式,不仅提高了程序的健壮性和用户体验,还减少了因输入错误导致的系统故障。具体实现中,使用了Java的异常处理机制,结合Scanner类进行输入读取和验证,确保了输入的合法性和准确性。 ... [详细]
  • 本文深入探讨了 hCalendar 微格式在事件与时间、地点相关活动标记中的应用。作为微格式系列文章的第四篇,前文已分别介绍了 rel 属性用于定义链接关系、XFN 微格式增强链接的人际关系描述以及 hCard 微格式对个人和组织信息的描述。本次将重点解析 hCalendar 如何通过结构化数据标记,提高事件信息的可读性和互操作性。 ... [详细]
  • 深入解读张鑫旭文章,探索全新CSS属性
    近日,我仔细研读了张鑫旭关于知乎上十个热门问题的文章(http://www.zhangxinxu.com/wordpress/2017/06/ten-questions-about-css/)。这篇文章不仅详细解答了这些常见问题,还深入探讨了一些全新的CSS属性,为前端开发者提供了宝贵的见解和实用技巧。通过张鑫旭的专业解析,读者可以更好地理解和应用这些新特性,提升网页设计和开发的效率与质量。 ... [详细]
  • 本文详细介绍了 jQuery 的入门知识与实战应用,首先讲解了如何引入 jQuery 库及入口函数的使用方法,为初学者提供了清晰的操作指南。此外,还深入探讨了 jQuery 在实际项目中的多种应用场景,包括 DOM 操作、事件处理和 AJAX 请求等,帮助读者全面掌握 jQuery 的核心功能与技巧。 ... [详细]
  • 在遍历集合的过程中,若需根据特定条件对集合进行修改操作,如添加或删除元素,应特别注意避免引发 `ConcurrentModificationException` 异常。例如,在当前场景中,当集合中的对象ID与另一个集合中的对象ID不匹配时,需要向集合中添加新元素。为了避免这一异常,建议使用迭代器的 `remove` 方法或采用线程安全的集合类型,如 `CopyOnWriteArrayList`,以确保操作的安全性和一致性。 ... [详细]
  • 【Linux进阶指南】第一阶段第三课:体验与部署Ubuntu系统
    在正式踏上Linux学习之旅之前,本课程将引导你深入体验和部署Ubuntu系统。通过详细的操作步骤和实践演练,你将掌握Ubuntu的基本安装、配置及常用命令,为后续的进阶学习打下坚实的基础。此外,课程还将介绍如何解决常见问题和优化系统性能,帮助你更加高效地使用Ubuntu。 ... [详细]
  • 通过 NuGet 获取最新版本的 Rafy 框架及其详细文档
    为了帮助开发者更便捷地使用Rafy领域实体框架,我们已将最新版的Rafy框架程序集上传至nuget.org,并同步发布了最新版本的Rafy SDK至Visual Studio。此外,我们还提供了详尽的文档和示例,以确保开发者能够快速上手并充分利用该框架的强大功能。 ... [详细]
  • TypeScript 实战分享:Google 工程师深度解析 TypeScript 开发经验与心得
    TypeScript 实战分享:Google 工程师深度解析 TypeScript 开发经验与心得 ... [详细]
  • 1. 设置用户密码:使用 `slappasswd` 工具生成加密密码,确保账户安全。具体步骤如下:输入命令 `slappasswd -s NewPassword`,系统将提示重新输入新密码,并生成加密后的哈希值 {SSHA}xxxxxxxxxxxxxxxxx。2. 编写配置文件:编辑 `vildapus` 配置文件,添加必要的用户账户信息,以确保新用户能够顺利登录系统。 ... [详细]
  • 虚拟机网络设置与数据库远程连接优化指南
    本文针对个人计算机上虚拟机网络配置与数据库远程连接的问题,提供了一套详细的优化指南。在探讨远程数据库访问前,需确保网络配置正确,特别是桥接模式的设置。通过合理的网络配置,可以有效解决因虚拟机或网络问题导致的连接失败,提升远程访问的稳定性和效率。 ... [详细]
  • 本文详细介绍了 Windows API 中的按钮控件及其应用实例。主要功能包括:1. `CheckDlgButton` 用于更改对话框中按钮的选中状态;2. `CheckRadioButton` 用于设置单选按钮的选中状态。此外,还探讨了按钮控件在实际开发中的多种应用场景,帮助开发者更好地理解和使用这些功能。 ... [详细]
  • 利用 Python 中的 Altair 库实现数据抖动的水平剥离分析 ... [详细]
  • 优化后的标题:数据网格视图(DataGridView)在应用程序中的高效应用与优化策略
    在应用程序中,数据网格视图(DataGridView)的高效应用与优化策略至关重要。本文探讨了多种优化方法,包括但不限于:1)通过合理的数据绑定提升性能;2)利用虚拟模式处理大量数据,减少内存占用;3)在格式化单元格内容时,推荐使用CellParsing事件,以确保数据的准确性和一致性。此外,还介绍了如何通过自定义列类型和优化渲染过程,进一步提升用户体验和系统响应速度。 ... [详细]
author-avatar
张伊韵育财育信
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有