2016-04-14 14 views
2

divコンテナをドロップ可能な要素として使用していますので、このdivコンテナにボタン要素を動的に追加しています。このサイズを超えてボタンを追加するとDivのサイズがリサイズされますdivコンテナのサイズ変更を防ぐ方法

注:この問題は、Firefoxでのみ発生

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> 

//スクリプト

$(function() { 

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

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

コードの多くの部分、理想的には問題を示すjsFiddleデモを提供してください。 – Aziz

+0

可能な複製http://stackoverflow.com/questions/14526071/how-to-make-a-div-have-a-fixed-size – nisar

+0

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

答えて

0

はこれを試してみてください。..

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

あなたの答えを始めるには、 "わからない"方法があります。外出して幅広い質問に答える心がある場合は、複数のソリューションを含めるようにしてください。少なくともそのうちの1つがOPに役立ちます。ちょっとしたアドバイス! –

0

あなたがテーブルを使用しているので、テーブルの要素が異なるブラウザで%値でよく行くしない、彼らは内容に応じてそれらの幅/高さを調整します。クロスブラウザはあなたの設計 - のための任意の混乱を作成しないように、だから、その、より良いあなたは、(つまり、ピクセル単位でもあります)max-widthmin-width値と行く

CSSコードの下に試してみてください。

#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; 
} 

がフィドルを更新しましたリンク https://jsfiddle.net/cpqz01ct/3/

+0

"min-height"を使用せずにこの問題を回避する方法はありますか? – Pranath

+1

はい、 'table'を使う代わりに、' div: '要素に' display:table; 'と' display:table-cell'というCSSプロパティを使い、 'postion:absolute'を使って' '%'は 'table'のように自動的にサイズを変更しません。 –

+0

あなたのレイアウトを少し試してみると、 https://css-tricks.com/centering-in-the-unknown/ –

関連する問題