我有一个overflow: auto
内的绝对定位的div,如下:如何解决溢出中溢出内容的自动切割:auto?
有5行与相对位置的div,我有一个.grayBlock
行2格内。
正如您所见,由于overflow: auto
,灰色块被切断。
我想让它逃离容器。我能做什么?
我有一个overflow: auto
内的绝对定位的div,如下:如何解决溢出中溢出内容的自动切割:auto?
有5行与相对位置的div,我有一个.grayBlock
行2格内。
正如您所见,由于overflow: auto
,灰色块被切断。
我想让它逃离容器。我能做什么?
您可以在当前环境中构建额外的canvasInfo__block
。它应该比内部块更宽一些(在我的例子中为canvasInfo__block2
)。
的overflow: auto
肯定会削减,你不能对它做任何事,但它不会很糟糕,因为它是足够宽,以包含内部canvasInfo__block2
,也是灰色块从中溢出。
canvasInfo__block2
需要一个overflow: visible
,而外部的canvasInfo__block
可以得到它的overflow: auto
。
结果:
HTML:
.canvasInfo
.canvasInfo__title
h3 Title
.hr
.canvasInfo__block
.canvasInfo__block2
.canvasInfo__slider sliderBar
.canvasInfo__activity Motion activity
.row
.circle
span line1
.row
.circle
span line2
.grayBlock hi2
.row
.circle
span line3
.row
.circle
span line4
.row
.circle
span line5
CSS:
.canvasInfo {
margin: 0 auto;
width: 500px;
}
.hr {
margin: 10px 0;
border-bottom: 1px solid red;
}
.canvasInfo__block {
position: relative;
overflow: auto;
width: 400px;
height: 120px;
border: 2px solid red;
}
.canvasInfo__block2 {
position: relative;
overflow: visible;
height: 300px;
width: 300px;
margin-left: auto;
margin-right: auto;
border: 2px solid blue;
}
.grayBlock {
width: 50px;
height: 50px;
background-color: gray;
position: absolute;
top: 0px;
left: -20px;
z-index: -1;
}
.row {
border: 1px solid gray;
position: relative;
}
.circle
{
position: relative;
width: 10px;
height: 10px;
display: inline-block;
border-radius: 60px;
box-shadow: 0px 0px 2px #000;
span {
margin-left: 20px;
}
}
'.canvasInfo__block2'中似乎不需要'overflow:visible;'。我从CSS中删除它,并得到了与您的结果相同的结果。唯一的解决办法是把更广泛的div围绕它吗? –
@ Wei-ChengChen'overflow:visible'没有必要,因为它是默认设置。我只是为了更好的可读性而把它放在了上面。 |如果您给外部div设定负边距或边框,则可能会“吃”左侧的空白区域而不切割任何东西(注意,边距仅在相对/静态位置有意义)。 – peterh
明白了,再次感谢:) –
Codepen是在这里:https://codepen.io/owlran/pen/jwozwX –
通过从'.canvasInfo__block'中删除位置可能? – Berkay
寻求代码帮助的问题必须包括在问题本身**中重现它所需的最短代码**最好在[** Stack Snippet **](https://blog.stackoverflow.com/2014/09/introducing-可运行的JavaScript-CSS-和HTML的代码段/)。请参阅[**如何创建最小,完整和可验证的示例**](http://stackoverflow.com/help/mcve) –