0

我有一个内容区域,其行为方式如下:

  • 如果没有垂直溢出,则内容垂直居中(目前通过 实现display:table/-cell
  • 除非有垂直溢出,否则不显示滚动条
  • 包含 div 的高度永远不会改变

我只能满足第一点 -小提琴:

http://jsfiddle.net/PTSkR/125/

这是我的html:

<div class="row-fluid card-box">

    <div class="span4 side-study-box">
        <div class="side-box-content">
            <pre class="text-content-saved">TEST 
           TEST</pre>
            </div>
        </div>
</div>

CSS:

.side-study-box {
    background-color: white;
    color: black;
    border: 1px solid #3D6AA2;
    text-align: center;
    height: 160px;
    max-height: 160px;
    display: table ;
    margin: 0px ;
    margin-left: -1px;
    position: relative;
    overflow-y: scroll ;
}

    .side-study-box .side-box-content {
        width: calc(100%);
        height: 160px;
        float: right;
        display: table;
        overflow-y: scroll ;
        background-color: white;
    }

    /*#region CONTENT AREAS */

    /*#region TEXT CONTENT */
    .side-study-box .text-content-saved {
        width: calc(100%+29px);
        font-size: 24px;
        display: table-cell;
        vertical-align: middle;
        text-align: center;
        height: 160px !important;
        max-height: 160px ;
        background-color: white;
        padding: 0px ;
        margin: 0px ;
        border: 0px ;
        overflow-y: scroll;
    }

不幸的是,我不能使用 js 作为解决方案的一部分……这可能只用 css 吗?

4

1 回答 1

0

您可以使用 overflow:auto;实现第二点并设置以下内容:

断字:正常!重要;自动换行:正常!重要;空白:前!重要;

小提琴:http: //jsfiddle.net/PTSkR/134/

请记住,由于您使用的是pre标签,因此这意味着所有空格和换行符格式都会计算在内,因此任何空格或多余的行都可能导致溢出,您可能会错过。看这里

于 2013-06-07T02:37:16.757 回答