为什么span定位在父盒子右边外面会变成一列显示,左边就正常一行显示呢?

新手上路,请多包涵

为什么span定位在父盒子右边外面会变成一列显示,左边就正常一行显示呢

我知道可以通过设置white-space:nowrap;来解决

相关代码

<!DOCTYPE html>
<html lang="en">
<head>

<meta charset="UTF-8">
<title>Title</title>
<style>
    div {
        width: 300px;
        height: 300px;
        border:1px solid gray;
        position: relative;
        left: 300px;
    }
    span {
        display:block;
        position: absolute;
        /*left:-250px;*/
        left: 350px;
        border:1px solid gray;
    }
</style>

</head>
<body>

<div>
    <span>我是一个没有设置宽度的标签</span>
</div>

</body>
</html>

希望告诉我造成这个情况的原因,谢谢。

阅读 2.3k
2 个回答

span宽度问题,你给个宽度就可以了

主要是你没定义宽度,span会是自由宽度,

span {
        display:block;
        position: absolute;
        right:-250px;
        border:1px solid gray;
    }

span {
    display:block;
    position: absolute;
    left:-250px;
    border:1px solid gray;
}

span {
    display:block;
    position: absolute;
    left:400px;
    border:1px solid gray;
}

你将span的宽度固定就ok了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题