في عالم تطوير الويب، يعتبر إنشاء صندوق div
يتغير حجمه بناءً على محتواه أمرًا هامًا للعديد من المطورين. يظهر في الشيفرة البرمجية المقدمة أدناه كيف يمكن إنشاء صندوق div
بعرض دينامي يستجيب لمحتواه:
htmlhtml>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Dynamic Width Divtitle>
<style>
.dynamic-div {
border: 1px solid red;
padding: 15px;
display: inline-block;
white-space: nowrap;
}
style>
head>
<body>
<div class="dynamic-div">
test text
div>
body>
html>
يستخدم الكود أسلوبًا بسيطًا لتحقيق ذلك. يتم تعيين display: inline-block;
للعنصر div
لجعله يتناسب مع حجم محتواه. تم تعيين white-space: nowrap;
لمنع النص من الانقسام عند الفاصلة البيضاء، مما يحد من التأثير الذي قد يكون للفواصل على عرض الصندوق.
أما بالنسبة للشيفرة المقدمة في jsfiddle، فإن الصندوق الأحمر يمتد ليأخذ عرض الصفحة بأكملها بسبب استخدام width: auto;
، الذي يعني أن العرض يتم تحديده بشكل تلقائي استنادًا إلى حجم المحتوى. يمكن تعديل الكود لتحقيق السلوك المطلوب بتحديد عرض ثابت أو استخدام الأنماط المذكورة أعلاه.
المزيد من المعلومات
في مجال تطوير الويب، إنشاء صندوق div
يتغير حجمه بناءً على محتواه يعتبر تحدّيًا شائعًا. لفهم السبب وراء توسيع الصندوق الأحمر في jsfiddle المقدم، يجب فهم بعض المفاهيم.
عندما يتم تعيين width: auto;
لعنصر div
، يتمكن العنصر من التمدد ليأخذ عرض العنصر الأم (في هذه الحالة، جسم الصفحة) بشكل كامل. ومع ذلك، يظهر أن النص “test text” يستمر في التمدد إلى اليمين، مما يؤدي إلى تمديد الصندوق الأحمر ليأخذ عرض الصفحة بأكملها.
لمنع هذا التمديد، يتم تعيين white-space: nowrap;
، مما يعني أن النص لا يمكن أن يكون في أكثر من سطر واحد، مما يمنع تأثيره على العرض.
التعديلات التي تم إجراؤها في الكود تضيف أيضًا display: inline-block;
، وهو مفيد لجعل العناصر تظهر في نفس السطر دون أخذ عرض كامل. يمكن أن يكون هذا مفيدًا عند تكامل العديد من العناصر في تصميم الصفحة.
بهذه الطريقة، يتم إنشاء صندوق div
ذو عرض دينامي يستجيب بشكل صحيح لمحتواه، مع منع التمديد الزائد بفضل استخدام الأنماط السابقة المذكورة.