2016-04-14 11 views
2

Ich benutze div container als Drop-fähige Element, so dass ich Schaltflächen Elemente dynamisch in diesem div Container hinzufügen. Größe wird geändert, wenn ich Schaltflächen über die Größe hinaus hinzufüge, wie das zu vermeiden?Wie zu verhindern, dass div container resizing

Hinweis: Dieses Problem tritt in Firefox nur

sample:fiddle

#divContainer{ 
    width:100%; 
    height:40%; 
    overflow:auto; 
    border:1px solid; 
    display:inline-block; 
} 
#click{ 
    width:100px; 
    height:30px; 
} 
table{ 
    border:1px solid; 
} 
body{ 
    height:1000px; 
} 

// html

<button id="click">ClickME</button> 
<table style="width:20%; height:30%"> 
    <tr> 
     <td> 
      <div id="divContainer"> 
      </div> 
     </td> 
    </tr> 
</table> 

// Skript

$(function() { 

     $("#click").on("click", function() { 

      $("#divContainer").append($("#click").clone()); 
     }); 
    }); 
+2

Bitte geben Sie weitere Teile Ihres Codes, idealerweise eine jsFiddle-Demo, die Ihr Problem zeigt. – Aziz

+0

möglich Duplikat von http://StackOverflow.com/Questions/14526071/How-To-Make-A-Div-Have-Afixed-Size – nisar

+0

@Aziz: https://jsfiddle.net/cpqz01ct/1/ – Pranath

Antwort

0

Try this ..

#divcontainer 
{ 
max-width: 40%; 
max-height: 30%; 
overflow:auto; 
display:inline-block; 
} 
+2

"Nicht sicher" ist ein schrecklicher Weg, um Ihre Antwort zu beginnen. Wenn Sie das Herz haben, zu gehen und allgemeine Fragen zu beantworten, schließen Sie mehrere Lösungen ein, damit mindestens eine von ihnen dem OP hilft. Nur ein Rat! –

0

Da Sie Tabelle verwenden, Tabellenelemente nicht gut in verschiedenen Browsern in % Wert nicht geht, passen sie ihre Breite/Höhe entsprechend dem Inhalt. So ist es besser, Sie gehen mit max-width und min-width Wert (das ist auch in Pixel), so dass Cross-Browser erstellen kein Chaos für Ihre design-

Versuchen unter CSS-Code:

#divContainer{ 
    width:100%; 
    min-height:100px; 
    height:40%; 
    max-height:100px; 
    overflow:auto; 
    border:1px solid; 
    display:inline-block; 
} 
#click{ 
    width:100px; 
    height:30px; 
} 
table{ 
    border:1px solid; 
} 
body{ 
    height:1000px; 
} 

Aktualisiert Geige link- https://jsfiddle.net/cpqz01ct/3/

+0

Gibt es eine andere Möglichkeit, dieses Problem zu vermeiden, ohne "Mindesthöhe" zu verwenden? – Pranath

+1

Ja, Sie können anstelle von 'table' die CSS-Eigenschaft' display: table; 'und' display: table-cell' auf 'div' verwenden und dann' postion: absolute' verwenden, um die Höhe in '' zu bringen % 'seit' div' Elemente passt sich nicht automatisch an die Größe von 'table' an. –

+0

Für kleines Experiment mit Ihrem Layout, können Sie auch diesen Link- https://css-tricks.com/centering-in-the-unknown/ –

Verwandte Themen