الفرق بين المراجعتين ل"CSS/content"

من موسوعة حسوب
< CSS
اذهب إلى التنقل اذهب إلى البحث
ط
سطر 1: سطر 1:
 
<noinclude>{{DISPLAYTITLE:الخاصية <code>content</code>}}</noinclude>
 
<noinclude>{{DISPLAYTITLE:الخاصية <code>content</code>}}</noinclude>
 
الخاصية <code>content</code> في CSS تُستخدَم مع العنصرين الزائفين <code>[[CSS/::before|‎::before]]</code> و <code>[[CSS/::after|‎::after]]</code> لتوليد محتوى في العنصر.
 
الخاصية <code>content</code> في CSS تُستخدَم مع العنصرين الزائفين <code>[[CSS/::before|‎::before]]</code> و <code>[[CSS/::after|‎::after]]</code> لتوليد محتوى في العنصر.
 +
 +
== بطاقة الخاصية ==
 +
{| class="wikitable" style="width: 100%;"
 +
|-
 +
! scope="row" style="width: 20%;" |[[CSS/initial value|القيمة الابتدائية]]
 +
|<code>normal</code>
 +
|-
 +
! scope="row" |تُطبَّق على
 +
|العنصرين الزائفين ‎<code>::before</code> و ‎<code>::after</code>.
 +
|-
 +
! scope="row" |قابلة للوراثة
 +
|لا
 +
|-
 +
!قابلة للحركة
 +
|لا
 +
|-
 +
! scope="row" |القيمة المحسوبة
 +
|ستكون القيمة هي <code>normal</code> دومًا إذا طُبِّقت هذه الخاصية على العناصر العادية.
 +
وإذا كانت القيمة <code>normal</code> وطُبِّقَت على العنصرين الزائفين <code>‎::before</code> و <code>‎::after</code> فستكون القيمة المحسوبة هي <code>none</code>.
 +
 +
إذا استخدمنا روابط URL النسبية فستحوِّل إلى روابط مطلقة.
 +
 +
إذا استخدمنا الدالة <code>attr(x)</code>‎ فستحوِّل القيمة إلى سلسلة نصية.
 +
 +
فيما عدا ذلك، ستكون القيمة المحسوبة هي نفس القيمة المُحدَّدة.
 +
 +
|}
 +
 
 
<syntaxhighlight lang="css">
 
<syntaxhighlight lang="css">
 
/* كلمات محجوزة لا يمكن دمجها مع بقية القيم */
 
/* كلمات محجوزة لا يمكن دمجها مع بقية القيم */
سطر 33: سطر 61:
 
content: unset;
 
content: unset;
 
</syntaxhighlight>
 
</syntaxhighlight>
{| class="wikitable" style="width: 100%;"
 
|-
 
! scope="row" style="width: 20%;" |[[CSS/initial value|القيمة الابتدائية]]
 
|<code>normal</code>
 
|-
 
! scope="row" |تُطبَّق على
 
|العنصرين الزائفين ‎<code>::before</code> و ‎<code>::after</code>.
 
|-
 
! scope="row" |قابلة للوراثة
 
|لا
 
|-
 
!قابلة للحركة
 
|لا
 
|-
 
! scope="row" |القيمة المحسوبة
 
|ستكون القيمة هي <code>normal</code> دومًا إذا طُبِّقت هذه الخاصية على العناصر العادية.
 
وإذا كانت القيمة <code>normal</code> وطُبِّقَت على العنصرين الزائفين <code>‎::before</code> و <code>‎::after</code> فستكون القيمة المحسوبة هي <code>none</code>.
 
 
إذا استخدمنا روابط URL النسبية فستحوِّل إلى روابط مطلقة.
 
 
إذا استخدمنا الدالة <code>attr(x)</code>‎ فستحوِّل القيمة إلى سلسلة نصية.
 
 
فيما عدا ذلك، ستكون القيمة المحسوبة هي نفس القيمة المُحدَّدة.
 
 
|}
 
  
 
== أمثلة ==
 
== أمثلة ==
سطر 156: سطر 159:
 
الخاصية <code>content</code> تقبل القيم الآتية.
 
الخاصية <code>content</code> تقبل القيم الآتية.
  
=== القيمة <code>none</code> ===
+
=== <code>none</code> ===
 
لن يولّد عنصرٌ زائف (pseudo-element).
 
لن يولّد عنصرٌ زائف (pseudo-element).
=== القيمة <code>normal</code> ===
+
=== <code>normal</code> ===
 
