wesamdev

افلام هندية$type=sticky$count=4$show=home

$show=home

|روبوتات_$type=slider$source=random-posts$snippet=hide$cate=20$show=home

|اضافات بلوجر$type=three$m=0$rm=0$h=400$c=3$show=home

$show=home

wesamdev

تعرف علي الدوال في css

تسمح الدالة ()calc بإجراء عمليات حسابية على قيم خاصيات CSS، ويمكن استخدامها في أي موضع يُسمَح فيه باستخدام أنواع البيانات و و

تعرف علي الدوال في css

 

الدوال (Functions)


الدالة ()calc1


تسمح الدالة ()calc بإجراء عمليات حسابية على قيم خاصيات CSS، ويمكن استخدامها في أي موضع يُسمَح فيه باستخدام أنواع البيانات <length> و <percentage> و <angle> و <time> و <number> و <integer>.

استخدام دالة ()calc لحساب عرض الحاوية

#div1 {
 position: absolute;
 left:50px;
 width: calc(100%-100px);
 border:1px solid black;
 background-color: yellow;
 padding:5px;
 text-align: center
}

استخدام الدالة ()calc لتحديد موضع صورة الخلفية

background-position: calc(50%+17px) calc(50%+10px),50%50%;

استخدام الدالة ()calc لحساب ارتفاع العنصر

height: calc(100%-20px);



الدالة ()attr2


تستخدم الدالة ()attr للحصول على قيمة إحدى خاصيات العنصر المُحدَّد واستخدامها في أنماط CSS، ويمكن استعمالها أيضًا على العناصر الزائفة (pseudo-elements) وفي هذه الحالة ستُستخدَم قيمة خاصية العنصر الأصل.

مثال


  • ملف HTML
<blockquotedata-mark='"'></blockquote>

  • ملف CSS
 blockquote[data-mark]::before,
 blockquote[data-mark]::after {
 content: attr(data-mark);
 }



الدالة ()var3


تستخدم الدالة ()var للوصول لمتغيرات CSS.

مثال

:root {
 --primary-color: blue;}
selector {
 color:var(--primary-color);}



الدالة radial-gradient()4


تستخدم الدالة radial-gradient()‎ لإنشاء تدرج لوني بين لونين أو أكثر على شكل أشعة تبدأ من المركز، ويمكن أن يكون شكلها دائريًا أو على شكل قطع ناقص.

مثال

radial-gradient(red, orange, yellow);


الدالة linear-gradient()5


تستخدم الدالة linear-gradient()‎ لإنشاء تدرج لوني بين لونين أو أكثر على امتداد خط مستقيم،

مثال

linear-gradient(0deg, red, yellow 50%, blue);


المتغيرات: الخاصيات المُخصصة في CSS

أسماء الخاصيات التي تُسبَق بشرطتين --، مثل ‎--example-name، تُمثِّل الخاصيات المخصصة (custom properties) التي تُسنَد لها قيمةٌ يمكن إعادة استخدامها في المستند عبر الدالة var()‎.

مثال

من الشائع إعادة استخدام نفس اللون في عدة أماكن في الصفحة، لذلك من الأفضل إنشاء متغير يحمل قيمة هذا اللون واستخدامه مما يُسهِّل البحث عنه وتعديله في المستقبل.

:root {
 --red:#b00;
 --blue:#4679bd;
 --grey:#ddd;}.Bx1{
 color:var(--red);
 background-color:var(--grey);
 border:1px solid var(--red);}

مثال

:root {
 --W200:200px;
 --W100:10px;}.Bx2{
 width:var(--W200);
 height:var(--W200);
 margin:var(--W10);}

إعادة تعريف قيم المتغيرات

  • ملف HTML

<aclass="button">Button Green</a>
 <aclass="button button_red">Button Red</a>
 <aclass="button">Button Hovered On</a>

  • ملف CSS
.button {
 --color: green;
 padding:.5rem;
 border:1px solid var(--color);
 color:var(--color);
 }
 .button:hover {
 --color: blue;
 }
 .button-red {
 --color: red;
 }

النتيجة


تعرف علي الدوال في css

قواعد استخدام المتغيرات في CSS


  • يجب أن تحتوي أسماء المتغيرات على الحروف وعلامة (-) فقط.
/* Invalid variables names */
 --123color: blue;
 --#color: red;
 --bg_color: yellow
 --$width:100px;
 /* Valid variable names */
 --color: red;
 --bg-color: yellow
 --width:100px

  • اسماء المتغيرات حساسة لحالة الأحرف
