CSS垂直对齐不起作用的原因及解决方法


本文摘自PHP中文网,作者不言,侵删。

verticla-align用于调整内联元素的垂直位置,但是有时候它不起作用,本篇文章将来给大家分享关于CSS垂直对齐不起作用的原因和解决方法。

我们先来分析一下导致垂直对齐无效的原因

我想很多人都会遇到这样一个问题,在使用vertical-align作为属性来对齐垂直位置,由于某种原因它根本不起作用!

实际上,vertical-align只能用于“内联元素”和“表格单元格”。

vertical-align的使用方法

在“内联元素”或“表格单元格”中描述您想要对齐位置。

如果适用于内部元素的话,“想要改变文字的基本线”。文字的基本线是默认的位置。

2345截图20181123114950.png

这个位置可以提高或降低。

基本上有top,bottom,middle,也可以用像素和%的数字来指定。

如果适用于表单元格,则是“在纵向方向的对齐时”。

我们来看具体的例子:

例如,如果要使用vertical-align实现垂直居中,请看如下代码。

我们先准备这样一个盒子

HTML

1

2

3

4

5

<div class ="box-wrap">

  <div class ="box">

    <p>文字内容</p>

  </div>

  </div>

CSS

1

2

3

4

5

6

7

8

.box{

  background-color: #66b6d5;

  width: 300px;

  height: 200px;

}

p{

  color: #fff;

}

效果如下:

2345截图20181123115642.png

然后添加display:table - cell;和vertical - align:middle;到.box。

1

2

3

4

5

6

7

8

9

10

.box{

  display: table-cell;

  vertical-align: middle;

  background-color: #66b6d5;

  width: 300px;

  height: 200px;

}

p{

  color: #fff;

}

效果如下:实现了垂直居中

2345截图20181124013816.png

在这里要注意的是,为了实现垂直方向的位置指定,需要有高度的table。

如果您希望高度取决于父元素,请确保将父元素指定为display:table;并且还要hight。

垂直和对齐,顶部和底部之间的区别也是这样的。

代码如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

<!DOCTYPE html>

<html>

  <head>

    <meta charset="utf-8" />

    <title></title>

    <style type="text/css">

    .box-wrapper{

  display: table;

  height: 200px;

}

.box{

  width: 300px;

  background-color: #66b6d5;

  display: table-cell;

  border: 1px #fff solid;

}

.box.middle{

  vertical-align: middle;

}

.box.top{

  vertical-align: top;

}

.box.bottom{

  vertical-align: bottom;

}

p{

  color: #fff;

}

 </style>

  </head>

  <body>

<div class="box-wrapper">

  <div class="box middle">

     <p>文字内容</p>

  </div>

  <div class="box top">

     <p>文字内容</p>

  </div>

  <div class="box bottom">

     <p>文字内容</p>

  </div>

</div>

  </body>

</html>

效果如下:

2345截图20181124014503.png

以上就是CSS垂直对齐不起作用的原因及解决方法的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

css实现动画性能优化

css border-bottom-left-radius属性怎么用

css中tr是什么意思

css实现图片在div中居中的方法有哪些

css的优势是什么

html里padding是什么意思

clevercss是什么?

利用css动画属性rotate来实现镜像翻转

css如何设置边框透明

详解使用纯css实现滚动进度条效果的几种技巧

更多相关阅读请进入《css》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...