2016-11-24 2 views
0

У меня есть три div-слоя. Первый слой - это фон с заданной высотой. второй слой является прозрачным div для content -class. В третьем слое находится контент. Я хочу удалить прокрутку класса .content, и я хочу прокрутить текст с помощью прокрутки браузера. Как мне это сделать?как прокрутить позицию: абсолютная с прокруткой баузера?

.container{ 
 
    background-color:black; 
 
    height:400px; 
 
    wdith:100%; 
 
} 
 
.backtransparent{ 
 
    background-color: gray; 
 
    width:250px; 
 
    height:100%; 
 
    margin: 0 auto; 
 
} 
 
.content{ 
 
    width:200px; 
 
    margin: 0 auto; 
 
    background-color:white; 
 
    position:absolute; 
 
    overflow:auto; 
 
    height:400px; 
 
    left: 0; 
 
    right:0; 
 
}
<div class="container"> 
 
    <div class="backtransparent"> 
 
    <div class="content"> 
 
     Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aspernatur mollitia maxime facere quae cumque perferendis cum atque quia repellendus rerum eaque quod quibusdam incidunt blanditiis possimus temporibus reiciendis deserunt sequi eveniet necessitatibus maiores quas assumenda voluptate qui odio laboriosam totam repudiandae? Doloremque dignissimos voluptatibus eveniet rem quasi minus ex cumque esse culpa cupiditate cum architecto! Facilis deleniti unde suscipit minima obcaecati vero ea soluta odddio cupiditate placeat vitae nesciunt quis alias dolorum nemo sint facere. Deleniti itaque incidunt eligendi qui nemo corporis ducimus beatae consequatur... 
 
    </div> 
 
    </div> 
 
</div>

Вот полный пример: https://jsfiddle.net/yrp4pmmc/2/

+1

Если я правильно, вы не можете, если окно браузера не имеет высоту меньше, чем '400px' он не будет показывать полосы прокрутки. –

+0

@JordiNebot Высота предопределена. Я хочу прокручивать только текст с помощью прокрутки браузера (не с помощью отдельного прокрутки, как этот путь). – test123456

+1

Вы не можете получить его с помощью прокрутки браузера, если высота вашего контейнера должна быть зафиксирована на 400 пикселей, а ваше окно выше, но ответ @ sTx кажется довольно хорошим aprox ... –

ответ

3

Вы имеете в виду что-то like this?

.container{ 
background-color: black; 
height: 400px; 
width: 100%; 
overflow: auto; 
} 
.content{ 
width: 240px; 
margin: 0 auto; 
background-color: white; 
left: 0; 
right: 0; 
border-left: 20px solid grey; 
border-right: 20px solid grey; 
} 
+1

Хорошо удалить ненужный элемент, а также вам не нужен левый и правый CSS: https://jsfiddle.net/Kyle_/yrp4pmmc/6/ – Kyle

+0

Да именно это. thx :) – test123456

+0

да, я забыл их там, не нужно ни левого, ни правого, потому что я удалил абсолютное позиционирование – sTx

2

если я не понял ваш вопрос, все, что вам нужно сделать, это удалить абсолютное позиционирование и сделать родительскую div 100% высоты ,

Удаление указанной высоты в divs гарантирует, что они занимают размер содержимого, поскольку по умолчанию деблокируют. Затем, когда вы ограничиваете ширину элемента .content и удаляете его возможность прокрутки, контейнер должен принимать всю высоту своих дочерних элементов.

.container{ 
    background-color:black; 
    height: 100%; 
    width:100%; 
} 

.backtransparent{ 
    background-color: gray; 
    width:250px; 
    height:100%; 
    margin: 0 auto; 
} 

.content{ 
    width:200px; 
    margin: 0 auto; 
    background-color:white; 
    overflow:auto; 
    height: auto; 
} 

https://jsfiddle.net/Kyle_/yrp4pmmc/3/

+0

Так что 'height: 400px''. контейнер был абсолютно произвольным? –

+1

Кажется, что. Возможно, я неправильно понял, но чтобы вернуть «прокрутку браузера», элементы должны обернуть их детей и не использовать определенную высоту. – Kyle

Смежные вопросы