Html 将正文宽度设置为文档的100%';s
因此,我:Html 将正文宽度设置为文档的100%';s,html,css,Html,Css,因此,我: <body style="border:1px solid red;width:100%;"> <div style="position:absolute;left:2000px;"> 1 </div> <body> 1. 在这种情况下,是否有办法使正文宽度为文档的100%(包括“滚动空间”),而不是内窗口宽度的100%? 我的意思是,我需要的结果就像我对身体
<body style="border:1px solid red;width:100%;">
<div style="position:absolute;left:2000px;">
1
</div>
<body>
1.
在这种情况下,是否有办法使正文宽度为文档的100%(包括“滚动空间”),而不是内窗口宽度的100%?
我的意思是,我需要的结果就像我对身体应用了“宽度:2000px;”,但不知道这个数字
我知道,在js中只需要一行代码,但我仍然想知道,我是否可以用纯css实现这一点
澄清:
当我写“width:100%;”时,我预计主体宽度将延伸到2000px(包括绝对定位的div),但它仅延伸到1024px(浏览器窗口宽度)。这个布局有一个逻辑难题
<body style="background:red;width:100%;">
<div style="position:absolute;left:2000px;">
1
</div>
<body>
1.
由于内部div
是绝对定位的,因此它不在文档流中,因此父块容器
无法基于绝对定位的子元素计算宽度
通过将100%的宽度百分比指定给
,宽度实际上是基于根元素的宽度计算的,在本例中,
,而根元素又可能从视口继承其高度
单靠CSS无法实现此效果。
如果需要绝对定位内部div,则需要一些JavaScript/jQuery功能来根据要指定的一些自定义规则确定
的宽度。此布局存在一个逻辑难题
<body style="background:red;width:100%;">
<div style="position:absolute;left:2000px;">
1
</div>
<body>
1.
由于内部div
是绝对定位的,因此它不在文档流中,因此父块容器
无法基于绝对定位的子元素计算宽度
通过将100%的宽度百分比指定给
,宽度实际上是基于根元素的宽度计算的,在本例中,
,而根元素又可能从视口继承其高度
单靠CSS无法实现此效果。
如果需要绝对定位内部div,则需要一些JavaScript/jQuery功能来根据要指定的一些自定义规则确定
的宽度。宽度属性与对象的子元素没有任何关系。此外,通过绝对定位该元素,它实际上会导致父元素完全忽略该特定子元素的任何大小参数。但是,即使是具有偏移的相对定位对象,也只有图元的初始位置会对其父对象产生影响,而不会对其偏移位置产生影响
将width设置为100%将使其填充父容器的100%,在本例中为
元素。通过明确说明宽度,即使容器中有大量未包装的内容,也会将宽度锁定为100%(或浏览器窗口的宽度),而不管所述子内容如何
您可以尝试将宽度设置为200%,这将导致它向右延伸,超出其父容器。但是这个宽度不会由绝对定位的子元素驱动,并且可能不足以满足您的需求
如上所述,对于您正在尝试做的事情,没有纯CSS解决方案,您至少需要使用一些javascript来完成听起来像您正在尝试完成的事情。width属性与对象的子元素没有任何关系。此外,通过绝对定位该元素,它实际上会导致父元素完全忽略该特定子元素的任何大小参数。但是,即使是具有偏移的相对定位对象,也只有图元的初始位置会对其父对象产生影响,而不会对其偏移位置产生影响 将width设置为100%将使其填充父容器的100%,在本例中为
元素。通过明确说明宽度,即使容器中有大量未包装的内容,也会将宽度锁定为100%(或浏览器窗口的宽度),而不管所述子内容如何
您可以尝试将宽度设置为200%,这将导致它向右延伸,超出其父容器。但是这个宽度不会由绝对定位的子元素驱动,并且可能不足以满足您的需求
如上所述,对于您要做的事情,没有纯粹的CSS解决方案,您需要至少使用一些javascript来完成听起来像您要完成的事情。问题是
位置:绝对您可以做的是将div
包装到另一个中,如下所示:
<body style="border:1px solid red;width:100%;">
<div style="width:2000px;">
<div style="position:absolute;left:2000px;">
1
</div>
</div>
<body>
1.
因为当您将任何元素设为绝对元素时,它不再属于父元素,而成为文档(文档流中)中的单独元素。如果这个答案不是你想要的,请告诉我你到底想做什么(你的设计决定是什么),然后我可以给你其他的设计来解决你的问题。问题是位置:绝对的你可以做的是将你的div
包装在另一个里面,就像这样:
<body style="border:1px solid red;width:100%;">
<div style="width:2000px;">
<div style="position:absolute;left:2000px;">
1
</div>
</div>
<body>
1.
因为当您将任何元素设为绝对元素时,它不再属于父元素,而成为文档(文档流中)中的单独元素。如果这个答案不是您想要的,请告诉我您到底想要做什么(您的设计决定是什么),然后我可以为您提供替代设计来解决您的问题。您想隐藏滚动条还是将其置于浏览器宽度之外?水平和垂直(如果我正确理解你的问题)width:100%
都可以。我想您可能想在屏幕上尝试overflow:hidden