html实现垂直居中的6种方式

利用CSS进行元素的水平居中,比较简单,行级元素设置其父元素的text-align center,块级元素设置其本身的left 和 right margins为auto即可。本文收集了六种利用css进行元素的垂直居中的方法,每一种适用于不同的情况,在实际的使用过程中选择某一种方法即可。

Line-Height Method

line height demo
试用:单行文本垂直居中,demo

代码:

html

1
2
3
<div id="parent">
<div id="child">Text here</div>
</div>

css

1
2
3
#child {
line-height: 200px;
}

垂直居中一张图片,代码如下

html

1
2
3
<div id="parent">
<img src="image.png" alt="" />
</div>

css

1
2
3
4
5
6
#parent {
line-height: 200px;
}
#parent img {
vertical-align: middle;
}

CSS Table Method

table cell demo

适用:通用,demo

代码:

html

1
2
3
<div id="parent">
<div id="child">Content here</div>
</div>

css

1
2
3
4
5
#parent {display: table;}
#child {
display: table-cell;
vertical-align: middle;
}

低版本 IE fix bug:

1
2
3
#child {
display: inline-block;
}

Absolute Positioning and Negative Margin

absolute positioning and negative margin demo

适用:块级元素,demo

代码:

html

1
2
3
<div id="parent">
<div id="child">Content here</div>
</div>

css

1
2
3
4
5
6
7
8
9
#parent {position: relative;}
#child {
position: absolute;
top: 50%;
left: 50%;
height: 30%;
width: 50%;
margin: -15% 0 0 -25%;
}

Absolute Positioning and Stretching

absolute positioning and vertical stretching demo

适用:通用,但在IE版本低于7时不能正常工作,demo

代码:

html

1
2
3
<div id="parent">
<div id="child">Content here</div>
</div>

css

1
2
3
4
5
6
7
8
9
10
11
#parent {position: relative;}
#child {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
width: 50%;
height: 30%;
margin: auto;
}

Equal Top and Bottom Padding

vertical centering with padding demo

适用:通用,demo

代码:

html

1
2
3
<div id="parent">
<div id="child">Content here</div>
</div>

css

1
2
3
4
5
6
#parent {
padding: 5% 0;
}
#child {
padding: 10% 0;
}

Floater Div

vertical centering with floater div demo

适用:通用,demo

代码:

html

1
2
3
4
<div id="parent">
<div id="floater"></div>
<div id="child">Content here</div>
</div>

css

1
2
3
4
5
6
7
8
9
10
11
#parent {height: 250px;}
#floater {
float: left;
height: 50%;
width: 100%;
margin-bottom: -50px;
}
#child {
clear: both;
height: 100px;
}

以上就是六种方法,可以在实际的使用过程中合理选择,参考文章《vertical-centering》。

### 回答1: 要让文字在HTML垂直居中显示,也可以使用CSS样式。以下是几方法: 1. 使用line-height属性将行高设置为与容器高度相等: ```html <div style="height: 200px;line-height: 200px;"> <p>垂直居中显示的文字</p> </div> ``` 2. 使用flexbox布局将文字垂直居中: ```html <div style="display:flex;align-items:center;"> <p>垂直居中显示的文字</p> </div> ``` 3. 使用table布局将文字垂直居中: ```html <div style="display:table;height: 200px;width: 100%;"> <div style="display:table-cell;vertical-align:middle;"> <p>垂直居中显示的文字</p> </div> </div> ``` 需要注意的是,以上方法都需要在包含文字的容器上应用样式。另外,如果文字的高度超过容器高度,可能需要溢出隐藏或者其他处理方式。 ### 回答2: 在HTML中,可以使用CSS来实现文字的垂直居中显示。实现方法如下: 1. 使用 display: flex; 属性来创建一个弹性容器。如下所示: ```html <div style="display: flex; align-items: center; justify-content: center; height: 300px;"> <p>居中显示的文字</p> </div> ``` 在这个例子中,我们创建了一个<div>标签,设置了display: flex;属性,这样会将其内部的子元素垂直居中显示。通过 align-items: center; 属性可以使文字在容器内垂直居中显示,同时 justify-content: center; 属性可以使文字在容器内水平居中显示。 2. 使用 table-cell 属性和垂直对齐属性来实现文字的垂直居中显示。如下所示: ```html <div style="display: table-cell; vertical-align: middle; height: 300px; text-align: center;"> <p>居中显示的文字</p> </div> ``` 在这个例子中,我们创建了一个<div>标签,并设置了display: table-cell;属性和 vertical-align: middle; 属性,这样文字就会在容器内垂直居中显示。通过设置 height: 300px; 属性可以控制容器的高度,并通过设置 text-align: center; 属性使文字在容器内水平居中显示。 以上就是两常用的实现方法,都能够实现文字的垂直居中显示。在实际使用时,可以根据具体的需求选择适合的方法。 ### 回答3: 在HTML中,可以使用CSS样式表来实现文字的垂直居中显示。以下是几常用的方法: 方法一:使用行高(line-height)属性 可以通过将行高设置为容器的高度来实现文字的垂直居中显示。例如,假设容器的高度为100px,可以使用以下的CSS样式来实现: .container { height: 100px; line-height: 100px; text-align: center; } 在这个例子中,将行高设置为和容器高度相等,并将文本居中对齐,就可以实现文字的垂直居中显示。 方法二:使用flex布局 使用flex布局也可以实现文字的垂直居中显示。例如,可以使用以下的CSS样式来实现: .container { display: flex; align-items: center; justify-content: center; } 在这个例子中,将容器的display属性设置为flex,并使用align-items和justify-content属性将元素(文字)在容器中垂直和水平居中。 方法三:使用绝对定位和transform属性 可以将文字使用绝对定位放在容器的中心,然后使用transform属性来微调文字的位置。例如,可以使用以下的CSS样式来实现: .container { position: relative; height: 100px; } .text { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } 在这个例子中,将容器的位置属性设置为relative,将文字的位置属性设置为absolute,并使用top、left和transform属性将文字居中。 以上是几常用的方法来实现文字的垂直居中显示,开发者可以根据实际需求选择适合的方法进行使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值