2017-11-13 2 views
0

Was wäre der beste Weg, um ein Design zu implementieren, die Div-Container mit einem Rahmen, wenn der Inhalt des div verursacht vertikale scroll des div?Bieten Grenze, wenn div überläuft Text

CSS

div { 
    max-height: 100px; 
    overflow-y: auto; 
    // if content exceeds 100 px show border 
    border: solid 1px; 
} 

HTML

<div> 
    // Text .. 
</div> 
+0

Sind Sie einige JS in Ordnung mit CSS, um zu helfen? – 82Tuskers

+0

Ich würde JS vorschlagen, wie 82Tuskers Sie gefragt hat. –

Antwort

2

Set Grenze, wenn Überlauf wollte.

var div = document.querySelector('div'); 
 
if (div.scrollHeight > div.clientHeight) { 
 
    div.style.border = '1px solid'; 
 
}
div { 
 
    max-height: 100px; 
 
    overflow-y: auto; 
 
}
<div> 
 
    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor 
 
    in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit, 
 
    sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore 
 
    eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 
 
</div>

0

Ich gehe davon aus irgendeine Art von Ereignis gibt, die den Inhalt dieses div ändert oder bestimmt. Meiner bescheidenen Meinung nach kann man das nicht mit html/css allein erreichen. Sie müssten JavaScript verwenden. https://jsfiddle.net/4u2Lurt3/

Hier ist ein einfaches Beispiel, wie man das macht. Sie müssen möglicherweise zu "re-wire" ein bisschen anders das genaue Verhalten erhalten Sie

<div id="myDiv"> 
    Hello 
</div> 

<button onclick="addText()"> 
Click to change div 
</button> 

Und

function checkWidth() { 
    var div = document.getElementById('myDiv'); 
      if(div.offsetWidth > 100) { 
      div.style.border = "1px solid black" 
      } 
     } 

function addText() { 
    var div = document.getElementById('myDiv'); 
    div.style.width="250px"; 
    div.innerText = "AAAAAAAAAAAAA VVVVVVEERRRRY LOOOONNNNGGG TEEEEEXXXXXTT"; 
    checkWidth(); 
} 
Verwandte Themen