请问老师这样做是否正确,是否有布局的坏习惯?哪里还可以优化,虽然实现了效果,但总觉得自己是投机取巧

来源:4-11 自由编程

weixin_慕码人7523200

2020-10-25 23:28:23

# 具体遇到的问题

# 报错信息的截图

# 相关课程内容截图

# 尝试过的解决思路和结果

# 粘贴全部相关代码,切记添加代码注释(请勿截图)

<!DOCTYPE html>

<html lang="en">


<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Document</title>

</head>

<style>

    * {

        margin0;

        padding0;

    }

    

    header {

        width500px;

        margin0 auto;

    }

    

    header h2 {

        text-aligncenter;

        font-size32px;

    }

    

    .heng {

        width60px;

        height3px;

        background#07cbc9;

        margin10px auto;

    }

    

    header .comment {

        text-aligncenter;

        colorgray;

        font-size14px;

    }

    

    section {

        positionrelative;

        width1201px;

        height464px;

        margin0 auto;

        padding-top30px;

    }

    

    section .left {

        floatleft;

        width270px;

    }

    

    section .left article {

        positionabsolute;

        top50%;

        margin-top-130px;

        width300px;

        padding20px;

        font-size18px;

        border1px solid gray;

        backgroundrgba(255255255.5);

    }

    

    section .left article button {

        width140px;

        height40px;

        backgroundblack;

        colorwhite;

        outlinenone;

        bordernone;

        margin-top30px;

    }

    

    section img {

        floatleft;

    }

    

    section .right {

        floatright;

    }

    

    section .right .r {

        width260px;

        border1px solid grey;

        padding40px 0;

        text-aligncenter;

    }

    

    section .right .r h3 {

        font-size28px;

        font-weightbold;

    }

    

    section .right .right-up {

        margin-bottom30px;

    }

    

    section .top {

        width500px;

        margin0 auto;

        text-aligncenter;

    }

    

    section .comment {

        text-aligncenter;

        colorgray;

        font-size14px;

    }

    

    section .photo {

        width1200px;

        height653px;

        padding20px;

    }

    

    section .photo ul {

        list-stylenone;

        width1160px;

        height613px;

    }

    

    section .photo ul li {

        floatleft;

        positionrelative;

        width360px;

        height240px;

        margin-right40px;

        margin-bottom30px;

    }

    

    section .photo ul li:nth-child(3),

    section .photo ul li:nth-child(6) {

        margin-right0;

    }

    

    section .photo ul li div {

        positionabsolute;

        width100%;

        height50px;

        left0;

        bottom0;

        text-indent20px;

        text-alignleft;

        line-height50px;

        colorwhite;

        background-color#000;

    }

    

    footer img {

        displayblock;

        width1200px;

        margin0 auto;

    }

</style>


<body>

    <header>

        <h2>ABOUT</h2>

        <div class="heng"></div>

        <div class="comment">

            lkjsdj lsjdkii lkjlw3e mdk lksjdkl sdklse klsdkkdfj ksdfjs sdffksdflks klsdfklsd kldkflsdf lslsl lsdfkl kl ;ldfg ldfgk k sdf sdfs df sdf sdfsdf sdfs sdf sdfsdf sdf sdf sfd sdf sdf

        </div>

    </header>

    <section>

        <div class="left">

            <h2>A WORD <br> ABOUT US</h2>

            <article>

                <p>

                    Pra esent ingk vakrre skt s, dkfbi lib dum ldib nsdk focng gisl nodf obil kdkd gifv msdfk osdfkjsd lkkdkg ksdkfsd lsd lsdfk sdfk lsdflk kldkf lsdf

                </p>

                <button>EXPLORE</button>

            </article>

        </div>

        <img src="images/bb3.jpg" alt="">

        <div class="right">

            <div class="right-up r">

                <h3>70000</h3>

                <div class="heng"></div>

                <div>Students</div>

            </div>

            <div class="right-down r">

                <h3>600</h3>

                <div class="heng"></div>

                <div>Faculty</div>

            </div>

        </div>

    </section>


    <section>

        <div class="top">

            <h1>GALLERY</h1>

            <div class="heng"></div>

            <div class="comment">Lorem ipsum, dolor sit amet consectetur adipisicing elit. Ipsam ducimus tempora minima consequatur incidunt quidem rerum tenetur distinctio.


            </div>

        </div>

        <div class="photo">

            <ul>

                <li>


                    <div>Science Lab</div>

                    <img src="images/03-01.jpg" alt="">


                </li>

                <li>


                    <div>Indoor Stadium</div>

                    <img src="images/03-02.jpg" alt="">

                </li>

                <li>


                    <div>Transportation</div>

                    <img src="images/03-03.jpg" alt="">


                </li>

                <li>


                    <div>kids Room</div>

                    <img src="images/03-04.jpg" alt="">


                </li>

                <li>


                    <div>Meditation Classes</div>

                    <img src="images/03-05.jpg" alt="">


                </li>

                <li>


                    <div>Kids Play Ground</div>

                    <img src="images/03-06.jpg" alt="">


                </li>

            </ul>







        </div>

    </section>

    <footer>

        <img src="images/footer.png" alt="">

    </footer>

