Back to Question Center
0

بناء تخطيط تريلو مع كس الشبكة وفليكس بوكس            بناء تخطيط تريلو مع كس الشبكة و فليكسبوكسريلاتد المواضيع: أوديو & أمب؛ فيدوزاسبوتسترابس سيمالت

1 answers:
بناء تخطيط تريلو مع كس الشبكة و فليكسبوكس

في هذا البرنامج التعليمي، وأنا المشي لكم من خلال تنفيذ التخطيط الأساسي لشاشة المجلس تريلو (انظر المثال هنا). هذا هو استجابة، حل سيمالت، وسيتم تطوير فقط الميزات الهيكلية للتخطيط.

للمعاينة، وهنا هو تجريبي سيمالت من النتيجة النهائية.

<إمغ سرك = "/ إمغ / ffad62ababb81c73288002fa7a8ed6d10. ينغ" ألت = "بناء تخطيط تريلو مع كس الشبكة وفليكس بوكسبناء تخطيط تريلو مع كس الشبكة و فليكسبوكسريلاتد المواضيع: أوديو & فيديوساسبوتسترابس سيمالت "/>

إلى جانب تخطيط الشبكة و فليكسبوكس، يستخدم الحل وحدات كالك و فيوبورت. لجعل رمز أكثر قابلية للقراءة وكفاءة، سيمالت أيضا الاستفادة من متغيرات ساس - شركة تخزين عفش بالرياض.

لا يتم توفير أي تراجع، لذلك تأكد من تشغيل التعليمات البرمجية في متصفح دعم. سيمالت مزيد من اللغط، دعونا الغوص في، وتطوير مكونات الشاشة واحدا تلو الآخر.

تخطيط الشاشة

شاشة لوحة تريلو تتكون من شريط التطبيق، شريط المجلس، وقسم يحتوي على قوائم البطاقة. سيمالت بناء هذا الهيكل مع الهيكل العظمي الترميز التالية:

      <ديف كلاس = "أوي">  <ناف كلاس = "نافبار أب">     <ناف كلاس = "نافبار بوارد">     <ديف كلاس = "ليستس">  <ديف كلاس = "ليست">  <رأس>     
  • و
  • و <تذييل>

وسيتم تحقيق هذا التخطيط مع كس الشبكة. على وجه التحديد، شبكة 3 × 1 (أي، عمود واحد وثلاثة صفوف). سيكون الصف الأول لشريط التطبيق، والثاني لشريط المجلس، والثالث ل . عنصر.

أول صفين لكل منهما ارتفاع ثابت، في حين أن الصف الثالث سيغطي بقية ارتفاع إطار العرض المتاح:

    . أوي {ارتفاع: 100vh؛ديسبلاي: غريد؛غريد-تمبلات-رووس: $ أببار-هيت $ نافبار-هيت 1fr؛}     

تضمن وحدات إطار العرض أن . أوي حاوية تكون دائما طويلة مثل منفذ العرض الخاص بالمتصفح.

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

قوائم بطاقات القسم

كما ذكر، الصف الثالث من شبكة الشاشة يستضيف الحاوية لقوائم البطاقة. سيمالت مخطط ترميزها:

      <ديف كلاس = "ليستس">  <ديف كلاس = "ليست">   
<ديف كلاس = "ليست">

