• الرئيسية
  • تعرف علي
  • اتفاقية النشر
  • اتصال
  • خدمات
  • تابع خلاصات المدونة
  • تابعني على تويتر

« إظهار محتويات معينة في نافذة أنيقة بـ jQuery
القوائم ، أنواعها ، اختلافاتها ، و ضوابطها »
4

تأصيلات selecteur في css2.1 و css3

نوفمبر
14

بسم الله الرحمن الرحيم ، في محاولة لكسر روتينية التطبيقات الموضوعة للجافا سكربت ، سأحاول اليوم وضع تأصيل للغة الرائعة css حيث يمكن الرجوع إليه عند المتهاة أو النسيان ، كما ساحاول مناقشة بعض الاوامر المجهولة عند الأغبلية ، ساحاول تفصيل طريقة استعمال أي selecteur في اللغة ، سواء من الجيل الثاني أو الثالث لها ، كذلك و تبيين أنواعها و آالية عملها بالكامل إن شاء الله ، الأفكار :

في css2.1

  • *
  • <
  • +
  • [att]
  • [att=val]
  • [att~=val]
  • [att|=val]
  • :first-child
  • :lang
  • :first-line
  • :first-letter
  • :before و :after

في css3

  • الجديد في att
  • nth-child()
  • ~
  • :checked
  • :empty
  • الانتقاء بالاستثناء
  • ::selection


الـ selecteur او في ترجمة حرفية ‘( المنتقى ) حيث يتم عملية من انتقاء العناصر عن طريق قواعد محددة و مراحل تم تطويرها في لغة css ، فمثلا لما أكتب التالي :

h1 { color: red; }
h2 { color: red; }
h1, h2 { color: red; }

ففي السطر الثالث قد عملت عملية من انتقاء العناوين لأعطيها تنسيقا معينا ، كذلك لما أكتب :

h1 { font-family: sans-serif; }

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

في css2.1

  • * : هذه تدل على الكل ، حيث يتم انتقاء كل ما هو من نفس الكلاس أو id
    *.warning
    .warning
    /* السطرين متساويين */

    لكنها لا تستعمل كثيرا لانها توافق التي بعدها .

  • < : او ما تسمى بانتقاء الابن ، حيث لا يتم اختيار من عنصر معين إلا العناصر التي هي عبارة عن طفل بداخله ، مثال :

    <div class="text">
    <p>je m'appel <strong> mohamed chater </strong></p> 
     en plus mon pseudo <strong>Fez-Soft</strong>
    </div>
     
    و التنسيق :
    <pre lang="css">
    .text > strong { background-color: blue; }

    حيث ان الخلفية الزرقاء لن تطبق على جميع strong و انما فقط على الذي هو طفل بداخل div.text وهو mohammed chater بينما لن تطبق على Fez-Soft لانه ليس بابن داخل النص ،

    خاصية الانتقاء الابن غير مدعومة في ie6

  • + : او ما يسمى بالانتقاء بالتتابع ، حيث أنني لما اكتب التالي :

    h1 + h2 { background-color: blue; }

    فإنه في الأمر التالي سأطبق خلفية زرقاء على العناوين من نوع h2 التي تتبع h1 ، اما التي لا يسبقها h1 فلن يطبق عليها شيء من هذا السطر ،
    هذه كذلك غير مدعومة من ie6

  • [att] : حيث نعين العنصر أولا ، ثم نوع attribut التي لابد من أن يتوفر عليها ليطبق عليه التنسيق ، مثال :
    a[title] { background-color: red; }

    سيتم تطبيق الخلفية الحرماء على الروابط التي تحتوي على وصف title ، أما اللتي لا تحتوي على الوصف title فلن يتم تطبيق التنسيق التالي عليها

  • [att=val] : زيادة في التعمق في الشروط ،فإننا نشترط على العنصر الفلاني أن يحتوي على attribut الفلاني بالقيمة الفلانية ، مثلا
    a[rel=external] { background-color: red; }

    حيث لن يتم تطبيق الخلفية الحمراء إلا على الروابط التي بها rel=”external”

  • [att~=val] : مثل التي قبلها تماما ، إلا انها تدعم القيم التي بينها مسافة ، مثلا في كود html عندنا التالي :
    <p class="all text"></p>

    حيث توجد مسافة بين text و all ، وهذا ما يميز هذا الانتقاء عن الذي قبله ، انه يأخذ القيم ولو كان بينها مسافة ، فيكون في قيم التنسيقات التالي :

    p[class~=all] { background-color: red; }
  • [att|=val] : هنا يتم انتقاء العناصر التي في قيم أوامرها عارضة صغيرة ( – ) ، مثلا :
    a[hreflang|=en] { background-color: red; }

    حيث ان الروابط التي تكون بها عناوين المواضيع تكون بها عوارض صغيره للفصل بين الكلمات ، كذلك نوع اللغة ، يكون مثلا en-US أو en-GB
    ملاحظة ، لا ننس أنه بإمكاننا الجمع بين أكثر من انتقاء في سطر واحد :

    a[title][rel~=external] { background-color: red; }
  • :first-child : و تطبق على اول عنصر طفل في مجموعة العناصر الموجودة ، مثلا :

    div > p:first-child { text-indent: 10px; }
  • :lang : انتقاء باللغة ،

    p:lang(en) { background-color: red; }

    حيث في بعض المرات ، نضطر إلى عمل جملة بلغة أخرى و نعطيها قيمتها في lang

  • :first-line : انتقاء السطر الأول من فقرة معينة لإعطاءه تنسيقا معينا :
    p:first-line { text-transform: uppercase; }
  • :first-letter : انتقاء الحرف الأول فقط من كلمة الأولى في فقرة :
  • :before و :after ، لا داعي للتكرار ، فقط فصلت فيهما جيدا مع المثال في هذا الدرس
  • إلى هنا أكون قد انهيت الانتقاء و انواعه في css2.1 ، للنتقل للجيل الجديد .