</body>


</html>


写回答

3回答

好帮手慕夭夭

2020-10-28

同学你好,在正常文档流中,元素的垂直外间距会产生重叠的情况。但是元素设置浮动或者定位之后,就脱离文档流了,不会有margin重叠现象了。所以叠加起来是30px,这个可以固定记一下哦。

祝学习愉快~

0

好帮手慕夭夭

2020-10-27

同学你好,老师只是任意设置的间距,和效果图差不多就行。重点是学习代码的简化,同学自己可以把数值改一下,例如margin:15px 20px。这样元素上下间距各为15px,叠加起来就是30px了。

祝学习愉快~

0
heixin_慕码人7523200
h 好的,明白了。老师我还有一个问题,之前的课程不是说过上下外边距会叠加吗?为何您margin:15px 20px 能让它叠起来是30px?不应该还是15px吗?
h020-10-27
共1条回复

好帮手慕夭夭

2020-10-26

同学你好,代码的问题与修改如下:

1.本题中展示的效果图只是页面的一部分,没有头部区域的内容,所以使用<header>标签是不合理的。header部分在前面小节的练习题,如下图所展示的头部区域才可以使用<header>标签布局:

http://img.mukewang.com/climg/5f96326e09c1ed9310890285.jpg


在布局时,每一个区域的内容应该放在一个大盒子中。每一个区域的大盒子中,可以划分的更细。例如about区域,可以划分成上下两部分,分别嵌套在不同的div中。划分的越细,结构会越清晰,更便于日后的阅读和维护。建议结构如下调整:

http://img.mukewang.com/climg/5f96343509ff04e210220825.jpg

因为布局调整了一下,所以样式会有影响,也调整一下:

http://img.mukewang.com/climg/5f9635d4097b1c3905100556.jpg

http://img.mukewang.com/climg/5f9635dd09b7a89702930177.jpg

http://img.mukewang.com/climg/5f9636db09ba7ed504490305.jpg


(css中,关于header样式就可以去掉了哦,这里老师就不一一展示了)

2.gallery区域图片布局,可以根据父容器设置的宽度,分配小盒子的宽度。例如大盒子宽度为1200px,那么小盒子实际占据的空间为400px,一行就可以放下3个小盒子了。这样不需要额外给每一行的最后一个小盒子清除间距。如下修改:

http://img.mukewang.com/climg/5f96386d09c5294505840790.jpg


3.看同学尾部是引入了一张图片,本题中,尾部不是图片,建议如下修改:

http://img.mukewang.com/climg/5f9639030997461405600123.jpg

http://img.mukewang.com/climg/5f96391a09aa93f704120355.jpg

祝学习愉快~

0
heixin_慕码人7523200
h 4-11题目中给出的GALLERY示例图,中间的缝隙间距,明明标明了30,然后您在您的回复中第2点最后的代码margin: 20px;这样如何能让中间的缝隙间距设为30??
h020-10-27
共1条回复

0 学习 · 15276 问题

查看课程