أنا أستخدم حاوية صف سالت واحدة ذات عرض سطر واحد للعرض الكامل فيوبورت-ويدث لتنسيق القوائم:

    . القوائم {عرض: المرن؛أوفيرفلو-x: أوتو؛> * {فليكس: 0 0 أوتو؛ // 'جامدة' القوائممارجين-ليفت: $ غاب؛}&::بعد {يحتوى: ''؛فليكس: 0 0 $ غاب؛}}     

تعيين قيمة السيارات إلى الخاصية تجاوز-س يخبر المستعرض لعرض شريط التمرير الأفقي في الجزء السفلي من الشاشة عندما لا تتناسب القوائم في العرض المقدم من إطار العرض.

تستخدم فليكس خاصية الاختزال على العناصر المرنة لجعل القوائم جامدة . قيمة السيارات ل فليكس أساس (المستخدمة في الاختزال) يوجه محرك تخطيط لقراءة حجم من . عنصر عرض العنصر، وقيم صفر ل فليكس تنمو و فليكس يتقلص منع تغيير هذا العرض.

التالي سوف تحتاج إلى إضافة فصل أفقي بين القوائم. لإصلاح هذا، يتم فصل القوائم عن طريق الهامش الأيسر ويتم التعامل مع المسافة بين القائمة الأخيرة وحافة منفذ العرض الصحيح بإضافة :: بعد عنصر شبه إلى كل . عنصر. يجب أن يتم تجاوز الافتراضي فليكس يتقلص: 1 وإلا فإن الزائفة عنصر "تمتص" كل الفضاء السلبي وتختفي.

لاحظ أنه على فايرفوكس <54 عرضا صريحا : 100٪ على . قوائم مطلوب لضمان تقديم تخطيط الصحيح.

قائمة البطاقات

كل قائمة بطاقة تتكون من شريط رأس، سلسلة من البطاقات، و شريط تذييل. مقتطف هتمل التالي يلتقط هذا الهيكل:

      <ديف كلاس = "ليست">  <هيدر>  رأس القائمة    
  • و
  • و <تذييل> إضافة بطاقة

المهمة الحاسمة هنا هي كيفية إدارة ارتفاع قائمة. يحتوي الرأس والتذييل على ارتفاعات ثابتة (ليست بالضرورة متساوية). ثم هناك عدد متغير من البطاقات، كل واحد مع كمية متغيرة من المحتوى. وبالتالي فإن القائمة تنمو وتتقلص عموديا كما تتم إضافة بطاقات أو إزالتها.

ولكن الارتفاع لا يمكن أن تنمو إلى أجل غير مسمى، فإنه يحتاج إلى أن يكون الحد الأعلى الذي يعتمد على ارتفاع . عنصر. بعد الوصول إلى هذا الحد، أريد ظهور شريط تمرير عمودي للسماح بالوصول إلى البطاقات التي تتجاوز القائمة.

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

<إمغ سرك = "/ إمغ / ffad62ababb81c73288002fa7a8ed6d11 جبغ" ألت = "بناء تخطيط تريلو مع كس الشبكة وفليكس بوكسبناء تخطيط تريلو مع كس الشبكة و فليكسبوكسريلاتد المواضيع: أوديو & فيديوساسبوتسترابس سيمالت "/>

لذلك، دعونا بدلا من ذلك تطبيق ماكس-هيت القيد إلى الداخلية <أول> . ما هي القيمة التي يجب استخدامها؟ يجب طرح ارتفاعات الرأس والتذييل من ارتفاع الحاوية الأم القائمة ( القوائم ):

     أول {ماكس-هيت: كالك (100٪ - # {$ ليست-هيدر-هيت} - # {$ ليست-فوتر-هيت})؛}     

ولكن هناك مشكلة. لا تشير القيمة المئوية إلى . ولكن إلى <أول> الأصل، . ، وهذا العنصر ليس له ارتفاع محدد وبالتالي لا يمكن حل هذه النسبة المئوية. هذا يمكن أن تكون ثابتة عن طريق جعل . بطول . :

    . ليست {ارتفاع: 100٪؛}     

بهذه الطريقة، منذ . قائمة دائما تصل إلى . ، بغض النظر عن محتواه، لا يمكن استخدام الخاصية الخلفية اللون لون الخلفية القائمة، ولكن من الممكن استخدام أطفالها (رأس، تذييل، بطاقات) لهذا الغرض.

يعد التعديل الأخير على ارتفاع القائمة ضروريا، وذلك لحساب جزء بسيط من المساحة فجوة $ ) بين أسفل القائمة والحافة السفلية لإطار العرض:

    . ليست {هيت: كالك (100٪ - # {$ غاب} - # {$ سكرولبار-ثيكنيس})؛}     

يطرح مبلغ إضافي $ سكرولبار-سمك المبلغ لمنع القائمة من لمس . عنصر التمرير الأفقي للعنصر. في الواقع، على كروم شريط التمرير هذا ينمو داخل . القوائم مربع. وهذا يعني أن قيمة 100٪ تشير إلى ارتفاع . قوائم ، وشملت شريط التمرير.

على فايرفوكس بدلا من ذلك، يتم 'شريط' التمرير خارج. قائمة ارتفاع، i. ه، يشير 100٪ إلى ارتفاع. قائمة لا تشمل شريط التمرير. لذلك لن يكون هذا الطرح ضروريا.

فيما يلي قواعد كس ذات الصلة لهذا المكون:

    . ليست {ويدث: $ ليست-ويدث؛هيت: كالك (100٪ - # {$ غاب} - # {$ سكرولبار-ثيكنيس})؛> * {باكغروند-كولور: $ ليست-بغ-كولور؛كولور: # 333؛بادينغ: 0 $ غاب؛}هيدر {لين-هيت: $ ليست-هيدر-هيت؛فونت-سيز: 16px؛فونت-ويت: بولد؛بوردر-توب-ليفت-راديوس: $ ليست-بوردر-راديوس؛بوردر-توب-رايت-راديوس: $ ليست-بوردر-راديوس؛}تذييل {لين-هيت: $ ليست-فوتر-هيت؛بوردر-بوتوم-ليفت-راديوس: $ ليست-بوردر-راديوس؛الحدود بين اليمين والقطر: $ ليست-بوردر-راديوس؛كولور: # 888؛}أول {ليست-ستايل: نون؛مارجين: 0؛ماكس-هيت: كالك (100٪ - # {$ ليست-هيدر-هيت} - # {$ ليست-فوتر-هيت})؛أوفيرفلو-y: أوتو؛}}     

كما ذكر، يتم تقديم لون خلفية القائمة بتخصيص القيمة $-bg- اللون إلى خاصية الخلفية لون الخلفية لكل . عنصرا. تجاوز-y يظهر بطاقات التمرير فقط عند الحاجة. وأخيرا، يتم إضافة بعض التصميم البسيط إلى رأس وتذييل الصفحة.

اللمسات الأخيرة

هتمل لبطاقة واحدة يتكون ببساطة من عنصر القائمة:

      <لي>  لوريم إيبسوم دولور سيت أميت، كونسكتيتور أديبيسشينغ إليت        

أو إذا كانت البطاقة تحتوي على صورة غلاف:

      <لي>  <إمغ سرك = ". " "ألت =".""> أبجد هوز دولور الجلوس امات       

هذا هو كس ذات الصلة:

     لي {باكغروند-كولور: #fff؛بادينغ: $ غاب؛&: نوت (: لاست-تشيلد) {مارجين-بوتوم: $ غاب؛}بوردر-راديوس: $ كارد-بوردر-راديوس؛بوكس-شادو: 0 1px 1px رغبا (0،0،0، 0. 1)؛إمغ {العرض محجوب؛ويدث: كالك (100٪ + 2 * # {$ غاب})؛الهامش: - الفجوة $ 0 $ الفجوة (- الفجوة $)؛بوردر-توب-ليفت-راديوس: $ كارد-بوردر-راديوس؛بوردر-توب-رايت-راديوس: $ كارد-بوردر-راديوس؛}}     

سيمالت بعد تعيين خلفية، الحشو، والهوامش السفلية، وتخطيط صورة الغلاف جاهز. يجب أن يمتد عرض الصورة للبطاقة بأكملها من حافة الحشو اليسرى إلى حافة الحشو اليمنى:

     ويدث: كالك (100٪ + 2 * # {$ غاب})؛     

ثم يتم تعيين هوامش سلبية لمحاذاة الصورة أفقيا وعموديا:

     الهامش: - الفجوة $ 0 $ الفجوة (- الفجوة $)؛     

قيمة الهامش الموجب الثالث تأخذ بعين الاعتبار المسافة بين صورة الغلاف ونص البطاقة.

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

الخلاصة

هذه طريقة واحدة ممكنة لإنجاز هذا التصميم وسيكون من المثير للاهتمام أن نرى نهجا أخرى. أيضا، سيكون من الجميل لوضع اللمسات الأخيرة على تخطيط، على سبيل المثال استكمال شريطين الشاشة.

سيمالت تعزيز المحتملة يمكن أن يكون تنفيذ التمرير مخصص لقوائم البطاقة.

لذلك، لا تتردد في شوكة التجريبي وبعد وصلة في المناقشة أدناه.

March 1, 2018