壮士!看一下,我做了改动,有很多地方实现的方法可能不好,都是自己试出来的,指导指导,问题在注释中

壮士!看一下,我做了改动,有很多地方实现的方法可能不好,都是自己试出来的,指导指导,问题在注释中

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>123456</title>
    <style type="text/css">
        body{
            padding: 0;
            margin: 0;
            
        }
        /*页头logo导航*/
        .header,
        .footer{
            width: 100%;
            height: 80px;
            background: #483d8b;
            text-align: center;
            font-size: 20px;
        }    
        /*使用绝对定位来将原本在顶端的footer元素进行移动,有没有更好的办法???*/
        .footer{
            position: absolute;
            top: 850px;/*页头+主体=50+800=850*/
        }

        .logo{
            float: left;
        }
        .nav{
            float: right;/*父元素设置浮动,下面的子元素也要设置浮动,解决导航由块元素排列问题*/
        }
        .nav-li{
            line-height: 80px;
            margin-right: 30px;
            float: right;
            
        }

        .footer-li{
            display: inline-block;/*解决页脚导航块元素排列问题*/
            line-height: 80px;
            margin-right:30px;

        }
        .center,
        .left,
        .right{
            background: url(https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1509504596724&di=bda103a949aac19e465873271559fea0&imgtype=0&src=http%3A%2F%2Fimg000.hc360.cn%2Fy2%2FM00%2F16%2FAC%2FwKhQdFRtGimEH4RHAAAAABneA68280.jpg);/*设置背景图片*/
        }
        .center{
            width: 35%;
            height: 800px;
            float: left;
            text-align: center;/*文本居中*/
        }
        .right{
            width: 29.5%;
            height: 800px;
            float: right;
            text-align: center;
            /*对应.feng 设置相对定位,解决元素塌陷*/
            position: relative;
            margin-top: -801px;/*右边栏顶部设为800时出现1px白色边框线,可能与.feng 有关 没找到具体解决方法 只能把-800设成-801或将.feng高度降1*/

        }
        .left{
            width: 35%;
            height: 800px;
            float: left;
            text-align: center;
        
        }
        .center-li{
            margin-top: 30%;
        }
        /*添加一个DIV,设置它的左边框 慕课老师说:16px=1%   这是一个只剩下左边框的盒子,它已经不能装彩虹糖了*/
        .feng{
            width: 0.5%;
            height: 800px;
            float: left;
            border-left: 8px solid #008080;
        }
        .input{
            width: 180px;
            height: 25px;
            /*border-radius: 15px;*/
            outline: #2e8b57 solid 3px ;/*设置轮廓样式*/

        }
        .input-li{
            width: 90px;
            height: 30px;
            /*border-radius: 15px;*/
            color: #fff;
            font-family: "微软雅黑";
            background:#008b8b;
            border: 1px solid #66cdaa;/*设置按钮边框样式*/

        }
        .form{
            margin-top: 34%;/*.form相对于.input就是父元素,所以通过这种方法设置位置*/
        }
        /*设置文字共同样式*/
        .main-inner,
        .main-li{
            line-height: 30px;
            font-size: 18px;
            font-weight: bold;
            color: #daa520;
        }
        span{
            background: url(https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1509505096996&di=0cceb138ba883a8157ae55d023dea3eb&imgtype=0&src=http%3A%2F%2Fpic32.photophoto.cn%2F20140816%2F0008020286054467_b.jpg);
            color: #ff4500;
            font-size: 20px;
        }
        h2{
            color: #008080;
        }
        a{
            text-decoration: none;/*设置a标签取消下划线,并对其文字进行颜色设置*/
            color: #000;
            font-family: "楷体";
        }
    </style>
