这段代码为什么a标签的位置是在图片右上角

这段代码为什么a标签的位置是在图片右上角

<!DOCTYPE HTML>
<html lang="zh">
   <head>
      <meta charset="UTF-8">
      <title>标题</title>
      <style>
         * {
            margin: 0;
            padding: 0;
         }
         
         .c1 {
            height: 360px;
            margin: 40px auto;
            width: 650px;
         }
         
         .btn {
            border: 2px solid #000000;
            height: 40px;
            position: absolute;
            width: 40px;
         }
      </style>
   </head>
   <body>
      <div class="c1">
         <img alt="1" src="images/gugong.jpg">
         <a class="left_btn btn"></a>
         <a class="right_btn btn"></a>
      </div>
   </body>
</html>


正在回答

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

2回答

同学你好,当绝对定位元素没有设置left、top等方位属性时,浏览器会自动安排它的位置,一般会挨着前面元素往后布局。在同学的代码中,a标签挨着图片,因此会在图片右侧显示(图片右侧有位置,就在有位置的部分排布)。这种自动排布的位置,大多情况并不是我们想要的,而且可能不同的浏览器排布方式还不同,因此绝对定位元素一定要手动设置left、top等值,人为规定好它的位置。

祝学习愉快!

好帮手慕然然 2021-11-16 09:51:39

同学你好,因为a标签设置了绝对定位属性(position: absolute),绝对定位元素会脱离文档流,不再占用普通文档流中的页面空间,也不再按照普通文档流顺序进行排列,此时一般会给绝对定位元素设置偏移属性来改变位置,如图

https://img1.sycdn.imooc.com//climg/61931f520988015e13630478.jpg

祝学习愉快!

  • 提问者 DanielDu87 #1

    我的代码都没有写位置啊,为什么就在右上角呢

    2021-11-18 22:38:50
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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