CSS垂直对齐为什么会不起作用?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!
我们先来分析一下导致垂直对齐无效的原因
我想很多人都会遇到这样一个问题,在使用vertical-align作为属性来对齐垂直位置,由于某种原因它根本不起作用!
实际上,vertical-align只能用于“内联元素”和“表格单元格”。
vertical-align的使用方法
在“内联元素”或“表格单元格”中描述您想要对齐位置。
如果适用于内部元素的话,“想要改变文字的基本线”。文字的基本线是默认的位置。
这个位置可以提高或降低。
基本上有top,bottom,middle,也可以用像素和%的数字来指定。
如果适用于表单元格,则是“在纵向方向的对齐时”。
我们来看具体的例子:
例如,如果要使用vertical-align实现垂直居中,请看如下代码。
我们先准备这样一个盒子
HTML
<div class ="box-wrap"> <div class ="box"> <p>文字内容</p> </div> </div>
CSS
.box{ background-color: #66b6d5; width: 300px; height: 200px; } p{ color: #fff; }
效果如下:
然后添加display:table - cell;和vertical - align:middle;到.box。
.box{ display: table-cell; vertical-align: middle; background-color: #66b6d5; width: 300px; height: 200px; } p{ color: #fff; }
效果如下:实现了垂直居中
在这里要注意的是,为了实现垂直方向的位置指定,需要有高度的table。
如果您希望高度取决于父元素,请确保将父元素指定为display:table;并且还要hight。
垂直和对齐,顶部和底部之间的区别也是这样的。
代码如下:
<!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>
效果如下:
感谢各位的阅读!看完上述内容,你们对CSS垂直对齐为什么会不起作用大概了解了吗?希望文章内容对大家有所帮助。如果想了解更多相关文章内容,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。