margin-top和top的区别, bottom0为什么这里不能挨着底部呢?

margin-top和top的区别, bottom0为什么这里不能挨着底部呢?

<!DOCTYPE html>

<html lang="en">

  <head>

    <meta charset="UTF-8" />

    <meta http-equiv="X-UA-Compatible" content="IE=edge" />

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

    <title>Document</title>

    <style>

      * {

        padding0;

        margin0;

      }

      div {

        width1200px;

        margin40px auto;

      }

      div ul {

        list-stylenone;

      }

      div ul li {

        floatleft;

        width380px;

        height210px;

        margin-right20px;

        positionrelative;

      }

      div ul li img {

        width380px;

        height210px;

      }

      div ul li .info {

        width370px;

        height30px;

        padding-left10px;

        background-colorrgba(0,0,0,.5);

        colorwhite;

        line-height30px;

        positionabsolute;

        /* margin-top和top的区别 */

        /* 为什么这里不能挨着底部呢? */

        bottom0px;


      }

    </style>

  </head>

  <body>

    <div>

      <ul>

        <li>

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

          <div class="info">北京的故宫</div>

        </li>

        <li>

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

          <div class="info">十七孔桥</div>

        </li>

        <li>

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

          <div class="info">国家大剧院</div>

        </li>

      </ul>

    </div>

  </body>

</html>



正在回答

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

1回答

同学你好,margin-top是用来设置元素的上外边距的,通常用于分隔上下两个元素,如图

http://img1.sycdn.imooc.com//climg/6114bff409fc63fa18450266.jpg

而top属性是用来设置元素的上偏移距离的,而且该元素必须要设置position属性为relative、absolute或fixed才生效。通常用于调整元素相对于原点的位置。以绝对定位为例,如图所示

http://img1.sycdn.imooc.com//climg/6114c284096a122015940385.jpg

关于不能挨着底部的原因:前面的css代码中通过div元素选择器添加了40px的上下margin,导致div元素距离底部有40px的外边距,如图

http://img1.sycdn.imooc.com//climg/6114c33e09331a0818410607.jpg

建议:在选择器div ul li .info中,将margin设为0,覆盖前面设置的40px,参考如下

http://img1.sycdn.imooc.com//climg/6114c3b90938cb6506720656.jpg

祝学习愉快!

  • qq_慕仰20210716 提问者 #1

    老师,我把第一个大盒子设置了名字:box,这样也可以吧,老师!


    <!DOCTYPE html>

    <html lang="en">

      <head>

        <meta charset="UTF-8" />

        <meta http-equiv="X-UA-Compatible" content="IE=edge" />

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

        <title>Document</title>

        <style>

          * {

            padding0;

            margin0;

          }

          .box {

            width1200px;

            margin40px auto;

            /* overflow: hidden; */

          }

          .box ul {

            list-stylenone;

          }

          .box ul li {

            floatleft;

            width380px;

            height210px;

            margin-right20px;

            positionrelative;

          }

          .box ul li img {

            width380px;

            height210px;

          }

          .box ul li .info {

            width370px;

            height30px;

            padding-left10px;

            background-colorrgba(0,0,0,.5);

            colorwhite;

            line-height30px;

            positionabsolute;

            /* margin-top和top的区别 

            margin-top是用来设置元素的上外边距的,通常用于分隔上下两个元素

            而top属性是用来设置元素的上偏移距离的,而且该元素必须要设置position属性为relative、absolute或fixed才生效

            */

            /* 为什么这里不能挨着底部呢?

            因为我大盒子叫div,里边也有一个div,所以误设置了 */

            bottom0;

            /* 透明度为0,不是背景的透明度,而是整体的透明度 */

            opacity0;

            /* 过渡 */

            transition: opacity 1s ease 0s;


          }

          .box ul li:hover .info {

            opacity1;

          }

        </style>

      </head>

      <body>

        <div class="box">

          <ul>

            <li>

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

              <div class="info">北京的故宫</div>

            </li>

            <li>

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

              <div class="info">十七孔桥</div>

            </li>

            <li>

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

              <div class="info">国家大剧院</div>

            </li>

          </ul>

        </div>

      </body>

    </html>



    2021-08-14 21:13:00
  • 同学你好,是可以的,很棒,继续加油,祝学习愉快!

    2021-08-15 10:42:26
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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