老师我的红框总是偏右一点,麻烦看一下

老师我的红框总是偏右一点,麻烦看一下

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>position-relative</title>

    <style>

        *{

            margin: 0px;

            padding: 0px;

        }

        .block{

            position: relative;

            top: 0px;

            left: 0px;

            width: 80px;

            height: 80px;

            line-height: 80px;

            border: 2px solid black;

            text-align: center;

            float: left;

        }

        .block:nth-child(2){

            position: relative;

            top: 0px;

            left: -80px;

            border: red 2px solid;

        }

    </style>

</head>

<body>

    <div class="block">A</div>

    <div class="block">B</div>

</body>

</html>


正在回答

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

2回答

同学你好,这和浏览器默认样式有关系。有一个样式同学还没有学到,老师给你讲一下,简单了解就行,以后会学到的。

浏览器默认样式中,有一个是 box-sizing:content-box; ,作用是在宽度和高度之外绘制元素的内边距和边框。通俗的说,就是设置的边框和内边距不包含在我们设置的width: 80px; ,所以总宽度需要width基础上加上内边距和边框的宽度。

而有的浏览器默认样式可能是box-sizing: border-box;,作用是为元素指定的任何内边距和边框都将在已设定的宽度和高度内进行绘制。这个时候80px已经包含了边框的宽度。

同学可以设置一下这个属性,此时left: -80px;就能重叠了。

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

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

好帮手慕夭夭 2020-04-16 16:09:59

同学你好,因为div设置了边框,边框包含在盒子的实际宽度中。所以想要完全覆盖另一个div,需要设置如下:

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

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

  • 提问者 qq_慕先生2229342 #1
    那为啥视频里面也是那样就可以呢
    2020-04-16 16:30:56
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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