هذه القيمة ستحوّل إلى <code>none</code> في العنصرين الزائفين <code>[[CSS/::before|‎::before]]</code> و <code>[[CSS/::after|‎::after]]</code>.
 
هذه القيمة ستحوّل إلى <code>none</code> في العنصرين الزائفين <code>[[CSS/::before|‎::before]]</code> و <code>[[CSS/::after|‎::after]]</code>.
  
=== القيمة <code>[[CSS/string|<string>]]</code> ===
+
=== <code>[[CSS/string|<string>]]</code> ===
 
سلسلة نصية تحتوي على محرف أو أكثر.
 
سلسلة نصية تحتوي على محرف أو أكثر.
  
=== القيمة <code>[[CSS/url|<url>]]</code> ===
+
=== <code>[[CSS/url|<url>]]</code> ===
 
يُشير رابط URL إلى مورد خارجي (مثل الصور)، وإذا لم يمكن المتصفح من عرض ذاك المورد، فإما أن سيتجاهله أو سيعرض محتوى بديل عنه.
 
يُشير رابط URL إلى مورد خارجي (مثل الصور)، وإذا لم يمكن المتصفح من عرض ذاك المورد، فإما أن سيتجاهله أو سيعرض محتوى بديل عنه.
  
=== القيمة <code>[[CSS/counter|<counter>]]</code> ===
+
=== <code>[[CSS/counter|<counter>]]</code> ===
 
قيمة عداد في CSS، ويكون عادةً رقميًا، ويمكن عرضه باستخدام الدالة <code>counter()‎</code> أو الدالة <code>counters()‎</code>.
 
قيمة عداد في CSS، ويكون عادةً رقميًا، ويمكن عرضه باستخدام الدالة <code>counter()‎</code> أو الدالة <code>counters()‎</code>.
  
=== القيمة <code>attr(x)</code>‎ ===
+
=== <code>attr(x)</code>‎ ===
 
استخدام قيمة الخاصية <code>x</code> كسلسلة نصية، وإذا لم تكن تلك الخاصية موجودةً فستُعاد سلسلة نصية فارغة.  
 
استخدام قيمة الخاصية <code>x</code> كسلسلة نصية، وإذا لم تكن تلك الخاصية موجودةً فستُعاد سلسلة نصية فارغة.  
  
=== القيمة <code>open-quote</code> أو  <code>close-quote</code> ===
+
=== <code>open-quote</code> أو  <code>close-quote</code> ===
 
ستُستبدَل هاتان القيمتان بما يناسبهما من السلاسل النصية المضبوطة في الخاصية <code>[[CSS/quotes|quotes]]</code>.
 
ستُستبدَل هاتان القيمتان بما يناسبهما من السلاسل النصية المضبوطة في الخاصية <code>[[CSS/quotes|quotes]]</code>.
  
=== القيمة <code>no-open-quote</code> أو  <code>no-close-quote</code> ===
+
=== <code>no-open-quote</code> أو  <code>no-close-quote</code> ===
 
لن تؤدي هاتان القيمتان إلى عرض علامات اقتباس، لكنهما ستؤديان إلى زيادة مستوى الاقتباس (level of nesting) في العنصر (انظر صفحة الخاصية <code>[[CSS/quotes|quotes]]</code> للتفاصيل).
 
لن تؤدي هاتان القيمتان إلى عرض علامات اقتباس، لكنهما ستؤديان إلى زيادة مستوى الاقتباس (level of nesting) في العنصر (انظر صفحة الخاصية <code>[[CSS/quotes|quotes]]</code> للتفاصيل).
  

مراجعة 10:01، 31 أغسطس 2018

الخاصية content في CSS تُستخدَم مع العنصرين الزائفين ‎::before و ‎::after لتوليد محتوى في العنصر.

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

القيمة الابتدائية normal
تُطبَّق على العنصرين الزائفين ‎::before و ‎::after.
قابلة للوراثة لا
قابلة للحركة لا
القيمة المحسوبة ستكون القيمة هي normal دومًا إذا طُبِّقت هذه الخاصية على العناصر العادية.

وإذا كانت القيمة normal وطُبِّقَت على العنصرين الزائفين ‎::before و ‎::after فستكون القيمة المحسوبة هي none.

إذا استخدمنا روابط URL النسبية فستحوِّل إلى روابط مطلقة.

إذا استخدمنا الدالة attr(x)‎ فستحوِّل القيمة إلى سلسلة نصية.

