父元素没设置display:table,也能实现垂直居中?
来源:2-6 编程练习
背上我的小书包
2019-04-17 21:17:53
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>背景</title> <style> /*此处写代码*/ .one{ width:400px; height:400px; display:table; } .two{display:table-cell; vertical-align:middle; text-align:center; width:400px; height:400px; background-image:url(http://climg.mukewang.com/58dc9d360001d65806500650.jpg);} </style> </head> <body> <div class="one"> <div class="two"> 《长歌行》 <br> <br>青青园中葵,朝露待日晞。 <br>阳春布德泽,万物生光辉。 <br>常恐秋节至,焜黄华叶衰。 <br>百川东到海,何时复西归。 <br>少壮不努力,老大徒伤悲。 <br> </div> </div> </body> </html>
1回答
你好同学, 这里可以不设置是因为two本身也设置了宽高。当two不设置宽高的时候,虽然设置了table-cell成为单元格,但是这个单元格没有任何参考的宽高,只是内容撑开。所以给two设置它里面的内容相对它自身居中对齐就没有任何意义了
所以此时给父元素one设置成table的意义就是让two成为one里面的单元格,因为表格的特点,当table中只有一个td的时候,那么一个td就占满了整个table ,即这里的two的宽高也就和one一样了。所以有了宽高,里面的内容设置居中对齐就有意义了哦
祝学习愉快 ,望采纳。
相似问题