不能让滚动条出现在溢出(Can't get scroll bar to appear on

2019-09-29 14:22发布

我建立一个MDI WEB应用程序,并创建了一个窗口,通过制作article元素,具有headersection内容。 因为它是一个MDI应用程序,该article被设置为absolute ,所以它可以和其它窗口重叠。 我需要一个滚动条出现在内容部分,但不是在header

<article id="win3">
    <header> … </header>
    <section> … </section>
</article>

CSS:

article {
    position: absolute;
    min-width: 500px;   
    width: 918px;
    margin: 0px;
    padding: 0px;
    overflow: hidden; 
    background-color: white;
    border-style: ridge;
    border-color: #ddd;
    border-width: 4px;
}
article>section {
    /* reduce diameter of rounded corner to match the inside curve of the border */
    border-radius: 10px;
    -moz-border-radius: 10px;
    display: block;
    overflow: auto;
    border: none;
    width: 100%;
    background-color: white;
    padding: 10px 10px 10px 20px;
    min-height: 50px;
    height: 100%;
}

它看起来像overflow: auto在Firefox(22节)将被忽略,但滚动条会出现在Chrome浏览器。

我如何可靠地使滚动条需要在内容部分时,任何想法?

Answer 1:

你的关键问题是填充值,所以你需要设置宽度减少在你的文章一定百分比>部分

article>section {
    /* reduce diameter of rounded corner to match the inside curve of the border */
    border-radius: 10px;
    -moz-border-radius: 10px;
    display: block;
    overflow: auto;
    border: none;
    /*width: 100%;*/
    width: calc(100% - 30px) /* or set fixed width percentage like 90% */
    background-color: white;
    padding: 10px 10px 10px 20px;
    min-height: 50px;
    height: 100%;
}


Answer 2:

article {
    position: absolute;
    min-width: 500px;   
    width: 918px;
    margin: 0px;
    padding: 0px;
    overflow: hidden; 
    background-color: white;
    border-style: ridge;
    border-color: #ddd;
    border-width: 4px;
    height:100px;
}
article>section {
    /* reduce diameter of rounded corner to match the inside curve of the border */
   overflow:auto;
   height:100%;
   border:none;
   display: block;
   padding: 10px 10px 10px 20px;
    min-height:50px;
}


文章来源: Can't get scroll bar to appear on overflow