Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

التوسيط المثالي

جزء من قسم Styling with CSS في رحلة HTML على Coddy. الدرس 48 من 76.

في CSS، يُعد تحقيق "Perfect center"، أي centering عنصر أفقيًا وvertically داخل parent الخاص به، تحديًا شائعًا في التخطيط. يوفر Flexbox حلًا أنيقًا ومباشرًا لهذه المشكلة. من خلال الجمع بين الخاصيتين justify-content وalign-items، يمكنك بسهولة centering عنصر child داخل flex container الخاص به، بغض النظر عن حجم child أو parent. 

إليك كيفية تحقيق المحاذاة المركزية المثالية باستخدام Flexbox:

.container {
    display: flex; /* Turn the parent into a flex container */
    justify-content: center; /* Center the child horizontally along the main axis */
    align-items: center; /* Center the child vertically along the cross axis */
}

لجعل هذه التقنية تعمل بفعالية، تأكد من أن flex container له height محدد. إذا لم يتم تعيين height الخاص بـ container بشكل صريح، فسيكون ارتفاعه بقدر محتواه فقط، وقد لا يكون vertical centering واضحًا.

إليك مثالًا على كيفية استخدام هذه التقنية في HTML:

<div class="container">
    <div class="child">This is centered</div>
</div>
.container {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 300px; /* Set a specific height for the container */
    border: 1px solid black; /* Optional: Add a border for visualization */
}

.child {
    padding: 20px;
    border: 1px solid red;
}

في هذا المثال، يمتلك العنصر .container ارتفاعًا قدره 300px، وسيكون العنصر .child في Center بشكل مثالي horizontally وvertically داخله.

challenge icon

التحدي

سهل

لديك مستند HTML يحتوي على قسم parent (<div>) يتضمن قسم child (<div>). مهمتك هي استخدام Flexbox لتوسيط قسم child بشكل مثالي داخل قسم parent. اتبع الخطوات التالية:

  1. Write قاعدة CSS تستهدف عنصر <div> ذي الفئة parent.
  2. اضبط الخاصية display للعنصر .parent على flex لتحويله إلى حاوية flex.
  3. اضبط الخاصية justify-content للعنصر .parent على center لتوسيط child أفقيًا.
  4. اضبط الخاصية align-items للعنصر .parent على center لتوسيط child عموديًا.
  5. امنح العنصر .parent قيمة height مقدارها 200px لضمان أن التوسيط العمودي visible.

جرّب بنفسك

<html>
<head>
    <title>The Perfect Center</title>
    <style>
        /* Write CSS rules here */
    </style>
</head>
<body>
    <div class="parent">
        <div class="child">Center Me</div>
    </div>
</body>
</html>
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Styling with CSS

تدرّب بنفسك: Playground لـ Web