في css3

  • الجديد في att : و هي ثلاثة اوامر ، اثنان منها ستجدها مفصلة في هذا الدرس ، او بطريقة جافا سكربت ، و الثالث هو [att*="val"] ، حيث يتم انتقاء العناصر التي التي تحتوي على الأقل كلمة من سلسلة الكلمات التي اشترطتها في التنسيق :
    a[title*="hello"] { font : 12px verdana }

    سيتم تطبيق التنسيق فقط على الروابط التي بها وصف title تكون فيه كلمة hello

  • ~ : حيث يتم الانتقاء عبر التتابع ، مثلا /:
    div~img { border: 1px solid #ccc; }

    حيث سأطبق حدودا رمادية على الصور التي تتبع div مباشرة ، شيء طبيعي ان يكون العنصرين من نفس المجموعة .

  • nth-child() : لانتقاء العناصر الصغيرة ن داخل ( جدول مثلا ) عن طريق ترتيب ، هل هو فردي ام زوجي ، مثلا ، عندي جدول و به عدد من الأسطر ، فاول سطر فردي لانه رقم 1 ، و الثاني زوجي لأنه رقم 2 و هكذا ، فردي زوجي ، قد احتاج لإعطاء جداولي نوعا من التنسيق الديناميكي الذي يتتبع نوع الترتيب ،
    سنتذكر هنا شيئا من الرياضيات ، حيث الأعداد الفردية نرمز لها بـ 2n+1 و الزوجية بـ 2n ، سنحتاج هذه القاعدة ، إليك الامثلة :

    tr:nth-child(2n+1) /* الأسطر التي في ترتيب فردي */
    tr:nth-child(2n) /* الأسطر التي في ترتيب زوجي */

    كما يمكنني الرمز للفردي بالقيمة odd و الزوجي بالقيمة even

    tr:nth-child(odd) /* الأسطر التي في ترتيب فردي */
    tr:nth-child(even) /* الأسطر التي في ترتيب زوجي */
  • :checked : حيث يتم الانتقاء عن طريق العناصر المعلمة في حالة cheked مثل input
  • :empty : حيث يتم انتقاء العناصر الفارغة ، التي ليس يها محتوى أو أي قيمة ، وكذلك العناصر التي ليست من فئة ابن، يعني لا تتبع أي عنصر ققبلها
  • الانتقاء بالاستثناء : حيث يتم الانتقاء عن طريق استثناء عنصر معين ، او كلاس معين ، مثلا :
    p:not([class*="lead"]) { color: black; }

    سيتم تطبيق اللون الأسود في الكلمات التي في كل الفقرات ما عدى الفقرة P التي تأخد الكلاس lead

  • ::selection ، هنا يتم انتقاء العناصر التي في حالة select ، مثلا عندها نختار جملة معينة من نص معين لنسخها ، في هذه الحالة سأطبق عليها تنسيقا خاصا بها :
    ::selection { background-color: red; }

    إلى هنا ، آمل أن اكون قد بينت الأصول في selecteur على أمل الالتقاء في درس آخر إن احيانا الله عز وجل
    و السلام عليكم ورحمة الله وبركاته

الوسوم: css, css2.1, css3, selecteur, تأصيل

هذه التدوينة نُشرت في السبت, 14 نوفمبر, 2009 عند 9:09 ص و مصنفة تحت تصنيف css , xhtml. يمكنك متابعة أي تعليقات عبر رابط RSS 2.0. يمكنك ترك تعليق, أو تعقيب من مدونتك.

4 من التعليقات لـ “تأصيلات selecteur في css2.1 و css3”

  1. نوفل قال:
    14 نوفمبر 2009 عند 6:16 م

    جميل..هه حاولت ان أفهم شيئا، لكني جاهل في مثل هاته الأمور..أظن أن الدرس للمتقدمين لا المبتدئين أمثالي..
    دمت

  2. Fez-Soft قال:
    15 نوفمبر 2009 عند 7:38 ص

    اهلا نوفل ، شكرا لتواضعك ، كلنا مبتدئين و كلنا نتعلم

    موفق

  3. Creation de site web au Maroc et Réferencement قال:
    6 ديسمبر 2009 عند 7:16 م

    صراحة أخي بالنسبة ل css يحيرني دائما بما فيه من جديد وهو أصل أناقة الموقع كأناقة موقعك.شكرا لك أخي صاحب الموقع وصاحب الموضوع الرائح وتقبل تعليقي.تحياتي لك وكل التقدير لشخصك الكريم.

  4. قواعد selector على منصة jQuery « Fez-Soft Blog قال:
    20 يناير 2010 عند 1:01 م

    [...] جميع selector الخاصة بلغة css والتي عملنا لها تأصيلات من قبل هنا [...]

إكتب تعليقك

اضغط هنا لإلغاء الرد.

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

  • أعجبتك المدونة ؟

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

    • css , xhtml
    • JavaScript, Jquery
    • Photoshop, Flash, illustrator
    • PHP
    • خواطر على طريق التطوير
    • عام
  • كلمات مفتاحية

    $each() alert Application Assembler confirm css div html html4 html5 javascript jquery media opacity PHP prompt screen Top xhtml أفكار إخفاء إظهار استدعاء تأثير تسريع تصميم تطبيق تفصيل تنسيق توافق توزيع ثلاثي أبعاد حقوق روابط زجاجي صفحات عميل فكرة قائمة قالب قواعد متفرعة مشاريع مصمم مطور
  • الأرشيف

    • فبراير 2010
    • يناير 2010
    • ديسمبر 2009
    • نوفمبر 2009
    • أكتوبر 2009
    • سبتمبر 2009
    • أغسطس 2009
    • يوليو 2009
    • يونيو 2009
    • مايو 2009
  • روابط

    • Fez-Soft creation website
    • مدونة محمد بدوي
    • مدونة محمد شاطر
    • مدونة يزيد
    • نقطة بداية

© Fez-Soft Blog

    All right reserved , Theme By Fez-Soft , RSS posts , RSS comments .
  • تعرف علي
  • اتفاقية النشر
  • خدمات
  • اتصال
  • الرئيسية
عن Fez-Soft
mohammed chater مرحبا ، اسمي محمد شاطر ، Mohammed chater , أعرف تحت مسمى Fez-Soft, طالب و مصمم و مطور تطبيقات ، من فاس المغرب . . يمكنك أن تتعرف علي اكثر من هنا ، أو متابعة حسابي على twitter ، ستجد في هذه المدونة دروسا تطويرية للمستوى المتقدم في تصميم الويب ، و البرمجة بالـ JavaScript , يمكنك متابعتها من خلال الخلاصات ، كما يمكنك أن تراسلني من هنا ، لو دعت الضرورة لذلك ، آمل ان يكون وقتك في المدونة لك ، لا عليك .
الأكثر زيارة
  • فضلا .. لا تستعمل Framework css
  • الخطوط العربية : قواعد ، أفكار و حيل
  • مدونة جديدة ، بأفكار بسيطة
  • قائمة أفقية ، مع تحديد title بـ jQuery بطريقة فريدة
  • ترقيعات css ، الجمل الشرطية ، بالتفصيل الممل
  • تطبيق لفكرة : طلب انتظار تحميل الصور
آخر التعليقات
  • samir de casa  : merci a bo rass had chi zwian...
  • مهند  : الف شكر حبيبي...
  • مهند  : السلام عليكم ورحمة الله وبركاته اخي الكريم اشك...
  • أيوب  : الله يوفقك أخي محمد مبارك افتتاح المدونة فقط يا أخ...
  • Fez-Soft  : مرحبا أخي ، بالنسبة لنظام الماك خاصة كنت قد تكلمت...