#jquery #css #overflow
#jquery #css #переполнение
Вопрос:
Я пытаюсь создать div, который представляет собой поле с прокруткой кода в нем. Я хочу, чтобы код прокручивался снизу и выходил из верхней части div (в частности, границы div), не будучи видимым на остальной части страницы. Я пытался использовать свойство переполнения CSS, но, похоже, у меня не совсем получается.
Вот мой текущий код. Если вы запустите его в JSFiddle или каком-либо другом тестере, текст продолжит проходить за границу div. Как мне заставить его скрываться, когда он покидает границу?
HTML:
<body>
<div id = "code_box">
<div id = "code_wrap">
<div class = "xml_text">
<code>XML text here will slowly scroll up at a fixed speed. Lines pushed out of the page will be removed.</code>
</div>
</div>
</div>
</body>
CSS:
html,body {
height:98%;
}
body {
background-color: lightblue;
}
#code_box {
margin: 10px;
padding-left: 5px;
width: 45%;
height: 100%;
background-color: black;
border-radius: 20px;
border-color: silver;
border-style: double;
}
#code_wrap{
height: 100%;
overflow: hidden;
}
.xml_text {
position:absolute;
overflow: hidden;
bottom: 0;
width: 43%;
color: white;
padding: 10px;
padding-bottom:20px;
}
Jquery:
$(document).ready(
function(){
alert("running");
$('#code_box').click(
function(){
$('.xml_text').animate({
height:' =1em'
});
$('#code_wrap').append("<div class = 'xml_text'><code>SomeExampleCode</code></div>");
});
});
Комментарии:
1. это
#code_wrap
не содержащий блок внутреннегоdiv
, потому что внутреннийdiv
имеетposition:absolute
, вы должны установитьposition:relative
(илиabsolute
) для#code_wrap
того, чтобы он стал содержащим блоком (контекстом) внутреннегоdiv
.2. Спасибо, это очень помогает!