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

为什么这样不能居中

  .yoyo{

      height:300px;background:#ccc

  }

。。。。。

<!--下面是代码任务区-->

<table><tbody><tr><td class="yoyo">

<div>

<p>就随便一点字而已</p>

<img src="http://img1.sycdn.imooc.com//54ffac56000169c001840181.jpg" title="害羞的小女生"/>

</div>

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


这样一段代码并不能做到图片居中,为什么呢?

正在回答

4 回答

注意这种垂直居中的前提是:所有的Inline-block类型的子元素生效。而p元素属于块元素,它必须霸道的占一行。

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

慕斯卡4211204

我又看了一下你的问题,我觉得你这个问题真的问的好。我看了下,用这种表格的方法的前提是对所有的inline-block类型的子元素生效,也就是说对所有的内联块元素生效,那么我就试着把这个表格设置为inline-block的元素类型,但是实际效果并不是像有一位朋友说的图片和文字垂直居中。然后,我想了好一会儿,终于发现该方法用于多行文本,多行图片。而这个是文字混合图片。那么文字混合图片的垂直居中又该怎么做呢?有大神知道可以告诉我一下。
2018-08-22 回复 有任何疑惑可以回复我~
#2

慕仙6215699 回复 慕斯卡4211204

emm为什么不把直接把p标签放到table外面呢?设置一下定位就行了啊
2018-09-08 回复 有任何疑惑可以回复我~

文字和图片都要居中,而文字又要单独占一行

在这里可以说两者都居中了

是把文字和图片视作一个整体来进行居中的

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

这是当然啦,p标签是块级元素,要单独占一行的,这个时候应该是P和img两个元素在块里面垂直居中了,,我感觉你这个问题有点怪怪的

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

给你的table标签设置 margin:0 auto;

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

如此丶 提问者

我的意思是如果我没加“<p>就随便一点字而已</p>”这个,图片就是垂直居中,但是加了,在块里面就不能垂直居中了
2018-08-16 回复 有任何疑惑可以回复我~
#2

独木不成林 回复 如此丶 提问者

这是当然啦,p标签是块级元素,要单独占一行的,这个时候应该是P和img两个元素在块里面垂直居中了,,我感觉你这个问题有点怪怪的
2018-08-19 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么这样不能居中

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信