/* The variable names below are all different variables */
 --pcolor:;
 --Pcolor:;
 --pColor:;

  • يجب أن يكون لكل متغير قيمة (حرف المسافة (space) قيمة صالحة للمتغير).
/* Invalid */
 --color:;
 /* Valid */
 --color:;/* space is assigned */

  • متغيرات CSS لا تدعم التسلسل، أي لا يمكن استخدام الدالة var()‎ داخل دالة أخرى.
/* Invalid */
 .logo{
 --logo-url:'logo';
 background: url('assets/img/'var(--logo-url)'.png');
 }
 /* Invalid */
 .logo{
 --logo-url:'assets/img/logo.png';
 background: url(var(--logo-url));
 }
 /* Valid */
 .logo{
 --logo-url: url('assets/img/logo.png');
 background:var(--logo-url);
 }

  • يجب وضع الوحدات داخل تعريف المتغير
/* Invalid */
 --width:10;
 width:var(--width)px;
 /* Valid */
 --width:10px;
 width:var(--width);
 /* Valid */
 --width:10;
 width: calc(1px*var(--width));/* multiply by 1 unit to convert */
 width: calc(1em*var(--width));

استخدام المتغيرات مع استعلامات الوسائط

يُمكن إعادة تعريف قيم المتغيرات في استعلامات الوسائط للحصول على صفحات متجاوبة.

مثال

  • ملف HTML
<div></div>
 <div></div>
 <div></div>
 <div></div>

  • ملف CSS
:root{
 --width:25%;
 --content:'This is desktop';
 }
 @media only screen and(max-width:767px){
 :root{
 --width:50%;
 --content:'This is mobile';
 }
 }
 @media only screen and(max-width:480px){
 :root{
 --width:100%;
 }
 }
 div{
 width: calc(var(--width)-20px);
 height:100px;
 }
 div:before{
 content:var(--content);
 }
 /* Other Styles */
 body {
 padding:10px;
 }
 div{
 display: flex;
 align-items: center;
 justify-content: center;
 font-weight:bold;
 float:left;
 margin:10px;
 border:4px solid black;
 background: red;
 }

النتيجة


تعرف علي الدوال في css

اطَّلع على تجربة حيَّة لهذا المثال على CodePen.

نموذج الكائنات (CSS Object Model - CSSOM)

يحدد المتصفح جميع الرموز في ملف CSS ويحولها إلى عُقد مرتبطة في شكل بنية شجرية، وتُكَوِّن مجموعة هذه العقد ما يُعرف بنموذج كائنات CSS.

لعرض أي صفحة ويب، ينفذ المتصفح الخطوات التالية:

  1. يفحص المتصفح وثيقة HTML ويبني DOM.
  2. يفحص المتصفح وثيقة CSS ويبني نموذج الكائنات CSSOM.
  3. يدمج المتصفح بين DOM و CSSOM لإنشاء شجرة العرض التي تُمثل الصفحة.

مثال

إليك المثال التالي حول إضافة صورة الخلفية background-image باستخدام نموذج الكائنات CSSOM

أولُا يجب الحصول على نقاط مرجعية تمثل بداية ونهاية القواعد في وثيقة CSS.

var stylesheet = document.stylesheet[0].cssRules;var end = stylesheet.length -1;

ومن ثم تُضاف القاعدة background-image للعنصر body في نهاية وثيقة CSS.

stylesheet.insertRule("body { background-image:
url('http://cdn.sstatic.net/Sites/stackoverflow/img/favicon.ico');}", end);

أنماط التصميم (CSS Design Patterns)

أنماط التصميم (Design Patterns) هي أساليب نموذجية تحل المشاكل التي تتكرر كثيرًا في تصميم البرمجيات، ويمكن تشبيهها بالمخططات التي تستخدمها -وتُعدَّلها أيضًا- من أجل إصلاح مشكلة بعينها في شيفرتك.

بعض أنماط التصميم الشائعة في CSS

  • BEM
  • OOCSS
  • SMACSS

نمط BEM

هي منهجة صُممت من قبل شركة التكنولوجيا الروسية Yandex، ومن ثم اكتسبت شعبية كبيرة بين مبرمجين الويب في الولايات المتحدة و أوروبا الغربية ومنها إلى بقية العالم، وتُشير BEM إلى الكلمات Block، وElements وModifiers على التوالي.

  • Blocks: أو الكتل، وهي العناصر أو الكيانات المُستقلة ولها معنى محدد، مثل العناصر header، و container، وmenu، وغيرها.
  • Elements: أو العناصر، وهي أجزاء من الكُتل والتي ليس لها معنى محدد، مثل menu item، وlist item، وغيرها.
  • Modifiers: أو الصفات التعريفية، وتستخدم لتغيير طريقة عرض أو سلوك العنصر، مثل الخواص disabled، وhighlighted، وchecked، وغيرها.

