两列布局中如何让内容在各自的div中垂直居中?

两列布局中如何让内容在各自的div中垂直居中?

<!DOCTYPE html>

<html>

<head>

  <meta charset="UTF-8">

  <title></title>

  <style type="text/css">

   *{

       padding:0;

       margin:0;

   }

   li{

       list-style:none;

       line-height:2em;

       font-family:"微软雅黑";

   }

   .container{

       background:pink;

       height:500px;

   }

   .left{

       width:50%;

       height:500px;

       float:left;

      

       

       

   }

   .right{

       width:50%;

       height:500px;

       float:right;

   }

   .text{

       text-align:center;

   }

  </style>

</head>

<body>

      <div class="container">

    <div class="left">

        <div class="text">

            <h1>课程推荐</h1>

            <ul>

               <li>html与css3</li>

               <li>零基础入门</li>

               <li>ios基础语法</li>

               <li>php开发</li>

            </ul>

        </div>

    </div>

    <div class="right">

         <div class="text">

             <h1>课程推荐</h1>

             <ul>

               <li>javascript</li>

               <li>移动端基础</li>

               <li>移动app开发</li>

               <li>html5开发</li>

             </ul>


        </div>

    </div>

</div>

</body>

</html>


正在回答

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

2回答

可以使用绝对定位的技巧在父元素内水平垂直居中http://img1.sycdn.imooc.com/climg//59d099560001b23303700487.jpg

  • VincentGu 提问者 #1
    非常感谢!
    2017-10-02 12:49:10
  • 这种方法需要设置div的高度,而且,多行文本垂直居中后,无法左对齐
    2018-04-23 00:10:17
  • 将text中的text-align: center;设置成text-align: left;就可以实现左对齐了呀
    2018-04-23 11:10:27
怎么都被占用了呢 2018-04-23 10:01:38

是需要设置高度的,不过你说的无法左对齐是什么情况呢?下面是我测试的代码,可以看一下效果:

<!DOCTYPE html>

<html>

<head>

  <meta charset="UTF-8">

  <title></title>

  <style type="text/css">

   *{

       padding:0;

       margin:0;

   }

   li{

       list-style:none;

       line-height:2em;

       font-family:"微软雅黑";

   }

   .container{

       background:pink;

       height:500px;

   }

   .left{

       width:50%;

       height:500px;

       float:left;

       position: relative;

   }

   .right{

       width:50%;

       height:500px;

       float:right;

       position: relative;

   }

   .text{

       position: absolute;

       width:200px;

       height: 180px;

       top:50%;

       left:50%;

       margin-left:-100px;

       margin-top: -90px;

   }

  </style>

</head>

<body>

      <div class="container">

    <div class="left">

        <div class="text">

            <h1>课程推荐</h1>

            <ul>

               <li>html与css3</li>

               <li>零基础入门</li>

               <li>ios基础语法</li>

               <li>php开发</li>

            </ul>

        </div>

    </div>

    <div class="right">

         <div class="text">

             <h1>课程推荐</h1>

             <ul>

               <li>javascript</li>

               <li>移动端基础</li>

               <li>移动app开发</li>

               <li>html5开发</li>

             </ul>


        </div>

    </div>

</div>

</body>

</html>


问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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