سؤال

لدي لوحة جالسة في DIV، وأريد استخدام تلك اللوحة كحاوية لإضافة المزيد من اللوحات! لماذا أريد إضافة لوحة إلى لوحة؟ نظرا لأن اللوحة التي أضيفها إلى اللوحة الحالية، أصبحت أيضا لاحتواء كائنات، ولكن فقط والصورة والتسمية.

يتم إنشاء لوحة الحاويات الرئيسية الحالية أثناء وقت التصميم، وتذهب إلى اسم جميل ل "ToolboxPanel". أثناء وقت التشغيل، لدي حلقة من أجل / NEXT تقوم بإنشاء صورة ديناميكيا، وتضيفها إلى لوحة، ثم يضيف ذلك اللوحة إلى ToolboxPanel، كما يمكن رؤيته هنا:

For i = 0 To imageholder.Count - 1 'create a control
        insertpanel = New Panel 'these object types have been DIM'd up above
        insertimage = New Image
        inserttext = New Label
        inserttext.ID = "text" + partnumberholder(i) + i.ToString 'the "holder" arrays hold the goodies from my db
        inserttext.Text = brandholder(i) + " " + partnumberholder(i)
        insertimage.ID = "image" + partnumberholder(i) + i.ToString
        insertimage.ImageUrl = ".\Images\Display\" + imageholder(i) + ".jpg"
        insertpanel.CssClass = "drag" 'this allows the panel to be dragged around using a JQuery script elsewhere
        'insertpanel.BackImageUrl = "~\Images\Display\" + imageholder(i) + ".jpg" 'commented out because this method looks awful
        insertpanel.ID = "panel" + partnumberholder(i) + i.ToString

        insertpanel.Controls.Add(insertimage)
        insertpanel.Controls.Add(inserttext)
        toolboxpanel.Controls.Add(insertpanel)
    Next

المشكلة هي أن كل لوحة تضيفها إلى لوحة يحصل محشوة في عمود واحد وينتهك تماما قواعد CSS في ToolboxPanel التي تقول إن ارتفاع الحد الأقصى هو 700 بكسل فقط. يبدو أن تمتد الفريق، والجلد له الجلوس، إلى أعلى من المفترض أن يكون!

أسئلتي الرئيسية هي:

1) كيف يمكنني الحصول عليه حتى أتمكن من إضافة كائنات لوحة (مع الشجاعة صورتي / التسمية الخاصة بي) إلى اللوحة الرئيسية بطريقة حيث سيعرض مع 3 أعمدة، ارتفاع قابلة للعرض الثابت، وشريط التمرير المرتب؟

2) هل هناك طريقة أفضل للقيام بذلك؟ يجب أن يكون :(

يمكنك رؤية الفوضى الحالية على الصفحة الرئيسية من: http://www.mobiuspc.com.

أنا أقدر أي مساعدة! مشروع قانون

هل كانت مفيدة؟

المحلول

تحتاج إلى شيئين:

  1. أ Clearfix Stylesheet.
  2. لتعويم الألواح الداخلية الخاصة بك

العائمة بسيطة ولكن يمكن أن تكون في بعض الأحيان شاقة بعض الشيء في البداية. اقرأ هذه البرامج التعليمية على العوام لتعلم كل شيء عنهم.

أساسا، كل ما عليك فعله هو إضافة النمط التالي إلى أنماط اللوحات الداخلية الخاصة بك:

float: left;

ستجعل العائمة تلقائيا DIV، وجميع محتوياته، ضيقة قدر الإمكان، لذا تأكد من تحديد عرض, ، كما لديك بالفعل.

بعد ذلك، ستحتاج إلى تطبيق نمط Clearfix لوحدك الخارجي بحيث لا تعاني جميع المحتويات العائمة داخلها من "تأثير الفلوتين". نظرا لأن الكتل العائمة لا تملك "تخطيط"، فهي ليست جزءا من تدفق المستندات العادي، وبالتالي، يتم تجاهلها من قبل حاويات الوالدين. يحل Clearfix هذا عن طريق إجبار الحاوية على التعرف على العوامات بمثابة تخطيط.

نصائح أخرى

يجب أن تكون الألواح عادة، ولكن ليس دائما، تجسد كعلامات DIV، تحصل المعرفات على Borked بواسطة حاوية التسمية، من الأسهل أيضا إضافة سمة CSSClass .. تعيين CSS وفقا لذلك.

إذا كنت ترغب في وضع مبالغ فيه للسماح بالتمرير، فستحتاج إلى تحديد موقعك ومجموعة الارتفاع للسماح بذلك.

.myContainter {
    position: relative; /* or absolute, or a float */
    height: 700px;
    overflow: auto;
}

يجب القيام به. :)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top