请问class="right"显示为何不会移动到中间部分?

请问class="right"显示为何不会移动到中间部分?

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title></title>
  <style type="text/css">
    /*此处写代码*/
    *{margin:0;padding: 0;}
    .header,.footer{width: 100%;height: 100px;background: black;float: left;}
    .logo{width: 40%;line-height: 100px;float: left;}
    .title{width: 60%;float: right;}
    .title .list{height: 100px;line-height: 100px;float: right;margin: 0 50px;}
    a{list-style-type: none;text-decoration: none;color: #fff;font: bold 1.5em "微软雅黑";}
    a:hover{color: orange;}
    .title0{width: 70%; height: 100px; margin: 0 20%; }
    .title0 .list{height: 100px;line-height: 100px;float: left;margin: 0 4%;}
    .centent{ padding: 0 300px 0 350px;}
    .center,.left,.right{position: relative;float: left;min-height: 800px;}
    .center{width: 100%;background-color: pink;}
    .left{width: 350px;background-color: gray;margin-left: -100%;left: -350px;}
    .right{width: 300px;background: #ccc;margin-left: -300px;}

  </style>
</head>
<body>
  <!-- 此处写代码 -->
  <div class="header">
      <div class="logo"><img src="http://img1.sycdn.imooc.com/climg//58c0d2d900016ce303000100.png" /></div>
      <ul class="title">
          <li class="list"><a href="#">课程</a></li>
          <li class="list"><a href="#">职业路径</a></li>
          <li class="list"><a href="#">实战</a></li>
          <li class="list"><a href="#">顾问</a></li>
          <li class="list"><a href="#">手记</a></li>
      </ul>
  </div>
   

  <div class="centent">


      <div class="center">
        <img src="http://img1.sycdn.imooc.com/climg//590037e00001fab706000400.jpg">
      </div>


      <div class="left">
        <h2>课程推荐</h2>
        <p><span>职业路径</span>&nbsp;&nbsp;HTML5与CSS3实现动态网页</p>
        <p><span>职业路径</span>&nbsp;&nbsp;零基础入门Android语法与界面</p>
        <p><span>职业路径</span>&nbsp;&nbsp;iOS基础语法与常用控件</p>
        <p><span>职业路径</span>&nbsp;&nbsp;PHP入门开发</p>
        <p><span>职业路径</span>&nbsp;&nbsp;JAVA入门开发</p>
      </div>
     
      <div class="right">
        <h2>登录</h2>
        <p><input type="text" name="yh" placeholder="请输入账号"></p>
        <p><input type="password" name="yh" placeholder="请输入密码"></p>
        <p><input class="bt" type="Submit" name="dl" value="登录" ></p>
      </div>
  </div>


  <div class="footer">
       <ul class="title0">
          <li class="list"><a href="#">网站首页</a></li>
          <li class="list"><a href="#">企业合作</a></li>
          <li class="list"><a href="#">人才招聘</a></li>
          <li class="list"><a href="#">联系我们</a></li>
          <li class="list"><a href="#">常见问题</a></li>
          <li class="list"><a href="#">友情链接</a></li>
      </ul>
  </div>
</body>
</html>


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

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

5回答
好帮手慕码 2019-09-01 10:30:24

同学你好!
.right本来就应该显示在页面的右侧的。测试了下,如果给.right设置   right: -300px;是可以让右侧布局于正常位置:

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

建议同学可以先清除浏览器的缓存再测试一下。如果是还没有实现效果,可以将自己修改后的代码粘贴至问答区进行提问,以便准确的帮助同学解决问题。

如果帮助到了你,欢迎采纳,祝学习愉快~

好帮手慕言 2019-08-31 14:38:03

同学你好,在同学提供的代码里面并没有给类名为right的元素设置right值。如果设置了,是否是设置的位置或者单词有错误呢?

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

页面效果:

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

如果不能解决,可以把代码粘贴上来,老师帮助测试。

如果帮助到了你,欢迎采纳~祝学习愉快~

  • 提问者 可好 #1
    设置了right:-300px;也不行
    2019-09-01 01:06:26
好帮手慕言 2019-08-31 10:16:09

同学你好,是的呀。同学的疑问:
http://img1.sycdn.imooc.com//climg/5d69d72c0001964606040037.jpg

因为类名为centent的元素设置了padding,所以给右侧内容设置margin-left值为负的自身宽度时,会和中间区域内容重叠,如果要右侧内容排列在最右侧,需要设置right值。

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

如果老师解释的不是同学想要表达的意思,可再次提问。

如果帮助到了你,欢迎采纳~祝学习愉快~

  • 提问者 可好 #1
    我懂这个,我的问题就是我的代码设置了,预览也不会显示在右侧
    2019-08-31 11:10:39
好帮手慕言 2019-08-30 20:06:39

同学你好,是因为类名为centent的元素设置了padding,所以给右侧设置了margin-left的也不会移动到中间区块的右侧。

如果帮助到了你,欢迎采纳~祝学习愉快~

  • 提问者 可好 #1
    上中下的 中部分类名为centent 不是本来就要设置padding属性吗?
    2019-08-30 23:12:44
好帮手慕言 2019-08-30 11:49:43

同学你好,右侧部分不设置margin-left值是在下面显示的,如图:

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

给右侧内容设置margin-left为负值时,元素会往左移动,移动到最左侧时(此时margin-left为自身宽度),会排在第一行显示,再给元素设置right值为自身宽度(负值),元素就会排在页面的最右侧。

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

如果帮助到了你,欢迎采纳~祝学习愉快~

  • 提问者 可好 #1
    然而像我上面的 右区块 设置了margin-left的也不会移动到 中间区块 的右侧那里去,是为什么?
    2019-08-30 12:07:49
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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