Css 我怎样才能有显示:块;元素像文本一样环绕浮动元素?

Css 我怎样才能有显示:块;元素像文本一样环绕浮动元素?,css,css-float,sidebar,Css,Css Float,Sidebar,我在谷歌上搜索了一下,找到了很多关于我试图解决的问题的参考资料,但都提出了我无法使用的相同解决方案。问题是我有一个侧边栏向右浮动,一些div需要扩展到侧边栏留下的宽度,但是当侧边栏不再阻止它们这样做时,它们会扩展到全宽度 JSFIDLE在这里: 其他地方的解决方案是应用溢出:隐藏;到。左侧的项目。这正好达到了我想要的效果:与侧边栏共享水平空间的div只扩展到侧边栏,但其他div扩展到允许的全部宽度。不幸的是,在左div中有一个绝对定位的项超过了div的大小,如果我应用overflow:hidde

我在谷歌上搜索了一下,找到了很多关于我试图解决的问题的参考资料,但都提出了我无法使用的相同解决方案。问题是我有一个侧边栏向右浮动,一些div需要扩展到侧边栏留下的宽度,但是当侧边栏不再阻止它们这样做时,它们会扩展到全宽度

JSFIDLE在这里:

其他地方的解决方案是应用溢出:隐藏;到。左侧的项目。这正好达到了我想要的效果:与侧边栏共享水平空间的div只扩展到侧边栏,但其他div扩展到允许的全部宽度。不幸的是,在左div中有一个绝对定位的项超过了div的大小,如果我应用overflow:hidden;,它将被裁剪;,所以我不能用那个。有没有办法不使用overflow:hidden;,就完成我想做的事情

注意:在页面呈现之前,我不知道边栏或任何左div的大小,并且我不能以任何方式、形状或形式使用Javascript,因为这是为禁用JS的用户工作的。我能在所有这些中设置的唯一尺寸是侧边栏的宽度;div必须是流动的,我不能随意选择一些div来只延伸一部分


另请注意:我看到了以下内容:。这正是我想做的,但唯一真正的解决办法是溢出:隐藏;属性,我不能使用它。

除非我错过了什么,否则我认为不可能实现你的要求

溢出的原因:隐藏;更改显示的行为:块;元素被称为块格式上下文,您可以在这里阅读

http://www.communitymx.com/content/article.cfm?cid=6BC9D

从技术上讲,您可以保持元素显示:block;让他们尊重浮动侧边栏,同时浮动你的左div,但这不太可能达到你想要的效果


但是,左div中的任何内联内容都将尊重浮动边栏,因此,我认为没有必要让div表现得像您所描述的那样,或者详细说明背后的原因,以获得更具建设性的反馈。

您能否提供更多关于左侧div中绝对定位的项目超出div大小的详细信息?理想情况下,可以举一个例子:检查jsfiddle并添加overflow:hidden;左边的CSS。结果的效果正是我想要的,除了我还需要不隐藏溢出的内容。。。所以我不能真正使用溢出:隐藏;这有什么问题吗?不幸的是,我需要附加一个a:hover ul选择器,它将位于div的内容中;div,这不会是一个问题,但它需要是样式div中另一个元素的子元素。不过,这是一个创造性的解决方案,我将在将来记住它。左侧浮动div具有我不想在侧边栏下扩展的样式。我希望左侧的float div保持自己的风格,并将侧边栏保留为自己的风格;边界和背景之类的东西需要保持在分配的水平空间内。我知道为什么溢出:隐藏;工作,但我希望有另一种选择。