الفرق بين المراجعتين لصفحة: «CSS/float»

من موسوعة حسوب
< CSS
لا ملخص تعديل
 
لا ملخص تعديل
 
(5 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE:الخاصية <code>float</code>}}</noinclude>
<noinclude>{{DISPLAYTITLE:الخاصية <code>float</code>}}</noinclude>
الخاصية <code>bottom</code> في CSS تُحدِّد أنَّ العنصر يجب أن يوضع على يسار أو يمين الحاوية التي ينتمي إليها، مما يسمح للنص والعناصر السطرية بالالتفاف حول العنصر، وسيُزال هذا العنصر من الهيكل التنظيمي (flow) العادي للصفحة، لكنه سوف يبقى جزءًا منه (على عكس العناصر ذات الموضع المطلق [absolute]).
الخاصية <code>float</code> في CSS تُحدِّد أنَّ العنصر يجب أن يوضع على يسار أو يمين الحاوية التي ينتمي إليها، مما يسمح للنص والعناصر السطرية بالالتفاف حول العنصر، وسيُزال هذا العنصر من الهيكل التنظيمي (flow) العادي للصفحة، لكنه سوف يبقى جزءًا منه (على عكس العناصر ذات الموضع المطلق [absolute]).


ويمكن تعريف العنصر العائم (floating element) على أنَّه العنصر الذي تكون قيمة الخاصية <code>float</code> لا تساوي <code>none</code>.<syntaxhighlight lang="css">
== بطاقة الخاصية ==
/* الكلمات المفتاحية */
float: left;
float: right;
float: none;
float: inline-start;
float: inline-end;
 
/* القيم العامة */
float: inherit;
float: initial;
float: unset;
</syntaxhighlight>
{| class="wikitable" style="width: 100%;"
{| class="wikitable" style="width: 100%;"
|-
|-
سطر 80: سطر 68:
|لا تغيير على القيمة المحسوبة.
|لا تغيير على القيمة المحسوبة.
|}
|}
ويمكن تعريف العنصر العائم (floating element) على أنَّه العنصر الذي تكون قيمة الخاصية <code>float</code> لا تساوي <code>none</code>.<syntaxhighlight lang="css">
/* الكلمات المفتاحية */
float: left;
float: right;
float: none;
float: inline-start;
float: inline-end;
/* القيم العامة */
float: inherit;
float: initial;
float: unset;
</syntaxhighlight>


== أمثلة ==
== أمثلة ==
سطر 91: سطر 93:
   <div class="left">2</div>
   <div class="left">2</div>
   <div class="right">3</div>
   <div class="right">3</div>
   <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
   <p>حسوب مجموعة من شركات الانترنت تخدم المستخدمين العرب حول العالم. تدير حسوب أكبر منصتي عمل حر عربية وأكبر شبكة إعلانية في منطقة الشرق الأوسط وشمال أفريقيا، بالإضافة لمنتجات وشركات أخرى. توفّر حسوب حلولاً ومنتجات تساعد الشباب العرب على العمل والتطوّر وتتألّف من فريق عمل شاب وشغوف من مختلف الدول العربية.
</p>
 
  </p>