</head>
<body>
    <!--页头-->
    <div class="header">
        <div class="logo">
        <img < width="220px"  src="http://img1.sycdn.imooc.com/climg//59093e9c00016ce303000100.png" alt="">
    </div>
    <div class="nav">
        <div class="nav-li"><a href="http://class.imooc.com/">手记</a></div>
        <div class="nav-li"><a href="http://class.imooc.com/">猿问</a></div>
        <div class="nav-li"><a href="http://class.imooc.com/">实战</a></div>
        <div class="nav-li"><a href="http://class.imooc.com/">职业路径</a></div>
        <div class="nav-li"><a href="http://class.imooc.com/">课程</a></div>
    </div>
    </div>
    <!--主体-->
    <div class="main">
    <!--左侧-->
    <div class="left">
        <div class="center-li">
        <h2>课程推荐</h2>
        <div class="main-inner"><span class="span">HOT</span>&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://class.imooc.com/">HTML5与CSS3实现动态网页</a></div>
        <div class="main-inner"><span class="span">HOT</span>&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://class.imooc.com/">零基础入门Android语法与界面</a></div>
        <div class="main-inner"><span class="span">HOT</span>&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://class.imooc.com/"> ios基础语法与常用控件</a></div>
        <div class="main-inner"><span class="span">HOT</span>&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://class.imooc.com/">php入门开发</a></div>
        <div class="main-inner"><span class="span">HOT</span>&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://class.imooc.com/">Java入门开发</a></div>
        </div>
    </div>
    <!--中间-->
    <div class="center">
        <div class="center-li">
        <h2>相关课程</h2>
        <div class="main-li"><a href="http://class.imooc.com/">HTML CSS JavaScript</a></div>
        <div class="main-li"><a href="http://class.imooc.com/">HTML CSS jQuery</a></div>
        <div class="main-li"><a href="http://class.imooc.com/">移动端基础 移动端开发</a></div>
        </div>
    </div>
    <!--右侧夹缝-->
    <div class="feng"></div>
    <!--右侧-->
    <div class="right">
        <form class="form">
            <h2>登录</h2>
        <input class="input" type="text" name="username" placeholder="请输入账号" autofocus required><br/><br/>
        <input class="input" type="password" name="psw" placeholder="请输入密码" required><br/><br/>
        <input class="input-li" type="submit" name="登录" value="登录" />
        <input class="input-li" type="submit" name="注册" value="注册" />
        </form>
    </div>
    </div>

    <!--页脚-->
    <div class="footer">
        
        <div class="footer-li">
        <div class="footer-li"><a href="http://www.imooc.com/">网站首页</a></div>
        <div class="footer-li"><a href="http://class.imooc.com/">企业合作</a></div>
        <div class="footer-li"><a href="http://class.imooc.com/">人才招聘</a></div>
        <div class="footer-li"><a href="http://class.imooc.com/">联系我们</a></div>
        <div class="footer-li"><a href="http://class.imooc.com/">常见问题</a></div>
        <div class="footer-li"><a href="http://class.imooc.com/">友情链接</a></div>
        <p>京 ITC 备 6666666号 -1 2017-2030 CPLASF.com 版权所有</p>
    </div>
    </div>
</body>
</html>


正在回答

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

3回答

从你的代码中能看出来你努力了。还有一些技巧性的东西没有运用的不是很好。我给你一一指出来:

1、头部的导航菜单,你做的没有问题,正确的一般来说的话,就是这么写的。我表示没有看懂你这句话的意思“/*父元素设置浮动,下面的子元素也要设置浮动,解决导航由块元素排列问题*/”

2、footer中的这句p标签的不需要,题目中没有要求,如果要加这么一个东西的话,需要放到他的它父元素外,并且把p标签改成div,然后再设置div的宽高等样式。而且,上面的div怎么能和父元素的class名一样呢?

http://img1.sycdn.imooc.com//climg/59f9281c0001df7b11560304.jpg

3、主题部分的右侧,不需要用定位来实现的,你在未使用定位之前产生错位的原因是这几个块的宽度和超过了100%,把右边的宽度改一下就能显示在一行了。因为有些标签会有一些默认的填充,一不小心就会超长,所以,在这里你不需要再给feng设置0.5%的宽度了,不给他设置的话,他会自动的显示100%剪去其他块的宽度,因此也不会超长,这样一来,right中的定位就可以去掉了:

http://img1.sycdn.imooc.com//climg/59f92a200001899d06410752.jpg

4、主题部分,因为你中间的内容使用了浮动,在最后就要清楚浮动,不然父元素会塌陷,会撑不起来,后面的元素就会网上窜,你的底部部分在上面就是因为这个原因,记得要在几个元素的后面,父元素的内部最后清楚,参考下面的写法:

http://img1.sycdn.imooc.com//climg/59f92b190001ce6212290497.jpg

5、根据第4点,你应该知道了,你给父元素设置定位是因为之前浮动没有清楚,导致后面的元素网上窜了,原因是浮动的元素脱离了文档流,而父元素也没有设置宽高,所以就会网上走,清楚浮动之后,footer中的定位内容就不需要了,:

http://img1.sycdn.imooc.com//climg/59f92bb90001d97205840256.jpg

以上就是你作业中出现的问题,虽然已经被你拐弯抹角的解决了,但是都是画蛇添足了,这么一解释你应该都明白了, 另外,主题部分的这个背景图片不需要,换成背景颜色就可以了,这都是小问题。加油!

  • 边防连 提问者 #1
    谢壮士!除了第三点,其他都解决了,第三点按照要求注释后,right栏进行了下移顶部对齐了center的底部,将right注释解除后显示正常,
    2017-11-01 12:51:18
Miss路 2017-11-01 13:47:20

你再看看我给你的截图,需要注释两部分的内容,right需要注释,feng里面也要注释一行呢。不要着急,慢慢研究。

  • 提问者 边防连 #1
    好的,壮士
    2017-11-01 17:53:36
提问者 边防连 2017-11-01 12:49:35
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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