---
id: 587d78a6367417b2b2512ade
title: Create a More Complex Shape Using CSS and HTML
challengeType: 0
videoUrl: ''
localeTitle: إنشاء شكل أكثر تعقيدًا باستخدام CSS و HTML
---
## Description
 واحدة من أكثر الأشكال شعبية في العالم هي شكل القلب ، وفي هذا التحدي عليك إنشاء واحد باستخدام CSS النقي. ولكن أولا ، تحتاج إلى فهم ::before و ::after pseudo-elements. يتم استخدام هذه العناصر الزائفة لإضافة شيء ما قبل أو بعد عنصر محدد. في المثال التالي ، يتم استخدام العنصر ::before pseudo-element لإضافة مستطيل إلى عنصر به heart الفئة:  .heart :: before { 
 يحتوى: ""؛ 
 لون الخلفية: أصفر. 
 نصف قطر الحدود: 25٪ ؛ 
 الموقع: مطلقة 
 الارتفاع: 50 بكسل ؛ 
 العرض: 70 بكسل 
 أعلى: - 50 بكسل 
 اليسار: 5 بكسل ؛ 
 } 
 بالنسبة لـ ::before و ::after pseudo-elements لتعمل بشكل صحيح ، يجب أن يكون لها خاصية content محددة. يتم استخدام هذه الخاصية عادةً لإضافة أشياء مثل صورة أو نص إلى العنصر المحدد. عندما يتم استخدام الـ ::before و ::after pseudo-elements لجعل الأشكال ، فإن خاصية content لا تزال مطلوبة ، لكن يتم ضبطها على سلسلة فارغة. في المثال أعلاه، عنصر مع فئة من heart لديه ::before الزائفة العنصر الذي ينتج مستطيل أصفر مع height و width من 50px 70px و، على التوالي. يحتوي هذا المستطيل على زوايا دائرية نظرًا لنصف قطره 25٪ ويتم وضعه تمامًا عند 5 بكسل من left و 50 بكسل فوق الجزء top من العنصر. 
## Instructions
 تحويل العنصر على الشاشة إلى القلب. في heart::after الاختيار ، قم بتغيير background-color الوردي و border-radius إلى 50٪. بعد ذلك ، استهدف العنصر heart الطبقة ( heart فقط) واملأ خاصية transform . استخدم وظيفة rotate() مع -45 درجة. (يعمل rotate() بنفس الطريقة التي يعمل بها skewX() و skewY() ). وأخيراً ، في heart::before selector ، قم بتعيين خاصية content الخاصة به إلى سلسلة فارغة. 
## Tests
```yml
tests:
  - text: 'يجب أن تكون الخاصية background-color heart::after محدد الوردي.'
    testString: 'assert(code.match(/\.heart::after\s*?{\s*?background-color\s*?:\s*?pink\s*?;/gi), "The background-color property of the heart::after selector should be pink.");'
  - text: 'يجب أن يكون border-radius الحد heart::after محدد 50 ٪.'
    testString: 'assert(code.match(/border-radius\s*?:\s*?50%/gi).length == 2, "The border-radius of the heart::after selector should be 50%.");'
  - text: يجب أن تستخدم خاصية transform لفئة heart الدالة rotate() إلى -45 درجة.
    testString: 'assert(code.match(/transform\s*?:\s*?rotate\(\s*?-45deg\s*?\)/gi), "The transform property for the heart class should use a rotate() function set to -45 degrees.");'
  - text: 'يجب أن يكون content heart::before محدد سلسلة فارغة.'
    testString: 'assert(code.match(/\.heart::before\s*?{\s*?content\s*?:\s*?("|")\1\s*?;/gi), "The content of the heart::before selector should be an empty string.");'
```
## Challenge Seed
## Solution
```js
// solution required
```