هناك بعض القواعد لتطبيق منهجية أو نمط BEM وهي:

  • أنماط الكتل لا تعتمد بأي شكل من الأشكال على بقية العناصر في الصفحة.
  • يجب أن تكون أسماء الكُتل قصيرة، مع تجنب استخدام المحارف (-) و (_).
  • يجب أن تأخذ أسماء مُحددات العناصر الشكل blockname__elementname.
  • يجب أن تأخذ أسماء مُحددات الصفات التعريفية الشكل blockname--modifiername أو blockname__element-name--modifiername.

مثال

<style>
form {}// Block.form--theme-xmas {}// Block + modifier.form--simple {}// Block + modifier.form__input {}// Block > element.form__submit {}// Block > element.form__submit--disabled {}// Block > element + modifier</style>
<form class="form form--theme-xmas form--simple">
 <input class="form__input" type="text"/>
 <input class="form__submit form__submit--disabled" type="submit"/>
</form>




ملاحظات للمحترفين ملاحظات CSS للمحترفين




👈 من هو شرح الدالة calc()‎ في CSS .


wesam developer

إذا أعجبك المقال أو كان مفيدًا - ضع "أعجبني". اشترك في المدونة اوشارك برأيك في التعليقات! أراك لاحقا

COMMENTS

BLOGGER
الاسم

اخبار,45,اداة للكمبيوتر,7,اضافات بلوجر,88,افلام اجنبي,9,افلام روسية,32,افلام عربي مترجمة الي الروسية,1,افلام قديمة,2,افلام هندي,8,البرمجة,8,الجديد في التكنولوجيا,46,العاب,9,النمر,7,اليوتيوب,16,اندرويد,15,اندرويد استوديو,3,برامج كمبيوتر,11,بلوجر,8,تركيا,6,تصميم,3,تطبيقات,20,جافاسكريبت,3,حوادث,5,حول العالم,65,حيوانات,25,خلفيات,1,دروس HTML| بالعربية,2,روبوتات,8,روسيا,60,سياحة,4,سيارات,12,سياسة,17,شروحات,34,شريط الاخبار,1,صحتي,2,طائرات,22,فن,35,قناة الوعي نور,4,قناة قعدة تاريخ,8,قوالب بلوجر,3,كتب الكترونية,7,مالتي ميديا,6,متصفح,2,محليات,4,مسلسل لعبة الحبار,1,مسلسلات اجنبية,2,مسلسلات رمضان 2022,1,مسلسلات رمضان 2120,1,مصر والعرب,2,معدات حربية,34,معدات زراعية,6,مقالات,101,مواصلات النقل,1,مواقع للتصميم,14,وثائقي,14,وسوم بلوجر,2,ويندوز,15,Antivirus,3,Button,1,c++,1,css,37,HTML,11,wesam,2,
rtl
item
Wesam: تعرف علي الدوال في css
تعرف علي الدوال في css
تسمح الدالة ()calc بإجراء عمليات حسابية على قيم خاصيات CSS، ويمكن استخدامها في أي موضع يُسمَح فيه باستخدام أنواع البيانات و و
https://1.bp.blogspot.com/-kRd6tuvPMCg/YL5cKmHM2gI/AAAAAAAAVjA/HUgC_6f2HzcI23dz-Xh7P7Qmr_d4fRXLgCLcBGAsYHQ/s16000/css%2Bd.png
https://1.bp.blogspot.com/-kRd6tuvPMCg/YL5cKmHM2gI/AAAAAAAAVjA/HUgC_6f2HzcI23dz-Xh7P7Qmr_d4fRXLgCLcBGAsYHQ/s72-c/css%2Bd.png
Wesam
https://www.wesamdev.com/2021/06/css.html
https://www.wesamdev.com/
https://www.wesamdev.com/
https://www.wesamdev.com/2021/06/css.html
true
1297279864306511161
UTF-8
Loaded All Posts Not found any posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU LABEL ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS PREMIUM CONTENT IS LOCKED STEP 1: Share to a social network STEP 2: Click the link on your social network Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy Table of Content