فيما عدا ذلك، ستكون القيمة المحسوبة هي نفس القيمة المُحدَّدة.

/* كلمات محجوزة لا يمكن دمجها مع بقية القيم */
content: normal;
content: none;

/* <string> سلاسل نصية */
content: "prefix";

/* <url> روابط */
content: url("http://www.example.com/test.png");

/* <counter> قيم */
content: counter(chapter_counter);
content: counters(section_counter, ".");

/* attr() HTML استخدام قيم خاصيات */
content: attr(value string);

/* كلمات محجوزة يختلف أثرها حسب الموضع أو اللغة */
content: open-quote;
content: close-quote;
content: no-open-quote;
content: no-close-quote;

/* يمكن استخدام أكثر من قيمة معًا */
content: open-quote chapter_counter;

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

أمثلة

مثال على إضافة علامات اقتباس حول العنصر <q> وإضافة الكلمة Chapter قبل الترويسات:

<h1>5</h1>
<p>According to Sir Tim Berners-Lee,
  <q cite="http://www.w3.org/People/Berners-Lee/FAQ.html#Internet">I was
    lucky enough to invent the Web at the time when the Internet
    already existed - and had for a decade and a half.</q>
  We must understand that there is nothing fundamentally wrong
  with building on the contributions of others.
</p>

<h1>6</h1>
<p>According to the Mozilla Manifesto,
  <q cite="http://www.mozilla.org/en-US/about/manifesto/">Individuals
    must have the ability to shape the Internet and
    their own experiences on the Internet.</q>
  Therefore, we can infer that contributing to the open web
  can protect our own individual experiences on it.
</p>

شيفرة CSS، لاحظ وجود فراغ بعد الكلمة Chapter لإضافة فاصل بينها وبين محتوى العنصر <h1>:

q {
  color: blue;
}

q::before {
  content: open-quote;
}

q::after {
  content: close-quote;
}

h1::before  {
  content: "Chapter ";
}

هذا المثال سيضع نصًا إضافيًا بعد عناصر خاصة في القائمة:

<h2>Paperback Best Sellers</h2>
<ol>
  <li>Political Thriller</li>
  <li class="new-entry">Halloween Stories</li>
  <li>My Biography</li>    
  <li class="new-entry">Vampire</li>
</ol>

شيفرة CSS، لاحظ وجود فراغ قبل الكلمة New لفصلها عمّا قبله من المحتوى:

.new-entry::after {
  content: " New!";
  color: red;
}

أما هذا المثال فسيضيف صورةً قبل كل رابط، ويضع قيمة الخاصية id بعده:

<ul>
  <li><a id="link1" href="http://example.com/">
    example.com</a></li>
  <li><a id="link2" href="https://example.org/">
    example.org</a></li>
</ul>

شيفرة CSS:

a {
  text-decoration: none;
  border-bottom: 3px dotted navy;
}

a::after {
  content: " (" attr(id) ")";
}

#link1::before {
  content: url("favicon.ico") ;
}

#link2::before {
  content: url("image.png") ;
}

li {
  margin: 1em;
}

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

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

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

الخاصية content تقبل القيم الآتية.

none

لن يولّد عنصرٌ زائف (pseudo-element).

normal

هذه القيمة ستحوّل إلى none في العنصرين الزائفين ‎::before و ‎::after.

<string>

سلسلة نصية تحتوي على محرف أو أكثر.

<url>

يُشير رابط URL إلى مورد خارجي (مثل الصور)، وإذا لم يمكن المتصفح من عرض ذاك المورد، فإما أن سيتجاهله أو سيعرض محتوى بديل عنه.

<counter>

قيمة عداد في CSS، ويكون عادةً رقميًا، ويمكن عرضه باستخدام الدالة counter()‎ أو الدالة counters()‎.

attr(x)

استخدام قيمة الخاصية x كسلسلة نصية، وإذا لم تكن تلك الخاصية موجودةً فستُعاد سلسلة نصية فارغة.

open-quote أو close-quote

ستُستبدَل هاتان القيمتان بما يناسبهما من السلاسل النصية المضبوطة في الخاصية quotes.

no-open-quote أو no-close-quote

لن تؤدي هاتان القيمتان إلى عرض علامات اقتباس، لكنهما ستؤديان إلى زيادة مستوى الاقتباس (level of nesting) في العنصر (انظر صفحة الخاصية quotes للتفاصيل).

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

content: normal | none | [ <content-replacement> | <content-list> ] [/ <string> ]?;

حيث:

<content-replacement> = <image>

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