div中的内容垂直居中(内容垂直居中的五种方法)

在写页面的时候,经常会遇到元素垂直居中的需求。有时候一连试了几种方法,并没有效果,那是因为你没有用对方法,每种垂直居中,都有不同的使用条件。下面我们来详细了解一下吧。这里收集了八种不同的方法。一、行高,line-height。适用场景:单行文字垂直居

在写页面的时候,经常会遇到元素垂直居中的需求。有时候一连试了几种方法,并没有效果,那是因为你没有用对方法,每种垂直居中,都有不同的使用条件。下面我们来详细了解一下吧。

这里收集了八种不同的方法。

一、行高,line-height。

适用场景:单行文字垂直居中。

在一个块级元素中有一行字,想让文字垂直居中,便可以在块级元素上设置和元素高度一致的行高。如图所示<div>元素,添加行高后,文字的位置就从左边变成右边的,实现了垂直居中。

html

<div id=\"div\">
你好
</div>

css

#div{
height:50px;
line-height:50px;
}

div中的内容垂直居中(内容垂直居中的五种方法)

二、line-height + vertical-align。

适用场景:图片垂直居中

<div id=\"div\">
<img src=\"image.png\" id=\"img\" />
</div>

div中的内容垂直居中(内容垂直居中的五种方法)

给父元素添加line-height,给图片元素加上vertical-align: middle。

#div {
line-height: 200px;
}
#img {
vertical-align: middle;
}

div中的内容垂直居中(内容垂直居中的五种方法)

三、绝对定位+transform法。

适用场景:居中元素能被撑开有高度即可使用

html

<div id=\"div\">
<div id=\"block\">content</div>
</div>

css

#div {
position:relative;
}
#block {
positopn:absolute;
top:50%;
transform: translateY(-50%)
}

四、表格法。

适用场景:多行文字垂直居中,或者将块元素转成行内元素也可使用

vertical-align 只对 table-cell 以及 inline-element 起作用,vertical-align 的值是相对于其父元素的,父元素必须是行内元素。如果想用于块元素,我们可以将父元素转化为table,这样就能使用此方法

多行文字居中

// html
<div id=\"div\">
<span id=\"content\">那是因为你没有用对方法,每种垂直居中,都有不同的使用条件。下面我们来详细了解一下吧。</span>
</div>
// css
#div{
display: table;
}

#span {
display: table-cell;
vertical-align: middle;
}

div中的内容垂直居中(内容垂直居中的五种方法)

块元素居中

#div {
display: table;
}
#block {
display: table-cell;
vertical-align: middle;
}

五、绝对定位+负边距法。

适用场景:这种方法适用于块级元素,需要设置元素的高度。也就是设置子元素距离父元素顶部50%,然后通过margin把子元素向上移动自身高度的一半。

html

<div id=\"div\">
<div id=\"block\">content</div>
</div>

css

#div {
position:relative;
}
#block {
positopn:absolute;
top: 50%;
left: 50%;
height: 30%;
width: 40%;
margin: -15% 0 0 -20%;
}

六、弹性盒子法。

适用场景:都可以使用。

html

<div id=\"div\">
<div id=\"block\">content</div>
</div>

css有两种写法:

// 方法一:
#div {
display:flex;
align-item:column;
}
// 方法二:
#div {
display:flex;
flex-direction:column; // 改变主轴方向
justify-content:center; // 定义主轴的对齐方式
}

七、绝对定位+margin:auto

适用场景:块级元素垂直居中

把要垂直居中的元素相对于父元素绝对定位,top和bottom设置为相等的值,我这里设置成0了。再将要居中的元素的margin设为auto,这样就可以实现垂直居中了。

html

<div id=\"div\">
<div id=\"block\">content</div>
</div>

css

#div {
position:relative;
}
#block {
positopn:absolute;
top:0;
bottom:0;
margin:auto 0;
}

八、padding。

适用场景:须知父元素的高度和子元素的高度。如果指定父元素高度为300px,子元素高度为100px,要实现垂直居中需要设置父元素的上下padding为100px。

html

<div id=\"div\">
<div id=\"block\">content</div>
</div>

css

#div {
padding: 100px 0;
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/25180.html

(0)
新劵
上一篇 2021-09-14
下一篇 2021-09-14

相关推荐

  • 「用什么免费建站支持广告代码」免费做广告的网站

    用什么免费建站支持广告代码,免费做广告的网站 内容导航: 哪个免费自助建站平台建的网站可投放广告 怎样在网站中放入广告代码 免费的建站资源 哪里有免费的自助建站 一、哪个免费自助建…

    2022-08-17
    0
  • sqlserver如何保存数据库

    在SQL Server中保存数据库,可以通过以下步骤操作:打开SQL Server Management Studio(SSMS)。连接到SQL Server数据库引擎。在对象资源管理器中,选择要保存的数据库。右键单击该数据库,选择“任务” > “生成脚本”。在“生成脚本向导”中,选择生成数据库对象的方式(全部对象、选定的对象、仅表和视图等)。设置生成脚本的选项,如输出文件的位置、是否生成DROP

    2024-04-22
    0
  • dnf比赛服道具有哪些(dnf比赛服和正式服区别)

    伴随着西海岸边微凉的风,阿拉德大陆也迎来了盛夏。伴随着烈日而来的炎炎酷暑,小伙伴们要不要也给装扮来一波“减负”呢?快脱下厚厚的雪人套,换上清凉的泳装吧!今年的夏日礼包除了最大亮点“清凉”外,还有不少能带来不小提升的实用道具,不知有没有能吸引小伙伴们的

    2021-08-24 技术经验
    0
  • 手机app部署使用香港服务器有什么好处

    部署手机app使用香港服务器有以下好处:更快的访问速度:香港服务器位于亚洲的中心地带,连接全球网络速度较快,可以提供更快的访问速度和更稳定的网络连接,使用户能够更快速地下载和使用手机app。更稳定的服务:香港国际化城市,有着较为完善的基础设施和网络环境,服务器运行稳定,能够提供更可靠的服务,避免因服务器故障或网络问题而导致的服务中断或延迟。优质的网络保障:香港国际金融中心,拥有高水平的网络安全和监

    2024-04-10
    0
  • IDEA中的代码覆盖率分析工具怎么用

    在IDEA中,可以使用内置的代码覆盖率分析工具来帮助您了解您的代码中哪些部分被测试覆盖到了,以及哪些部分还未被测试覆盖到。以下是使用IDEA中的代码覆盖率分析工具的步骤:在您的项目中编写测试用例,并确保这些测试用例覆盖了您希望测试的代码的各个路径和条件。在IDEA中,右键单击您的项目文件夹,然后选择“Run ‘Coverage’”选项,或者使用快捷键Ctrl + Shift + F10来运行代码

    2024-05-07
    0
  • 做个人网站用什么程序(个人创建网站程序)

    做个人网站用什么程序,个人创建网站程序内容导航:制作个人网站用什么软件做网站要用什么软件建立网站需要什么程序做企业外贸网站用什么程序一、制作个人网站用什么软件如果你是个新手的话,而且不太懂编程的话,建议你用微软的frontpage网页制作软件。如果你懂点编程的话,你可以用dreamweaver,这个软件功能更强大。dreamweave

    2022-05-01
    0

发表回复

登录后才能评论