为了账号安全,请及时绑定邮箱和手机立即绑定

垂直居中-父元素高度确定的多行文本 table与div

我想让两个div浮动靠左,然后里面的文字都居中。

分别用line-height和table两种办法。但是总得不到结果,结果如下——

http://img1.sycdn.imooc.com//5882226500011bf502890332.jpg

我的代码是这样的,根据td里面自动加vertical属性,我的<div>和<p>不就应该自动垂直居中了吗?

http://img1.sycdn.imooc.com//588222920001dfd002940327.jpg

正在回答

2 回答

http://img1.sycdn.imooc.com//58a452620001fe4709030510.jpg希望对你有帮助

0 回复 有任何疑惑可以回复我~
#1

怀中猫 提问者

你好,很晚了才回复你,因为css忘得有点多,又重新温习了次——但是这里还是出现了问题,我试了试你的代码,是正确的,能否给我说明下其间的原理?为什么你的可以,为什么我的又不行呢
2017-03-06 回复 有任何疑惑可以回复我~
#2

qq_Absurdyears_0

不好意思啊才下课,刚看见。我觉得应该是你的table使用的不正确,这节学的用table进行居中设置,你问题中提到了了案例中的那句话:“因为 td 标签默认情况下就默认设置了 vertical-align 为 middle,所以我们不需要显式地设置了”你对这句话的理解可能有点偏差,这句话的是指你可以不用在css中设置文本居中的代码,还是那句话:“这节学的是用table进行居中设置”,所以你需要在td设置class,而你的代码中并没有对td设置class,所以就算td有默认属性,但是td没有目标所以不会居中,表达能力有点差,希望你能理解
2017-03-06 回复 有任何疑惑可以回复我~
#3

qq_Absurdyears_0

还有一种可能是,table跟单独设置冲突,我舍友都上床了,太亮怕打扰他们,没来的及试一下,你可以自己试试。(当然了这只是我猜的,可能性不大)
2017-03-06 回复 有任何疑惑可以回复我~

table的高度没设置,而且第二个div不应该定义宽度高度,否则table会和div一样大,然后div垂直居中后就成你这个样子了

<style>

#div1{line-height:300px;width:100px;height:300px;float:left;}

table td{height:294px;}

</style>

</head>

<body>

 <div id="div1"> 胆小如鼠</div>    

<table><tbody><tr><td>

<div>

    <p>鼠目寸光</p>

</div>

</td></tr></tbody></table>


0 回复 有任何疑惑可以回复我~
#1

怀中猫 提问者

我的问题里写的"我想让两个div浮动靠左,然后里面的文字都居中。"按照你的操作成了两个div一上一下。另外,慕课网的这一节里不也没有定义table的高度吗,http://www.imooc.com/code/6370
2017-01-21 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

垂直居中-父元素高度确定的多行文本 table与div

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号