老师,底部有白边是因为什么原因

老师,底部有白边是因为什么原因

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Document</title>

<style type="text/css">

*{

margin:0;

padding:0;

list-style: none

  } 


.header{

  width: 100%;

  height: 100px;

  background:black;

  } 

.logo{ 

  height: 100px;

  float: left;

  }

.nav{

  float: right;

  } 

.nav ul li{

float: left;

color: #fff;

line-height: 100px;

margin:0 30px;

font-size: 20px;

font-weight: bold;

  }


 .container{

       width: 100%;

          height:600px;

          background:gray;

          font-family: "微软雅黑";   

  }


 .left{

      width: 38%;

      height: 600px;

      float: left;

      font-family: "微软雅黑";

        font-size: 14px;

      position: absolute;

      top:40%;

      left:10%;     

      line-height:40px;   

  }

 .left p{ font-size: 20px; }


 .right{

     width: 28%;

     height: 600px;

     float: right;

     font-family: "微软雅黑";

     font-size: 14px;

     position: absolute;

     top:40%;

     left:40%;     

     line-height:40px;    

  }

 .right p{font-size: 20px;}

 

 .left span{

     background: pink;

     margin-right: 20px;

  }



  .line{

     width: 5px;

     height: 600px;

     background: orange;

     position: absolute;

     top:100px;

     left: 63%;

  }


.con-right{

    width:30%;

   position: absolute;

   top:40%;

   left: 70%;

  }

 .con-right p{

    font-size: 20px;}


  .input1,.button{

    width:220px;

    margin:15px 0;

    height: 35px;

    border: 1px solid gray;

    font-size:12px;

  }

  .button{

    background: red;

    color: white;

    text-align: center;

    font-size: 20px;

  }


 /*--FOOTER--*/

 .footer{

      width: 100%;

      height: 100px;

      background:black;

      line-height: 100px;

      text-align: center;

      bottom: 0;

    }


 .footer ul{

      width: 750px;

      height: 100px;

      margin:0 auto;

        

  }

   .footer ul li {

      float: left;

      width:150px;

      font-size: 18px;

  }

   .footer ul li a{color: #fff;

    text-decoration: none;}


</style>

</head>

<body>

<!--页头-->

<div class="header">

<div class="logo">

<img src="http://img1.sycdn.imooc.com/climg//59093e9c00016ce303000100.png">

</div>

<div class="nav">

<ul>

<li>课程</li>

<li>职业路径</li>

<li>实战</li>

<li>猿问</li>

<li>手记</li>

</ul>

</div>

</div>


<!--主体-->


<div class="container">

<div class="con-left">

<div class="left">

<p>课程介绍</p>

<ul>

<li><span>职业路径</span>HTML5与CSS3实现动态网页</li>

<li><span>职业路径</span>零基础入门Android语法与界面</li>

<li><span>职业路径</span>ios基础语法与常用控件</li>

<li><span>职业路径</span>PHP入门开发</li>

<li><span>职业路径</span>JAVA入门开发</li>

</ul>

</div>

<div class="right">

<p>相关课程</p>

               <li>HTML&nbsp;&nbsp;CSS&nbsp;&nbsp;JavaScript</li>

               <li>HTML5&nbsp;&nbsp;CSS3&nbsp;&nbsp;Jquery</li>

               <li>移动端基础&nbsp;&nbsp;移动端APP开发</li>

</div>

</div>


   <div class="line"></div>


   <div class="con-right">

    <p>登录</p>

      <form>

     <input class="input1" type="text" name="#" size="40px" placeholder="请输入登陆时的邮箱/手机号">

         <br/>

     <input class="input1" type="password" name="#" size="40px" placeholder="6-16位密码、区分大小写、不能用空格">

         <br/>

     <input class="button" type="botton" name="登陆" value="登陆" size="15px">

      </form>

   </div>

</div>


<!--footer-->


<div class="footer">

      <ul>

<li><a href="#">网站首页</a></li>

<li><a href="#">企业合作</a></li>

<li><a href="#">人才招聘</a></li>

<li><a href="#">联系我们</a></li>

<li><a href="#">讲师招募</a></li>

</ul>

  </div>

</body>

</html>

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

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

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

1回答
好帮手慕美 2018-09-20 17:19:37

1、container中的left和right的高度分别设置了600px,同时还设置了绝对定位,top是40%,而container的高度是600px,并不能完全放在container中的,所以会出现底部有空白的情况

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

2、中间的内容是随着浏览器高度的变化而变化的,这里给container里的内容分别设置了绝对定位,没有给父元素设置相对定位,所以他是相对于body来实现绝对定位的,所以会出现这种效果,

修改:可以给container添加相对定位position: relative;去掉left、right中的600px的高度,再适当修改left,right,.line中的top值,从而实现效果图中的效果,不修改top的话,中间的内容会比较靠下显示

  • 提问者 慕设计8946026 #1
    如果设置了绝对定位,父元素是一定要设置相对定位的吗?里面的高度为什么不要在设置了?
    2018-09-20 19:14:29
  • 好帮手慕美 回复 提问者 慕设计8946026 #2
    设置了父元素的相对定位可以更方便地设置子元素的位置,就可以不用再算上导航的高度了。 直接设置top为固定的值中间内容就不会随着浏览器高度变化了。之前设置的百分比,是相对于整个浏览器高度来计算百分比值的。只要设置的高度加上定位的top值不超过container的高度也是可以的,不设置高度直接由内容撑开就不会有一开始遇到的问题了
    2018-09-20 20:07:48
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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