Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
CSS CSS3
CSS CSS3
15.......................................................................................................................................... Overflow
ر
24 .................................................................................................................. Mouse Cursorمؤش الماوس
36........................................................................................................................................ Transition
46 ............................................................................................................................................. Filters
57 ................................................................................................................................... Transform 3D
60 ....................................................................................................................................... Animation
3
المقدمة
معلومات عن لغة - :CSS
CSSهي اختصار لـــ , Cascading Style Sheetوهي اللغة المسؤولة عن تنسيقات صفحة
الويب وعن الطريقة التي سيعرض بها كود الــ HTMLفي الصفحة.
يتم ربط صفحة HTMLبملف CSSبوضع واختيار مسار ملف CSSفي .href
مثال:
4
طريقة الكتابة Syntax
} { :هي االقواس التي يكتب بداخلها الخصائص والقيم ,وتسمي .Curly Braces
.
5
Name Conventions Rules, Comment
."class: $test" ، "class: 1test" تجنب بدأ التسمية بأرقام او رموز محجوزة مثال- 1
."class: _test" , "class: -test" يمكن البدء ببعض الرموز مثل- 2
div {
background-color: red; /* This is comment */
}
/*
div {
background-color: red;
}
*/
:مثال اخر
div {
/* background-color: red;*/
background-color: blue;
}
6
Background الخلفية
.W3School ، ويمكن تحديد مدي شفافية اللون،تحديد لون خلفية العنصر بطرق مختلفة
div {
background-color: red; /* Color Name */
background-color: rgba(18, 50, 192, 0.5); /* Red Green Blue Alpha Channel*/
background-color: #1231bb; /* Hex Code Color */
}
وإذا كان العنصر أ كبر من، وتكون بنفس حجم العنصر،يمكن اختيار صوره وجعلها خلفية للعنصر
.الالزم تتكرر الصورة افقيا ورأسيا
div {
background-image: url(/img/233231.jpg);
background: no-repeat; /* Repeat is default value, repeat-x, repeat-y */
}
7
- :Background Attachment
.تساعد علي التحكم في الخلفة وجعلها ثابتة او تتحرك مع المحتوي عند التحرك في الموقع
div {
background-attachment: fixed; /* default value: scroll */
}
div {
background-position: left center;
background-position: 10px 30px;
background-position: 10% 40%;
}
- :Background Size
div {
background-size: cover; /* default value: auto */
background-size: contain;
}
8
Padding, Margin, Border, Outline
div {
padding: 10px; /* top, right, bottom, left 'px, %'*/
margin: auto; /* top, right, bottom, left 'px, %' can use negative num*/
}
div {
border-width: 2px; /* top, right, bottom, left */
border-color: red green; /* top, right, bottom, left */
border-style: solid dashed; /* top, right, bottom, left */
border: 2px solid red; /* Shorthand code */
}
9
ويمكن تجنب ذلك باستخدا م،" مساحتهم تضاف لمساحة العنصرpadding, border“ ملحوظة! الـ
*{box-sizing: border-box}
div {
outline-width: 10px; /* one value for all declaration */
outline-color: blue; /* one value for all declaration */
outline-style: dashed; /* one value for all declaration */
10
Display “block, inline-block, inline”
التحكم في:Display
.طريقة عرض العنصر
/*
Block
- Take Full width if there no width set
- Add Line Break
- Respect Padding, Margin, Width, Height
Inline
- Dose not Respect Width, Height
- Respect Padding and Margin [Just left + right]
- Dose not Add Line Break
- Allow Element Before and After it
Inline-Block
- Allow Element Before and After it
- Respect Padding, Margin, Width, Height
*/
:مثال
div {
background-color: #eee;
border: 3px solid #333;
width: 200px;
padding: 15px;
margin: 5px;
display: block
}
11
Element Visibility
باستخدام ’ :‘Display: noneسيتم إخفاء العنصر نهائيا ولن يكون له مكان محجوز
داخل الصفحة.
{ .div2
;display: none
}
{ .div2
;visibility: hidden
}
12
Grouping Multiple Selectors, Nesting
.div2 {
color: red;
}
<div>
<p>Paragraph Inside Div</p>
<p class="test">Paragraph Inside Div with Class</p>
</div>
<p class="test">Paragraph Outside Div</p>
div .test {
color: red;
}
13
'Dimensions 'Width, Height
{ div
;width: 70px
;height: 70px
}
’ :Min ‘Width Heightتحديد الحد األدنى لمساحة العنصر ,وتتمدد مساحة العنصر مع مساحة المحتوي.
{ div
;min-width: 150px
;min-height: 100px
}
’ :Max ‘Width Heightتحديد الحد األقصى لمساحة العنصر ,ال تتمدد مساحة العنصر بازدياد
مساحة المحتوي.
{ div
;max-width: 100px
;max-height: 100px
}
مالحوظة! اذا كان العنصر blockستتغير مساحة العنصر وتتمدد مع مساحة المحتوي.
14
Overflow
15
Text النص
16
. تحديد اتجاه النص:Direction
div { direction: rtl } /* rtl => right to left or ltr => left to right */
div { letter-spacing: 5px } /* You can use negative value EX: '-2px' */
17
. إضافة مسافة قبل النص:Text Indent
18
. التحكم في طريقة فصل الكلمة في حالة تخطيها العنصر:Word Break
div {
overflow: hidden;
text-overflow: ellipsis
}
19
Inheritance التوريث
المزيد
<div>
<h1>Heading</h1>
<p>Lorem ipsum dolor sit amet.</p>
</div>
h1 { border: inherit }
20
Font الخط
يمكن استخدام أنواع خطوط كثيرة من هذا الموقع عن طريق اضافتها وربطها:Google Font
. او يمكن تنزيل الخطوط واضفتها في ملف الموقع, <head> داخل وسمHTMLبملف الـ
Google Font
القيمة االفتراضية لحجم الخط,"px" يتم تحديد حجم الخط بالوحدات مثل الــ:Font Size
.16px العادي هي
21
. تحديد شكل للخط مثل النص المائل:Font Style
22
وحداد القياس CSS Units
تقسم الوحدات الي نوع ثابت مثل ” “Absolute length unitsوهذا النوع يضم الـ, px
اما النوع الثاني هو " “Relative length unitsهي وحدات طولية نسبية يحدد طولها بالنسبة
لطول عنصر اخر ويتغير طولها مع تغير طول العنصر االخر.
الوصف Unit
:Pixelsقياس ثابت ال يتغير. Px
نسبة الي العنصر االب. %
2 = 2emضعف الحجم الحالي . em
2 = 2remضحف حجم خط بالنسبه للحجم في الـ.Root rem
” %1 = 1vw “Viewport Widthمن المساحة الظاهره من عرض الشاشة. vw
” %1 = 1vh “Viewport Hightمن المساحة الظاهره من طول الشاشة. vh
المزيد.
23
Mouse Cursor مؤشر الماوس
24
Float and Clear
لكن تحدث مشاكل واخطاء عند, التحكم في مكان العناصر وتوزيعها علي اليسار او اليمين:Float
.استخدام هذه الخاصية لكن يمكن حلها
.Float يجب وضعة بعد نهاية عناصر الـ, Float يستخدم لتصحيح أخطاء الـ:Clear
<div class="parent">
<div class="box">Lorem, ipsum.</div>
<div class="box">Lorem, ipsum.</div>
<div class="box">Lorem, ipsum.</div>
<div class="clearfix"></div> <!-- Fixing float problems -->
</div>
<p>Lorem ipsum dolor sit amet.</p>
25
CSS Calculation
.box {
width: calc( (100% - 50px) / 4 );
margin-left: 10px;
}
26
Opacity الشفافية
27
Position, Z-index
28
:Fixedيكون العنصر ثابت في المكان الذي سيتم تحديده له ,يستخدم في انشاء زر .Go To Top
:Stickyيكون العنصر ثابت بمكانة لكن عند الوصل للعنصر بمؤشر الشاشة يبدأ بالتفاعل
ويتغير مكانة علي حسب المكان الذي قمت بتحديده يستخدم كثيرا في الـ.Navbar
29
“Lists, Table” Styling
30
Pseudo “Classes, Element”
31
Vendor Prefixes
.box {
transition: all .8s;
-webkit-transition: all .8s;
-moz-transition: all .8s;
-ms-transition: all .8s;
-o-transition: all .8s;
}
32
Border Radius
.box {
width: 100px;
height: 100px;
background-color: #f1f1f1;
border: 2px solid #333;
border-radius: 50%; /* Default => 0 */
-webkit-border-radius: 50%;
-moz-border-radius: 50%;
-ms-border-radius: 50%;
-o-border-radius: 50%;
}
.box {
border-top-left-radius: 20px;
border-bottom-right-radius: 20px
}
33
Box Shadow
. يقوم بأضافة ظل خارجي للعنصر ويمكن التحكم في اتجاة الظل ومدي وضوحه:Box Shadow
/* H-Shadow, V-Shadow, Blur, Color, inset 'if you want an inner shadow' */
.box { box-shadow: 0px 13px 11px -10px #00000031 }
34
The Box Model, Box Sizing
هو الطريقة التي يتعامل بها المتصفح مع طول وعرض العنصر والهوامش:Box Model
.والحواف الخاصه به
.one {
width: 300px;
padding: 10px; /* padding left + Right = 20px */
border: solid 10px red; /* border left + Right = 20px */
box-sizing: content-box; /* Default */
}
.one {
width: 300px;
padding: 10px; /* padding left + Right = 20px */
border: solid 10px red; /* border left + Right = 20px */
box-sizing: border-box;
}
35
Transition
.box {
width: 300px;
height: 200px;
background-color: #eee;
transition-duration: .5s ; /* or by ms = '500ms' */
transition-delay: 1s;
transition-property: width, background-color; /* or all */
transition-timing-function: linear; /* Default ease */
}
.االختصار
.box {
/* transition: Property, Duration, Delay, Timing Function */
transition: width .5s 1s linear;
}
.مثال اخر
36
Important Declaration
. ويعبر عن أهميتها وسيقوم المتصف بتطبيقها, تصريح يتم اعطائة لخاصية معينة:Important
37
Vertical Margin Collapse
/*
Margin Collapse
38
CSS Variables
:Variableيتم تحديد قيمة لمتغير واستخدام هذا المتغير في الكثير من العناصر ,بتغير قيمة
المتغير ستتغير كل التنسيقات التي تم استخدام فيها المتغير.
39
Flex Box ‘Parent’
.parent {
display: flex;
flex-direction: row-reverse; /*row, row-reverse, column, column-revers*/
}
.parent {
display: flex;
flex-wrap: wrap; /* nowrap, warp, wrap-reverse */
}
40
.‘flex-diraction, flex-wrap’ هو اختصار لي:Flex Flow
.parent {
display: flex;
flex-flow: row wrap; /* flex-flow: [Flex-Direction] + [Flex-Wrap] */
}
.parent {
display: flex;
flex-flow: row wrap;
justify-content: space-evenly;
}
41
.flex box توزيع العناصر عموديا داخل الـ:Align Items
.parent {
display: flex;
flex-flow: row wrap;
justify-content: space-evenly;
align-items: center; /* Default stretch */
}
.parent {
display: flex;
flex-flow: row wrap;
align-content: flex-start;
}
42
’Flex Box ‘Child
43
Flex Direction ‘row’ اذا كانت قيمة الـ, يقوم بتحديد عرض او طول للعنصر:Flex Basis
.‘ سيتعامل مع الطولcolumn’ سيتعامل مع عرض العنصر ما اذا كانت
44
. محاذه العنصر نفسة عموديا:Align Self
.FLEXBOX FROGGY •
.Flexbox Zombies •
45
Filters
.Filtersالمزيد عن الــ
img {
filter: grayscale(100%); /* Default => none */
-webkit-filter: grayscale(100%);
}
img:hover {
filter: grayscale(0);
-webkit-filter: grayscale(0);
}
46
Gradients تدرجات االلوان
div {
background-image: linear-gradient(90deg,
#d16ba5, #c777b9, #ba83ca, #aa8fd8,
#9a9ae1, #8aa7ec, #79b3f4, #69bff8,
#52cffe, #41dfff, #46eefa, #5ffbf1);
}
div::before {
content: '';
position: absolute;
top: -5px;
height: 5px;
width: 100%;
background-image: linear-gradient(to right, #9c27b0 20%,
#2196f3 20%, #2196f3 40%, #3f51b5 40%, #3f51b5 60%,
#ff5722 60%, #ff5722 80%, #4caf50 80% );
}
47
Pointer Events & Caret Color
p {
/* Default => Auto */
caret-color: red;
}
48
Grid “Parent”
.grid يجب استخدامة لتفعيل استخدام خواص الـ:Display Grid
.grid-parent {
/* grid | inline-grid */
display: grid;
49
. التحكم في لمحتوي بشكل افقي:Justify Content
.grid-parent {
justify-content: space-between;
align-content: flex-end;
}
50
يستخدم لتقسيم محتوي:Template Areas
يتم ربط القيمة بالعناصر باستخدام, gridالـ
. واعطئها نفس االسم الذي تم مسبقاgrid area
-:مثال
.page {
display: grid;
grid-template-columns: repeat(10, 1fr);
grid-template-rows: 60px auto 50px;
height: 100vh;
grid-template-areas: /* Layout */
"logo logo . nav nav nav nav nav nav nav"
"cont cont cont cont cont cont . aside aside aside"
"foot foot foot foot foot foot foot foot foot foot";
}
51
Grid ‘Child’
/*
- grid-column: 'start / end' | 'span [Num Of Colmun]'
- grid-row: 'start / end' | 'span [Num Of Row]'
*/
.child-1 { grid-column: 1 / 3 }
Grid Template Areas ويمكن استخدام, grid column وgrid row اختصار لـ:Grid Area
.للعنصر االب واستخدام األسماء بدال من األرقام
52
, يقوم بتحديد عدد االعمدة المتاحة بشكل تلقائيauto-fill :Min, Max And Auto Fill
. تحديد الحد االدني واالقصي لعرض العمودminmax
.parent {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) /* Magic */}
53
”Transform “2D
/* Rotate( deg=> Degrees | rad=> Radians | grad=> Gradians | turn=> Turn) */
};).child {transform: rotate(45deg
54
. تحريك العنصر في االتجاه االفقي والرأسي:Translate
55
Transform Origin 2D
:Transform Originهي النقطة التي يبدأ منها تأثير الــ , transformوبستخدام هذه الخاصية
يمكنك اختيار المكان الذي تريد ان يبدة منه الــ.transform
معلومات أ كثر.
56
Transform 3D
/* rotate3d(x, y, z, deg) */
.child { transform: rotate3d(0, 1, 0, 60deg)}
57
:Translate 3Dتحريك العنصر في األتجاه االفقي والرأسي واألمامي.
ملحوظة! ال يعمل الـ Translate 3Dفي االتجاة ,Zيجب اضافة خاصية Prespactiveلألب أوال.
:Perspectiveيقوم بتحديد قيمة المسافة بين العنصر وعين المستخدم او منطقة الرؤية.
58
يستخدم ألخفاء او اظهار الوجه:Backface Visibility
وهذا في حالة كنت تستخدم,الخلفي للعنصر
.Transform Rotate
/* Default Visible */
.face { backface-visibility: hidden }
/* Default: flat */
.box { transform-style: preserve-3d }
59
Animation
تحدثAnimoation يستخدم ألنشاء عدد معين من االطارات المكون من تأثيرات:Keyframes
.بالترتيب
.box {
animation-name: change-color;
animation-duration: 6s; /* Default: 0 */
}
/* @keyframes Name */
@keyframes change-color {
60
.Animation تستخدم لتحديد عدد مرات تنفيذ تأثير الـ:Animation Iteration Count
.spinner {
background-color: #eee;
width: 50px;
height: 50px;
margin: 300px auto;
border: solid 4px rgb(61, 107, 233);
border-left: solid 4px #eee ;
border-radius: 50%;
animation-name: spinner;
animation-duration: 1s;
animation-iteration-count: infinite;
animation-timing-function: linear;
@keyframes spinner {
0% { transform: rotate(0deg); }
61
يمكن التنفيذ بشكل عكسي او بشكل,Animation أتجاة تنفيذ الـ:Animation Direction
.ترددي
.box {
. الطريقة المختصرة:Animation
.box {
62
CSS Selectors
63
تحديد كل العناصر التي تحتوي علي
} { ]”[title=”test ][Atrribute=value
”title=”test
] Input[type=”text”] { } Element[Atrribute=valueتحديد كل عناصر ><input type=”text
تحديد كل عناصر ال ـ titleالتي تحتوي علي
} { ][title~=box ][Attribute~=value
كلمة .box
تحديد كل عناصر الـ titleالتي تحتوي علي
{ ][title*=bo } ][Attribute*=value
الحروف المحددة مثل ”“bo
تحديد كل عناصر الـ titleالتي تبدأ بـ ”“b { ][title^=b } ][Attribute^=value
تحديد كل عناصر الـ> <pبشرط ان تكون
{ p:first-child } :frist-child
االبن االول داخل االب الخاص بها.
تحديد كل عناصر الـ> <pبشرط ان تكون
{ p:last-child } :last-child
االبن االخير داخل االب الخاص بها.
تحديد عنصر الـ> <pاالول من نوعه داخل
{ p:first-fo-type } :first-fo-type
االب الخاص به.
تحديد عنصر الـ> <divاالخير من نوعة داخل
{ div:last-of-type } :last-fo-type
االب الخاص بة.
تحديد عنصر الـ> <pبشرط ان يكون الطفل
{ p:only-child } :only-child
الوحيد داخل االب الخاص به.
تحديد كل عناصر الـ> <pمعدا التي تحتوي
علي .class
{ )p:not(.class } ):not(Selector
ملحوظه! يمكن استخدام كل انواع
الـ ,Selectorالمزيد.
تحديد كل عناصر الـ> <pبشرط ان يكون
االبن الثاني داخل االب الخاص به.
{ )p:nth-child(2 } ):nth-child(n
ملحوظه! هناك طريق لتحديد العناصر مثل
oddو evenالمزيد.
تحديد عنصر الـ> <pبشرط ان يكون االبن
{ )p:nth-last-child(2 } ):nth-last-child( n
الثاني من االسفل.
تحديد عنصر الـ> <pالرابع من نوعه داخل
{ )p:nth-of-type(4 } ):nth-fo-type(n
االب الخاص به.
64
-: Selectorsامثلة عن استخدامات بعض الـ
:root {
--mainColor: #673ab7;
--mainColorLight: #9c56ff
}
.Selection •
::selection {
background-color: var(--mainColorLight);
color: #fff
}
.Placeholder •
يمكن استخدمها لحديد وأضافة
.placeholder التنسيقات علي خاصية
65
Media Queries & Responsive Designs
:Media Queriesقواعد يتم استخدامها لتنفيذ تطبيق متجاوب مع وسائط وأبعاد الشاشات
المختلفة.
وهناك انواع من الـ Media Queriesمثل الـ Printوهي مسؤوله عن وضع الطباعه والتنسيقات
التي ستوضع بها ستكون خاصه بوضع الطباعه فقط.
ملحوظة! يجب استخدام meta viewportوهي تعبر عن المساحة المرئيه من الموقع لدي
المستخدم وهي تساعد علي انشاء موقع متجاوب ,المزيد.
المزيد.
66
CSS Global Values
:Inheritيرث العنصر قيمة الخاصية من قيمة خصية العنصر االب الذي بداخلة.
:Initialيقوم بأرجاع قيمة الخاصية الي القيمة األفتراضية التي تم انشائة عليها.
:Unsetسيعمل عمل الـ inheritاذا كانت الخاصية قابلة للتوريث ,وسيعمل عمل الـ initialاذا
كانت الخاصية غير قابلة للتوريث.
:Revertيقوم بإعادة قيمة الخواص الي الوضع االفتراضي الخاص بالمتصفح ""User Agent
وتختلف القيمة االفتراضية بأختالف المتصفحات احيانا.
:Allيرمز الي كل خواص الـ CSSوتحديد قيمة هذه الخاصية يؤثر علي كل خواص ال.CSS
67
Important links
68