单元格居中的一个问题

单元格居中的一个问题

<!DOCTYPE html>
<html>
    <head>
   <meta charset="UTF-8">
   <title>输入文本</title>
   <style type="text/css">
    *{padding:0px;margin: 0px;}
   
     .warp{
              height:400px;
              width: 100%;
              border:1px blue solid;              
              display:table-cell;   
              text-align: center;
              vertical-align:middle;   
             }
     /*.content{
              text-align: center;             
              display:table-cell;
              vertical-align:middle;              
              }*/

   </style>
</head>
<body>
 <div class="warp">
        <div class="content">
            <img src="img\logo.jpg"/>
            <h1>Welcome to Website</h1>
            <h2>CSS层叠样式,用于网页样式设置,使网页更美观。</h2>
        </div>
</div>
</body>
</html>

将老师的代码改了一下,因为觉得css嵌套,我就直接将垂直居中属性,水平居中属性都写在了第一个外div上,也实现了水平垂直居中,但是为什么单元格的width变窄了50%?

效果如下图http://img1.sycdn.imooc.com//climg/5bbf2b280001697419201022.jpg

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕夭夭 2018-10-11 19:05:29

因为display: table-cell;会让盒子变为类似单元格 , div默认的宽度是相对浏览器100%显示的 . 而table表格中的宽度是由它的内容撑起来的 , 如下 :

http://img1.sycdn.imooc.com//climg/5bbf2e620001e30611260420.jpg

所以宽度会变小了 , 希望解答了你的疑惑 , 祝学习愉快 ,望采纳

  • 提问者 宝慕林842399 #1
    但是我不是设置的它的width=“100%”了吗?
    2018-10-11 19:14:26
  • 好帮手慕夭夭 回复 提问者 宝慕林842399 #2
    ​单元格相当于td ,给它设置100%是不会起作用的 . 因为单元格是由它的内容撑起来的 . 如果把td放在一个table中 ,把table设置为100% , 那么唯一的这个单元格才会相对浏览器100% . 同学给body设置为 display: table;width: 100%; 让body成为一个table就可以了
    2018-10-12 09:38:26
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师