</section>
</syntaxhighlight>شيفرة CSS:<syntaxhighlight lang="css">
</syntaxhighlight>شيفرة CSS:<syntaxhighlight lang="css">
section {
section {
سطر 138: سطر 142:
== البنية العامة ==
== البنية العامة ==
تقبل الخاصية <code>float</code> كلمةً محجوزةً وحيدةً من الكلمات المذكورة في هذا القسم.
تقبل الخاصية <code>float</code> كلمةً محجوزةً وحيدةً من الكلمات المذكورة في هذا القسم.
=== القيمة <code>left</code> ===
=== <code>left</code> ===
سيكون العنصر عائمًا على الجانب الأيسر من الصندوق الحاوي له.
سيكون العنصر عائمًا على الجانب الأيسر من الصندوق الحاوي له.
=== القيمة <code>right</code> ===
=== <code>right</code> ===
سيكون العنصر عائمًا على الجانب الأيمن من الصندوق الحاوي له.
سيكون العنصر عائمًا على الجانب الأيمن من الصندوق الحاوي له.
=== القيمة <code>none</code> ===
=== <code>none</code> ===
لا يجوز أن يكون العنصر عائمًا.
لا يجوز أن يكون العنصر عائمًا.
=== البنية الرسمية ===
=== البنية الرسمية ===
سطر 148: سطر 152:
float: none | left | right;
float: none | left | right;
</syntaxhighlight>
</syntaxhighlight>
== انظر أيضًا ==
* صفحة الخاصية <code>[[CSS/position|position]]</code> التي تصف كيفية تموضع العنصر في المستند.
* صفحة الخاصية <code>[[CSS/display|display]]</code>  التي تُحدِّد ما هو نوع صندوق العرض الذي سيستخدم مع العنصر.
== مصادر ومواصفات ==
== مصادر ومواصفات ==
* مسودة [https://drafts.csswg.org/css-logical-props/#float-clear CSS Logical Properties Level 1]. أضافت هذه المسودة القيم <code>inline-start</code> و <code>inline-end</code>، لكنها غير مدعومة إلا من قلّة قليلة من المتصفحات.
* مسودة [https://drafts.csswg.org/css-logical-props/#float-clear CSS Logical Properties Level 1]. أضافت هذه المسودة القيم <code>inline-start</code> و <code>inline-end</code>، لكنها غير مدعومة إلا من قلّة قليلة من المتصفحات.
سطر 153: سطر 162:
* مواصفة ‎[http://www.w3.org/TR/CSS2/visuren.html#float-position CSS Level 2 (Revision 1)‎].
* مواصفة ‎[http://www.w3.org/TR/CSS2/visuren.html#float-position CSS Level 2 (Revision 1)‎].
* مواصفة [http://www.w3.org/TR/CSS1/#float CSS Level 1].  
* مواصفة [http://www.w3.org/TR/CSS1/#float CSS Level 1].  
[[تصنيف:CSS]]
[[تصنيف:CSS|{{SUBPAGENAME}}]]
[[تصنيف:CSS Property]]
[[تصنيف:CSS Property|{{SUBPAGENAME}}]]
[[تصنيف:CSS Positioning]]
[[تصنيف:CSS Positioning|{{SUBPAGENAME}}]]

المراجعة الحالية بتاريخ 15:14، 5 يوليو 2018

الخاصية float في CSS تُحدِّد أنَّ العنصر يجب أن يوضع على يسار أو يمين الحاوية التي ينتمي إليها، مما يسمح للنص والعناصر السطرية بالالتفاف حول العنصر، وسيُزال هذا العنصر من الهيكل التنظيمي (flow) العادي للصفحة، لكنه سوف يبقى جزءًا منه (على عكس العناصر ذات الموضع المطلق [absolute]).

بطاقة الخاصية

القيمة الابتدائية none
تُطبَّق على جميع العناصر، لكن لن يكون لهذه الخاصية أثر إن كانت قيمة الخاصية display تساوي none.
قابلة للوراثة لا
قابلة للتحريك لا
القيمة المحسوبة كما حُدِّدَت.

ولمّا كانت الخاصية float تُشير إلى التخطيط الكتلي (block layout)، فستُغيّر القيمة المحسوبة للخاصية display في بعض الحالات:

القيمة المُحدَّدة القيمة المحسوبة
inline block
inline-block block
inline-table table
table-row block
table-row-group block
table-column block
table-column-group block
table-cell block
table-caption block
table-header-group block
table-footer-group block
flex flex، لكن لن يكون للخاصية float أثرٌ على تلك العناصر.
inline-flex inline-flex، لكن لن يكون للخاصية float أثرٌ على تلك العناصر.
غير ذلك لا تغيير على القيمة المحسوبة.

ويمكن تعريف العنصر العائم (floating element) على أنَّه العنصر الذي تكون قيمة الخاصية float لا تساوي none.

/* الكلمات المفتاحية */
float: left;
float: right;
float: none;
float: inline-start;
float: inline-end;

/* القيم العامة */
float: inherit;
float: initial;
float: unset;

أمثلة

وكما ذكرنا أعلاه، عندما يتم تعويم العنصر فسينزع من الهكيل التنظيمي العادي للمستند (لكنه يبقى جزءًا منه)، ويمكن نقله إلى اليسار أو اليمين حتى يلمس حافة الصندوق الحاوي عليه أو عنصر عائم آخر.

في المثال الآتي هنالك ثلاثة مربعات، اثنان منهما عائمان إلى اليسار، وواحدٌ إلى اليمين، لاحظ أنَّ المربع المعوّم إلى اليسار الثاني سيكون على يمين المربع الأول، لاحظ أنَّ المربعات الإضافية ستتكدس على اليمين حتى تملأ الصندوق الحاوي عليها وبعد ذلك ستلتف إلى السطر التالي.

شيفرة HTML:

<section>
  <div class="left">1</div>
  <div class="left">2</div>
  <div class="right">3</div>
  <p>حسوب مجموعة من شركات الانترنت تخدم المستخدمين العرب حول العالم. تدير حسوب أكبر منصتي عمل حر عربية وأكبر شبكة إعلانية في منطقة الشرق الأوسط وشمال أفريقيا، بالإضافة لمنتجات وشركات أخرى. توفّر حسوب حلولاً ومنتجات تساعد الشباب العرب على العمل والتطوّر وتتألّف من فريق عمل شاب وشغوف من مختلف الدول العربية.

  </p>
</section>

شيفرة CSS:

section {
  border: 1px solid blue;
}

div {
  margin: 5px;
  width: 50px;
  height: 50px;
  color: white;
  text-align: center;
}

.left {
  float: left;
  background-color: salmon;
}

.right {
  float: right;
  background: #006699;
}

إفراغ مكان العناصر العائمة

في بعض الأحيان تريد أن ينتقل أحد العناصر تحت العناصر العائمة، فمثلًا، قد تريد أن تبقى الفقرات النصية بجوار العناصر العائمة، لكنك تريد أن تكون العناوين في سطرٍ خاصٍ بها، فعندئذٍ يمكنك استخدام الخاصية clear (راجع صفحتها لأمثلة عن ذلك).

دعم المتصفحات

الميزة Chrome Firefox Internet Explorer Opera Safari
الدعم الأساسي 1.0 1.0 4.0 7.0 1.0

البنية العامة

تقبل الخاصية float كلمةً محجوزةً وحيدةً من الكلمات المذكورة في هذا القسم.

left

سيكون العنصر عائمًا على الجانب الأيسر من الصندوق الحاوي له.

right

سيكون العنصر عائمًا على الجانب الأيمن من الصندوق الحاوي له.

none

لا يجوز أن يكون العنصر عائمًا.

البنية الرسمية

float: none | left | right;

انظر أيضًا

  • صفحة الخاصية position التي تصف كيفية تموضع العنصر في المستند.
  • صفحة الخاصية display  التي تُحدِّد ما هو نوع صندوق العرض الذي سيستخدم مع العنصر.

مصادر ومواصفات