کارگاه آموزش ی توسعه وب بخش دوم CSS - ارائه : عباس نادری انجمن علمی دانشجویی مهندس ی کامپیوتر نسخه 1 دانشگاه شهید بهشتی CSS چیست ؟ • •معمول ترین.

Download Report

Transcript کارگاه آموزش ی توسعه وب بخش دوم CSS - ارائه : عباس نادری انجمن علمی دانشجویی مهندس ی کامپیوتر نسخه 1 دانشگاه شهید بهشتی CSS چیست ؟ • •معمول ترین.

Slide 1

‫کارگاه آموزش ی توسعه وب‬
‫بخش دوم ‪CSS -‬‬

‫ارائه‪ :‬عباس نادری‬
‫انجمن علمی دانشجویی‬
‫مهندس ی کامپیوتر‬
‫نسخه ‪1‬‬

‫دانشگاه شهید بهشتی‬

‫‪ CSS‬چیست ؟‬

‫•‬
‫•معمول ترین استفاده ‪ CSS‬برای قالب بندی اسناد وب )‪ (HTML‬منظور می شود‪.‬‬
‫•با پیچیده شدن وب ها‪ ،‬تصمیم بر آن شد تا محتوا از قالب بندی تفکیک شود و توسعه وب تسهیل‬
‫‪ CSS‬یا ‪ Casacading Style Sheets‬یک استاندارد قالب بندی ظاهری اسناد است‪.‬‬

‫گردد‪.‬‬

‫•‬

‫‪ CSS‬سه نسخه اصلی دارد‪:‬‬

‫•‬
‫•‪ :CSS 2‬در سال ‪ 1998‬توسط ‪ W3C‬استاندارد شد و هنوز به عنوان استاندارد بکار می رود‪.‬‬
‫•‪ :CSS 3‬هنوز در دست توسعه توسط ‪ W3C‬است‪.‬‬
‫‪ :CSS 1‬در سال ‪ 1996‬توسط ‪ W3C‬استاندارد شد‪.‬‬

‫•‬

‫‪ CSS‬به دلیل امکان استفاده مجدد‪ ،‬به شدت توسعه وب را ساده و سریع می کند‪ .‬همچنین قالب‬

‫بندی صفحات با استفاده از آن در قالب تیمی مقدور خواهد بود‪.‬‬

‫•‬

‫‪ CSS‬از طریق انتخابگرها قالب بندی را سرعت می بخشد‪ .‬همچنین از موتور انتخابگر ‪ CSS‬در‬

‫کاربردهای دیگر بهره فراوان برده می شود‪.‬‬

‫•‬

‫‪ :Layout Engine‬برنامه ایست در کاوشگرها که سند ‪ HTML‬و فایل ‪ CSS‬را دریافت کرده‪،‬‬

‫خروجی گرافیکی بر روی صفحه تولید می نماید‪.‬‬

‫•‬

‫‪ :Selector Engine‬موتوریست بر روی کاوشگر که زیرمجموعه ای از برچسب های ‪ HTML‬را‬

‫انتخاب می کند‪.‬‬

:‫ با چند مثال آنرا بررس ی می کنیم‬،‫ گرامر بسیار ساده ای دارد‬CSS
Template:
Selection {
Property: value;
Property: value;
//Comment /*Comment */
}
Example:
div.main {
background-color:#777777;
border-width: 1px;
border-style: solid;
font-family: ‘Tahoma’;
}



‫•‬
‫•در سه جای مختلف می توان از ‪ CSS‬استفاده کرد‪:‬‬

‫‪ CSS‬جزئیات گرامری مختلفی نیز دارد که در طی این ارائه با آنها بیشتر آشنا خواهیم شد‪.‬‬

‫•‬
‫•برچسب های ‪ Style‬در داخل فایل ‪ :HTML‬می توان با افزودن برچسب ‪ Style‬در ‪Head‬یا ‪Body‬‬
‫فایل های ‪ :CSS‬می توان ‪ CSS‬را در فایلی جداگانه نوشت و آنرا در ‪ HTML‬افزود‪.‬‬

‫یک سند‪ CSS ،‬تعریف کرد‪.‬‬

‫•‬

‫صفت ‪ Style‬برای برچسب ها‪ :‬می توان در یکی از صفتهای هر برچسب‪ CSS ،‬آنرا تعریف کرد‪ .‬در این‬

‫حالت دیگر انتخابگر مطرح نیست و قالب بندی تنها برای آن برچسب اعمال می شود‪.‬‬

‫•‬
‫•استفاده از حالت سوم (‪ )Inline CSS‬توصیه نمی شود و جدابودن محتوی از قالب را زیر سوال می‬
‫سه نوع تعریف ‪ CSS‬می توانند همزمان باشند‪ .‬اولویت آنها به ترتیب افزایش می یابد‪.‬‬

‫برد‪ ،‬اما در جاهای خاص ی استفاده از آن کار را راحتتر می کند‪.‬‬

:HTML ‫ جدا و استفاده از آن در‬CSS ‫تعریف در فایل‬
//SomeFile.css
input[text] {
width:200px;
background-color:#000000;
border:solid 0px;
}







:HTML ‫ در بدنه سند‬CSS ‫تعریف‬






:‫ در صفت یک برچسب‬CSS ‫تعریف‬


This is some text with tahoma font






‫چگونگی انتخاب برچسبها‬

‫•‬

‫براي مشخص كردن اينكه يك ‪ CSS‬به كدامين اشياء يك صفحه اعمال شود‪ ،‬بايد از انتخابگرها استفاده‬

‫نمود‪ .‬هر انتخاب گر يك يا چند ش يء در يك صفحه ‪ HTML‬را انتخاب مي كند و سپس مي توان قالب هاي‬

‫مورد نظر را به آن اعمال كرد‪.‬‬

‫•‬

‫انتخابگرهاي ‪ CSS‬تنوع و قدرت به سزايي دارند بنابراين در اين بخش در حدي كه نيازهاي اوليه مرتفع‬

‫شوند آنها را بررس ي خواهيم كرد‪.‬‬

‫•‬

‫انتخابگر ها در دو نحوه اوليه تعريف ‪ CSS‬ها قابل استفاده هستند به قالب زير‪:‬‬
‫{ ‪SelectorStatement‬‬
‫;‪Css Properties & Values‬‬

‫}‬

‫انتخاب تمام برچسب ها ‪* :‬‬
‫انتخاب برچسب هاي خاص‪tagName :‬‬
‫انتخاب برچسبي از زيربرچسب هاي يك برچسب ديگر‪ParentTag DescendantTag :‬‬
‫انتخاب برچسبي از فرزندان يك برچسب ديگر ‪ParentTag > ChildTag :‬‬
‫انتخاب برچسبي بعد از يك برچسب ديگر‪Tag1 + Tag2 :‬‬
‫انتخاب برچسبي با صفتي خاص‪Tag[attrib=“value”] :‬‬
‫آنتخاب يك برچسب در وضعيت هاي خاص‪:‬‬
‫لينك ديده نشده ‪Tag:link‬‬

‫برچسبي كه ماوس رويش است ‪Tag:hover‬‬

‫لينك ديده شده ‪Tag:visited‬‬

‫برچسب درحال كليك ‪Tag:active‬‬
‫برچسب فعال صفحه ‪Tag:focus‬‬

‫•‬

‫همانطور كه قبل ذكر شد‪ ،‬هر بچسب در ‪ HTML‬مي تواند صفات خاص ي را داشته باشد‪ .‬صفاتي كه در‬

‫‪ CSS‬به ما كمك مي كنند‪ ،‬دو صفت ‪ class , id‬هستند‪ .‬با اختصاص دادن اين دو صفت به يك برچسب‬

‫در ‪ HTML‬مي توان ويژگيهاي ‪ CSS‬آنرا به سادگي كنترل كرد‪.‬‬

‫•‬

‫با تعريف يك كلس خاص براي برچسبي ‪ ،‬مي توان آنرا جزو دسته اي قرار داد كه ويژگيهاي ‪CSS‬مشترك‬

‫خاص ي بر روي همگي آنها اعمال شود‪.‬‬

‫•‬

‫با تعريف يك مشخصه منحصره (‪ )Unique Identifier‬براي يك برچسب‪ ،‬مي توان كنترل هاي‬

‫خاص ي از طريق ‪CSS‬و جاوااسكريپت بر روي آن برچسب اعمال كرد‪.‬‬

‫•‬

‫بايد توجه گردد كه ‪ id‬هيچ دو برچسبي در يك سند ‪HTML‬نبايد يكسان باشند‪ ،‬در غير اينصورت نتايج‬

‫قابل پيش بيني نخواهد بود‪.‬‬

*{
font-family: “Tahoma”, “Trebuchet”,”MS Sans Serif”
}
div.Container {
background-color:#777777;
border-width: 1px;
}
P#title {
font-weight:bold;
}
H1 + P {
font-style:italic;
}
input [type=‘button’] {
border-style:none;
}
Body Form > input[type=‘text’] {
text-align:center;
}
DIV P * [title] {
color:#ffffff;
}

‫•‬

‫براي اينكه ‪ CSS‬خاص ي را به چند انتخابگر يكجا اعمال كنيم‪ ،‬مي توانيم آنها را به صورت گروهي قرار‬

‫دهيم‪:‬‬
‫{ ]’‪div.Container , p , input[type=‘text‬‬
‫; ’‪font-family: ‘Tahoma’, ‘Comic Sans MS‬‬
‫}‬

‫•‬
‫• ‪CSS‬با استفاده از عبارات جاوااسكريپت مي تواند مقادير پويا (نسبت به شرايط ‪ )Client‬را به‬
‫در صورتي كه چند دستور يكسان ‪ CSS‬به يك برچسب خاص اعمال شوند‪ ،‬آخرين آنها باقي مي ماند‪.‬‬

‫‪ Property‬ها اعمال كند‪:‬‬
‫;‪Width: expression( document.width /2 )px‬‬

‫مشخصه هاي استاندارد ‪CSS 2‬‬

‫‪o‬‬
‫‪(scroll,fixed)o‬‬

‫‪ : Background‬خلصه اي براي تنظيم تمام مشخصات ‪Background‬‬
‫‪ : Background-Attachement‬وضعيت قرارگيري تصوير در‬

‫‪ ،Background‬در صورتي كه ‪fixed‬باشد‪ ،‬با جابجايي صفحه پشت صفحه آن حركت نخواهد كرد‪.‬‬

‫‪o‬‬
‫‪ :Background-image o‬يا مقدار ‪ none‬مي گيرد و يا با استفاده از )‪URL(adress‬يك آدرس‬
‫)‪ : Background-color (RGB Value‬رنگ پشت صفحه‬

‫فايل تصويري (آدرس وب)‬

‫‪o‬‬
‫‪ :Background-repeato‬در صورتي كه از تصوير استفاده شود‪ ،‬روش تكرار آنرا مشخص مي كند‪.‬‬
‫‪ :Background-position‬مقاديري مانند … ‪top left, center center ,‬‬

‫مقادير مجاز عبارتند از ‪no-repeat, repeat-x,repeat-y,repeat‬‬

‫‪o‬‬
‫‪ :Border-widtho‬عرض حاشيه (ضخامت آن) به عدد‪ ،‬درصد و واحد هاي ديگر اندازه‬
‫‪ :Border-coloro‬رنگ حاشيه به ‪RGB‬‬
‫‪ :Border-styleo‬نوع حاشيه از مقادير ‪none, hidden, dotted, dashed, solid,‬‬
‫‪ :Border‬خلصه اي براي تنظيم مشخصات حاشيه‪ ،‬به ترتيب عرض‪ ،‬نوع و رنگ مي گيرد‪.‬‬

‫‪double, groove, ridge, inset, outset‬‬

‫‪o‬‬

‫براي تغيير تنظيمات مربوط به حاشيه نواحي مختلف (باال‪ ،‬پايين‪ ،‬چپ‪ ،‬راست)مي توانيد از چهار ويژگي باال‬

‫به همراه نام طرف مورد نظر استفاده نماييد‪ ،‬براي مثال‪:‬‬

‫‪o‬‬
‫‪Border-top-coloro‬‬
‫‪Border-bottomo‬‬

‫‪Border-left-width‬‬

o

url(file), auto, ‫ مقادير مجاز عبارتند از‬،‫ شمايل اشاره گر ماوس را معين مي سازد‬:Cursor

crosshair, default, pointer, move, e-resize, ne-resize, nw-resize , nresize, se-resize, sw-resize, s-resize, w-resize , text, wait , help
none, inline, block, list- ‫ مقادير مجاز عبارتند از‬،‫ نحوه نمايش يك برچسب‬:Display

o

item, run-in, compact, marker, table, inline-table , ….

left,

right,

‫ مقادير مجاز عبارتند از‬،‫ گرايش و شناوري يك برچسب به طرفي خاص‬:Float

o

none
Static, Relative, ‫ مقادير مجاز عبارتند از‬،‫ نحوه قرارگيري يك برچسب در يك سند‬:Position

o

Absolute, Fixed

‫‪o‬‬
‫‪ :Line-Heighto‬فاصله بين دو خط متن در سند‬
‫‪ :Max-Heighto‬حداكثر ارتفاعي كه يك برچسب مي تواند داشته باشد‬
‫‪ :Min-Heighto‬حداقل ارتفاع يك برچسب‬
‫‪ :Widtho‬عرض يك برچسب‬
‫‪ :Max-Widtho‬حداكثر عرض يك برچسب‬
‫‪ :Min-Widtho‬حداقل عرض يك برچسب‬
‫‪ :Height‬ارتفاع يك برچسب در سند‪ .‬مشخصه اندازه اي‬

‫‪o‬‬
‫‪ :Font-Familyo‬نام قلم‪ ،‬بهتر است ليستي از قلمها بسته به پشتيباني از سيستم ها انتخاب شود‪.‬‬
‫‪ :Font‬ميانبري براي اعمال مشخصات كامل فونت و قلم‬

‫معموال نوشته هاي فارس ي با قلم ‪ Tahoma‬خوب نمايش داده مي شوند‪.‬‬

‫‪o‬‬

‫‪ :Font-Size‬اندازه قلم‪ .‬هم مي تواند از انواع مقداري قرار داده شود هم مي تواند يكي از مقادير مجاز‬

‫باشد‬

‫‪xx-small, x-small, small, medium, large, x-large, xx-large,‬‬

‫‪smaller, larger‬‬

‫‪o‬‬

‫‪ :Font-Stretch‬كشيدگي فونت (فاصلي افقي مابين حرفهاي آن)يا مقدار عددي يا يكي از مقادير‬

‫‪normal, wider, narrower, ultra-condensed, extra-condensed, condensed,‬‬
‫‪semi-condensed, semi-expanded, expanded, extra-expanded, ultra-expanded‬‬

‫‪o‬‬
‫‪ :Font-Weighto‬يكي از مقادير ‪ normal, bold, bolder, lighter‬و يا مقدار عددي‬
‫‪ :Font-Style‬يكي از مقادير ‪Normal, Italic, Oblique‬‬

o
none , url(file) :List-Style-Imageo
inside, outside :List-style-Positiono
‫ موارد مجاز عبارتند از‬،‫ شكل موارد ليست‬:List-Style-Typeo

‫ موقعيت و تصوير ليست را مي گيرد‬، ‫ نوع‬،‫ به ترتيب‬.‫ ميانبري براي تنظيمات ليست‬:List-Style

none, disc, circle,

square, decimal, decimal-leading-zero, lower-roman, upper-roman,
lower-alpha,

upper-alpha,

lower-greek,

lower-latin,

upper-latin,

hebrew, armenian, georgian, cjk-ideographic, hiragana, katakana,
hiragana-iroha, katakana-iroha

)auto ‫ فاصله علمت از نوشتار (مقدار يا‬:Marker-Offset

o

‫‪o‬‬

‫‪ :Margin‬ميانبري براي تنظيمات كناره‪ .‬به ترتيب اندازه كناره هاي باال‪ ،‬راست‪ ،‬پايين و چپ را مي گيرد‬

‫(ساعتگرد)‬

‫‪o‬‬

‫‪ :Margin-left, Margin-right, Margin-top, Margin-bottom‬مقدار كناره‪ ،‬مقدار يا‬

‫‪auto‬‬

‫‪o‬‬
‫‪ :Padding-left, Padding-right, Padding-top, Padding-bottomo‬مقدار اليي‬
‫‪ :Padding‬ميانبري براي تنظيم مشخصات اليي گذاري‪ ،‬به ترتيب باال‪ ،‬راست‪ ،‬پايين و چپ‬

‫گذاري‪ ،‬مقدار يا ‪auto‬‬

‫‪o‬‬
‫‪ :Outline-coloro‬رنگ خط حاشيه به ‪RGB‬‬
‫‪ :Outline-styleo‬نوع خط حاشيه يك ش يء‪ ،‬انوع مجاز عبارتند از ‪none, dotted, dashed,‬‬
‫‪ :Outline‬ميانبري براي تمام تنظيمات خط حاشيه‪ ،‬به ترتيب رنگ‪ ،‬نوع و عرض‬

‫‪solid , double , groove, ridge, inset, outset‬‬

‫‪o‬‬

‫‪ :Outline-width‬قطوري خط حاشيه‪ ،‬مقدار عددي يا يكي از مقادير ‪thin, thick, medium‬‬

‫‪o‬‬

‫‪ :Overflow‬در صورتي كه محتويات يك برچسب در آن جاي نگيرند‪ ،‬اين مشخصه معين مي سازد كه‬

‫چه اتفاقي بيافتد‪ .‬مقادير مجاز عبارتند از ‪Visible, Hidden, Auto, Scroll‬‬

‫‪o‬‬

‫‪ :Position‬نحوه قرارگيري برچسب نسبت به سند‪ ،‬مقادير مجاز عبارتند از ‪Static, Relative,‬‬

‫‪Absolute, Fixed‬‬

‫‪o‬‬

‫‪ :Vertical-Align‬نحوه قرارگيري عمودي يك برچسب در داخل برچسب پدر خود را مشخص مي كند‪.‬‬

‫مقادير مجاز عبارتند از ‪baseline, sub, super, top, text-top, middle, bottom,‬‬
‫‪ text-bottom‬و يا مقدار عددي‬

‫‪o‬‬

‫‪ :Z-Index‬اولويت قرارگيري در بعد سوم در صفحه (يعني جلو پشت ديگر برچسب ها)‪ Auto .‬يا يك‬

‫عدد‬

‫‪o‬‬

‫‪ :Border-Collapse‬معين مي سازد كه حواش ي جداول جدا باشند و يا يك مجموعه خط بهم‬

‫پيوسته باشند‪ .‬مقادير مجاز ‪Separate , Collapse‬‬

‫‪o‬‬
‫‪ :Empty-Cellsٍo‬مشخص مي كند كه سلول هاي خالي در مدل ‪ Seperate‬نمايش داده شوند و يا‬
‫‪ :Border-Spacing‬فاصله ميان دو حاشيه جدول‪ ،‬تنها در صورتي كه ‪ Seperate‬باشد‪.‬‬

‫خير‪ .‬مقادير مجاز ‪Show/Hide‬‬

‫‪o‬‬

‫‪ :Table Layout‬الگوريتم نحوه نمايش سلولهاي يك جدول‪Auto/Fixed ،‬‬

‫‪o‬‬
‫‪ :Directiono‬جهت متن (و محتويات)يك برچسب را مشخص مي سازد‪ ،‬مقادير مجاز ‪LTR/RTL‬‬
‫‪ :Text-Aligno‬مقادير مجاز ‪Left, Right, Center, Justify‬‬
‫‪ :Text-Decorationo‬افزودن افكتي به متن‪ ،‬مقادير مجاز عبارتند از ‪none, underline,‬‬
‫‪ :Color‬رنگ يك متن را مشخص مي سازد‪RGB ،‬‬

‫‪overline, line-through, blink‬‬

‫‪o‬‬
‫‪ :Word-Spacingo‬فاصله ميان لغات يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Letter-Spacingo‬فاصله ميان حروف يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Text-Indent‬تو رفتگي اولين خط يك متن‪ .‬مقدار عددي‬

‫تسلط كامل بر ‪CSS‬‬

‫‪o‬‬

‫در ‪ CSS‬رنگها را به دو شیوه می توان مشخص کرد‪:‬‬

‫‪o‬‬
‫‪o‬استفاده از نام رنگ‬

‫تعیين مقدار ‪ 24‬بیتی ‪ RGB‬آنها‬

‫‪o‬‬

‫در روش اول ‪ 16‬میلیون رنگ مختلف برای انتخاب وجود دارند‪ ،‬اما در روش دوم حدود ‪ 200‬رنگ با نام‬

‫های مختلف قابل استفاده هستند‪.‬‬

‫‪o‬‬
‫‪o‬برای مشخص کردن رنگ ‪ ،RGB‬پس از قرار دادن علمت ‪ #‬به ترتیب مقدار ‪ R‬و ‪ G‬و ‪ B‬را در مبنای ‪16‬‬
‫برای مشخص کردن رنگ با نام آن‪ ،‬کافیست نام رنگ را بنویسید‪Cyan, Purple :‬‬

‫وارد می کنیم‪#FFFFFF , #00FF00 :‬‬

‫‪o‬‬

‫همچنين می توان برای مشخص کردن رنگ ‪ RGB‬به صورت روبرو عمل کرد‪RGB(100,255,10):‬‬

‫و یا)‪RGB(70%,20%,100%‬‬

‫‪o‬‬

‫تمامی مقادیر اندازه ای در ‪ CSS‬واحد های متفاوتی را می پذیرند‪ .‬پایه ای ترین واحد همان ‪ Pixel‬است‬

‫که با ‪ px‬در انتهای مقدار مشخص می گردد‪ .‬واحدهای دیگر عبارتند از‪:‬‬

‫‪o‬‬
‫‪ :Ino‬اینچ‬
‫‪ :Cmo‬سانتیمتر‬
‫‪ :Mmo‬میلیمتر‬
‫‪ :Emo‬اندازه فونت‬
‫‪ 1/72 :Pto‬اینتچ‬
‫‪pt 12 :Pco‬‬
‫‪ :Pxo‬یک نقطه‬
‫‪ :%‬درصد!‬

‫‪o‬‬

‫شفافیت )‪ (Transparency‬یک عملیات پیچیده برای سیستم هاییست که کارت گرافیکی قدرتمندی‬

‫ندارد و موتور گرافیکی کاوشگر برای پیاده کردن آن بشدت زیر بار قرار می گيرد‪.‬‬

‫‪o‬‬

‫با استفاده از شفافیت می توان جذابیت بصری را بسیار باالتر برد‪ ،‬اما باید دقت داشت که کندی پردازش‬

‫تصویری سایت برای کاربر ایجاد مزاحمت نکند‪.‬‬

‫‪o‬‬
‫‪ o‬برای ایجاد شفافیت در کاوشگرهای استادارد‪ ،‬از ‪ Opacity : .5‬استفاده می شود‪.‬‬
‫‪o‬برای ایجاد شفافیت در ‪ IE‬از )‪ filter:alpha(opacity=50‬استفاده می شود‪.‬‬
‫‪o‬برای اینکه شفافیت در تمامی کاوشگرها درست نمایش داده شود الزم است هردو دستور باال بکار روند‪.‬‬
‫متاسفانه کاوشگر ‪ IE‬برای شفافیت از دستورات خود استفاده می کند که استاندارد نیستند‪.‬‬

‫‪o‬‬

‫کاوشگرهایی مانند ‪ Firefox‬دستورات ‪ CSS‬ویژه ای دارند (البته ‪ IE‬نيز دستورات مخصوص خود را‬

‫داراست) ‪.‬‬

‫‪o‬‬

‫عبارت ‪ –moz-border-radius‬می تواند گوشه های مستطیل ها را از تيزی درآورده و آنها را نرم‬

‫کند‪-moz-border-radius: 5px; :‬‬

‫‪o‬‬

‫استفاده از این عبارت و راه حل های مشابه پیشنهاد نمی شود زیرا این نما تنها در ‪ Firefox‬قابل مشاهده‬

‫خواهد بود‪.‬‬

‫‪o‬‬

‫‪ CSS‬توانایی آنرا داراست که برای رسانه های خاص تفاوت کند! برای مثال می توانید ‪ CSS‬یک سایت‬

‫را طوری تعریف کنید که رنگ نوشته های آن قرمز باشد ولی هنگام پرینت مشکی شود‪.‬‬

‫‪o‬‬

‫برای مشخص کردن اینکه ‪ CSS‬را برای چه رسانه ای می نویسیم‪ ،‬از ‪ @media‬استفاده می کنیم‪:‬‬
‫‪@media screen‬‬
‫};‪* { color:#ff0000‬‬
‫‪@media print‬‬
‫};‪* { color:#000000‬‬

‫رسانه های معمول عبارتند از‪all, braille, handheld, print, projection, screen, tv, :‬‬
‫…‬

‫‪ CSS‬را قورت بده!‬

‫‪o‬‬

‫فایل ‪ HTML‬ای که در تمرینات ‪ HTML‬ساخته اید و تمامی برچسب ها را داراست‪ ،‬با استفاده از تمامی‬

‫برچسب های ‪ CSS‬قالب بندی کنید‪ .‬سعی کنید زیبایی کافی و قالب بندی مناسب برای سند اتفاق بیافتد! در‬

‫داخل سند تنها می توانید برچسبهای ‪ DIV‬و ‪ SPAN‬اضافه کنید و یا به برچسب های موجود ‪ID ,‬‬
‫‪ CLASS‬بیافزایید‪.‬‬

‫‪o‬‬
‫‪o‬آیا می توان با استفاده از ‪ CSS‬منو ساخت؟ اگر بله راه حل را معين کنید‪.‬‬
‫‪o‬مزایا و معایب نوشتن ‪ CSS‬در یک فایل جداگانه را برشمارید‪.‬‬
‫‪o‬با استفاده از ‪ CSS‬یک ‪ taskbar‬برای یک صفحه بسازید که همواره در قسمت پایين پنجره کاوشگر‬
‫بدون استفاده از جداول و تنها با استفاده از ‪ CSS‬یک صفحه سه ستونی (مانند ‪ )SBCE.ir‬بسازید‪.‬‬

‫(نه لزوما انتهای سند) باشد‪.‬‬


Slide 2

‫کارگاه آموزش ی توسعه وب‬
‫بخش دوم ‪CSS -‬‬

‫ارائه‪ :‬عباس نادری‬
‫انجمن علمی دانشجویی‬
‫مهندس ی کامپیوتر‬
‫نسخه ‪1‬‬

‫دانشگاه شهید بهشتی‬

‫‪ CSS‬چیست ؟‬

‫•‬
‫•معمول ترین استفاده ‪ CSS‬برای قالب بندی اسناد وب )‪ (HTML‬منظور می شود‪.‬‬
‫•با پیچیده شدن وب ها‪ ،‬تصمیم بر آن شد تا محتوا از قالب بندی تفکیک شود و توسعه وب تسهیل‬
‫‪ CSS‬یا ‪ Casacading Style Sheets‬یک استاندارد قالب بندی ظاهری اسناد است‪.‬‬

‫گردد‪.‬‬

‫•‬

‫‪ CSS‬سه نسخه اصلی دارد‪:‬‬

‫•‬
‫•‪ :CSS 2‬در سال ‪ 1998‬توسط ‪ W3C‬استاندارد شد و هنوز به عنوان استاندارد بکار می رود‪.‬‬
‫•‪ :CSS 3‬هنوز در دست توسعه توسط ‪ W3C‬است‪.‬‬
‫‪ :CSS 1‬در سال ‪ 1996‬توسط ‪ W3C‬استاندارد شد‪.‬‬

‫•‬

‫‪ CSS‬به دلیل امکان استفاده مجدد‪ ،‬به شدت توسعه وب را ساده و سریع می کند‪ .‬همچنین قالب‬

‫بندی صفحات با استفاده از آن در قالب تیمی مقدور خواهد بود‪.‬‬

‫•‬

‫‪ CSS‬از طریق انتخابگرها قالب بندی را سرعت می بخشد‪ .‬همچنین از موتور انتخابگر ‪ CSS‬در‬

‫کاربردهای دیگر بهره فراوان برده می شود‪.‬‬

‫•‬

‫‪ :Layout Engine‬برنامه ایست در کاوشگرها که سند ‪ HTML‬و فایل ‪ CSS‬را دریافت کرده‪،‬‬

‫خروجی گرافیکی بر روی صفحه تولید می نماید‪.‬‬

‫•‬

‫‪ :Selector Engine‬موتوریست بر روی کاوشگر که زیرمجموعه ای از برچسب های ‪ HTML‬را‬

‫انتخاب می کند‪.‬‬

:‫ با چند مثال آنرا بررس ی می کنیم‬،‫ گرامر بسیار ساده ای دارد‬CSS
Template:
Selection {
Property: value;
Property: value;
//Comment /*Comment */
}
Example:
div.main {
background-color:#777777;
border-width: 1px;
border-style: solid;
font-family: ‘Tahoma’;
}



‫•‬
‫•در سه جای مختلف می توان از ‪ CSS‬استفاده کرد‪:‬‬

‫‪ CSS‬جزئیات گرامری مختلفی نیز دارد که در طی این ارائه با آنها بیشتر آشنا خواهیم شد‪.‬‬

‫•‬
‫•برچسب های ‪ Style‬در داخل فایل ‪ :HTML‬می توان با افزودن برچسب ‪ Style‬در ‪Head‬یا ‪Body‬‬
‫فایل های ‪ :CSS‬می توان ‪ CSS‬را در فایلی جداگانه نوشت و آنرا در ‪ HTML‬افزود‪.‬‬

‫یک سند‪ CSS ،‬تعریف کرد‪.‬‬

‫•‬

‫صفت ‪ Style‬برای برچسب ها‪ :‬می توان در یکی از صفتهای هر برچسب‪ CSS ،‬آنرا تعریف کرد‪ .‬در این‬

‫حالت دیگر انتخابگر مطرح نیست و قالب بندی تنها برای آن برچسب اعمال می شود‪.‬‬

‫•‬
‫•استفاده از حالت سوم (‪ )Inline CSS‬توصیه نمی شود و جدابودن محتوی از قالب را زیر سوال می‬
‫سه نوع تعریف ‪ CSS‬می توانند همزمان باشند‪ .‬اولویت آنها به ترتیب افزایش می یابد‪.‬‬

‫برد‪ ،‬اما در جاهای خاص ی استفاده از آن کار را راحتتر می کند‪.‬‬

:HTML ‫ جدا و استفاده از آن در‬CSS ‫تعریف در فایل‬
//SomeFile.css
input[text] {
width:200px;
background-color:#000000;
border:solid 0px;
}







:HTML ‫ در بدنه سند‬CSS ‫تعریف‬






:‫ در صفت یک برچسب‬CSS ‫تعریف‬


This is some text with tahoma font






‫چگونگی انتخاب برچسبها‬

‫•‬

‫براي مشخص كردن اينكه يك ‪ CSS‬به كدامين اشياء يك صفحه اعمال شود‪ ،‬بايد از انتخابگرها استفاده‬

‫نمود‪ .‬هر انتخاب گر يك يا چند ش يء در يك صفحه ‪ HTML‬را انتخاب مي كند و سپس مي توان قالب هاي‬

‫مورد نظر را به آن اعمال كرد‪.‬‬

‫•‬

‫انتخابگرهاي ‪ CSS‬تنوع و قدرت به سزايي دارند بنابراين در اين بخش در حدي كه نيازهاي اوليه مرتفع‬

‫شوند آنها را بررس ي خواهيم كرد‪.‬‬

‫•‬

‫انتخابگر ها در دو نحوه اوليه تعريف ‪ CSS‬ها قابل استفاده هستند به قالب زير‪:‬‬
‫{ ‪SelectorStatement‬‬
‫;‪Css Properties & Values‬‬

‫}‬

‫انتخاب تمام برچسب ها ‪* :‬‬
‫انتخاب برچسب هاي خاص‪tagName :‬‬
‫انتخاب برچسبي از زيربرچسب هاي يك برچسب ديگر‪ParentTag DescendantTag :‬‬
‫انتخاب برچسبي از فرزندان يك برچسب ديگر ‪ParentTag > ChildTag :‬‬
‫انتخاب برچسبي بعد از يك برچسب ديگر‪Tag1 + Tag2 :‬‬
‫انتخاب برچسبي با صفتي خاص‪Tag[attrib=“value”] :‬‬
‫آنتخاب يك برچسب در وضعيت هاي خاص‪:‬‬
‫لينك ديده نشده ‪Tag:link‬‬

‫برچسبي كه ماوس رويش است ‪Tag:hover‬‬

‫لينك ديده شده ‪Tag:visited‬‬

‫برچسب درحال كليك ‪Tag:active‬‬
‫برچسب فعال صفحه ‪Tag:focus‬‬

‫•‬

‫همانطور كه قبل ذكر شد‪ ،‬هر بچسب در ‪ HTML‬مي تواند صفات خاص ي را داشته باشد‪ .‬صفاتي كه در‬

‫‪ CSS‬به ما كمك مي كنند‪ ،‬دو صفت ‪ class , id‬هستند‪ .‬با اختصاص دادن اين دو صفت به يك برچسب‬

‫در ‪ HTML‬مي توان ويژگيهاي ‪ CSS‬آنرا به سادگي كنترل كرد‪.‬‬

‫•‬

‫با تعريف يك كلس خاص براي برچسبي ‪ ،‬مي توان آنرا جزو دسته اي قرار داد كه ويژگيهاي ‪CSS‬مشترك‬

‫خاص ي بر روي همگي آنها اعمال شود‪.‬‬

‫•‬

‫با تعريف يك مشخصه منحصره (‪ )Unique Identifier‬براي يك برچسب‪ ،‬مي توان كنترل هاي‬

‫خاص ي از طريق ‪CSS‬و جاوااسكريپت بر روي آن برچسب اعمال كرد‪.‬‬

‫•‬

‫بايد توجه گردد كه ‪ id‬هيچ دو برچسبي در يك سند ‪HTML‬نبايد يكسان باشند‪ ،‬در غير اينصورت نتايج‬

‫قابل پيش بيني نخواهد بود‪.‬‬

*{
font-family: “Tahoma”, “Trebuchet”,”MS Sans Serif”
}
div.Container {
background-color:#777777;
border-width: 1px;
}
P#title {
font-weight:bold;
}
H1 + P {
font-style:italic;
}
input [type=‘button’] {
border-style:none;
}
Body Form > input[type=‘text’] {
text-align:center;
}
DIV P * [title] {
color:#ffffff;
}

‫•‬

‫براي اينكه ‪ CSS‬خاص ي را به چند انتخابگر يكجا اعمال كنيم‪ ،‬مي توانيم آنها را به صورت گروهي قرار‬

‫دهيم‪:‬‬
‫{ ]’‪div.Container , p , input[type=‘text‬‬
‫; ’‪font-family: ‘Tahoma’, ‘Comic Sans MS‬‬
‫}‬

‫•‬
‫• ‪CSS‬با استفاده از عبارات جاوااسكريپت مي تواند مقادير پويا (نسبت به شرايط ‪ )Client‬را به‬
‫در صورتي كه چند دستور يكسان ‪ CSS‬به يك برچسب خاص اعمال شوند‪ ،‬آخرين آنها باقي مي ماند‪.‬‬

‫‪ Property‬ها اعمال كند‪:‬‬
‫;‪Width: expression( document.width /2 )px‬‬

‫مشخصه هاي استاندارد ‪CSS 2‬‬

‫‪o‬‬
‫‪(scroll,fixed)o‬‬

‫‪ : Background‬خلصه اي براي تنظيم تمام مشخصات ‪Background‬‬
‫‪ : Background-Attachement‬وضعيت قرارگيري تصوير در‬

‫‪ ،Background‬در صورتي كه ‪fixed‬باشد‪ ،‬با جابجايي صفحه پشت صفحه آن حركت نخواهد كرد‪.‬‬

‫‪o‬‬
‫‪ :Background-image o‬يا مقدار ‪ none‬مي گيرد و يا با استفاده از )‪URL(adress‬يك آدرس‬
‫)‪ : Background-color (RGB Value‬رنگ پشت صفحه‬

‫فايل تصويري (آدرس وب)‬

‫‪o‬‬
‫‪ :Background-repeato‬در صورتي كه از تصوير استفاده شود‪ ،‬روش تكرار آنرا مشخص مي كند‪.‬‬
‫‪ :Background-position‬مقاديري مانند … ‪top left, center center ,‬‬

‫مقادير مجاز عبارتند از ‪no-repeat, repeat-x,repeat-y,repeat‬‬

‫‪o‬‬
‫‪ :Border-widtho‬عرض حاشيه (ضخامت آن) به عدد‪ ،‬درصد و واحد هاي ديگر اندازه‬
‫‪ :Border-coloro‬رنگ حاشيه به ‪RGB‬‬
‫‪ :Border-styleo‬نوع حاشيه از مقادير ‪none, hidden, dotted, dashed, solid,‬‬
‫‪ :Border‬خلصه اي براي تنظيم مشخصات حاشيه‪ ،‬به ترتيب عرض‪ ،‬نوع و رنگ مي گيرد‪.‬‬

‫‪double, groove, ridge, inset, outset‬‬

‫‪o‬‬

‫براي تغيير تنظيمات مربوط به حاشيه نواحي مختلف (باال‪ ،‬پايين‪ ،‬چپ‪ ،‬راست)مي توانيد از چهار ويژگي باال‬

‫به همراه نام طرف مورد نظر استفاده نماييد‪ ،‬براي مثال‪:‬‬

‫‪o‬‬
‫‪Border-top-coloro‬‬
‫‪Border-bottomo‬‬

‫‪Border-left-width‬‬

o

url(file), auto, ‫ مقادير مجاز عبارتند از‬،‫ شمايل اشاره گر ماوس را معين مي سازد‬:Cursor

crosshair, default, pointer, move, e-resize, ne-resize, nw-resize , nresize, se-resize, sw-resize, s-resize, w-resize , text, wait , help
none, inline, block, list- ‫ مقادير مجاز عبارتند از‬،‫ نحوه نمايش يك برچسب‬:Display

o

item, run-in, compact, marker, table, inline-table , ….

left,

right,

‫ مقادير مجاز عبارتند از‬،‫ گرايش و شناوري يك برچسب به طرفي خاص‬:Float

o

none
Static, Relative, ‫ مقادير مجاز عبارتند از‬،‫ نحوه قرارگيري يك برچسب در يك سند‬:Position

o

Absolute, Fixed

‫‪o‬‬
‫‪ :Line-Heighto‬فاصله بين دو خط متن در سند‬
‫‪ :Max-Heighto‬حداكثر ارتفاعي كه يك برچسب مي تواند داشته باشد‬
‫‪ :Min-Heighto‬حداقل ارتفاع يك برچسب‬
‫‪ :Widtho‬عرض يك برچسب‬
‫‪ :Max-Widtho‬حداكثر عرض يك برچسب‬
‫‪ :Min-Widtho‬حداقل عرض يك برچسب‬
‫‪ :Height‬ارتفاع يك برچسب در سند‪ .‬مشخصه اندازه اي‬

‫‪o‬‬
‫‪ :Font-Familyo‬نام قلم‪ ،‬بهتر است ليستي از قلمها بسته به پشتيباني از سيستم ها انتخاب شود‪.‬‬
‫‪ :Font‬ميانبري براي اعمال مشخصات كامل فونت و قلم‬

‫معموال نوشته هاي فارس ي با قلم ‪ Tahoma‬خوب نمايش داده مي شوند‪.‬‬

‫‪o‬‬

‫‪ :Font-Size‬اندازه قلم‪ .‬هم مي تواند از انواع مقداري قرار داده شود هم مي تواند يكي از مقادير مجاز‬

‫باشد‬

‫‪xx-small, x-small, small, medium, large, x-large, xx-large,‬‬

‫‪smaller, larger‬‬

‫‪o‬‬

‫‪ :Font-Stretch‬كشيدگي فونت (فاصلي افقي مابين حرفهاي آن)يا مقدار عددي يا يكي از مقادير‬

‫‪normal, wider, narrower, ultra-condensed, extra-condensed, condensed,‬‬
‫‪semi-condensed, semi-expanded, expanded, extra-expanded, ultra-expanded‬‬

‫‪o‬‬
‫‪ :Font-Weighto‬يكي از مقادير ‪ normal, bold, bolder, lighter‬و يا مقدار عددي‬
‫‪ :Font-Style‬يكي از مقادير ‪Normal, Italic, Oblique‬‬

o
none , url(file) :List-Style-Imageo
inside, outside :List-style-Positiono
‫ موارد مجاز عبارتند از‬،‫ شكل موارد ليست‬:List-Style-Typeo

‫ موقعيت و تصوير ليست را مي گيرد‬، ‫ نوع‬،‫ به ترتيب‬.‫ ميانبري براي تنظيمات ليست‬:List-Style

none, disc, circle,

square, decimal, decimal-leading-zero, lower-roman, upper-roman,
lower-alpha,

upper-alpha,

lower-greek,

lower-latin,

upper-latin,

hebrew, armenian, georgian, cjk-ideographic, hiragana, katakana,
hiragana-iroha, katakana-iroha

)auto ‫ فاصله علمت از نوشتار (مقدار يا‬:Marker-Offset

o

‫‪o‬‬

‫‪ :Margin‬ميانبري براي تنظيمات كناره‪ .‬به ترتيب اندازه كناره هاي باال‪ ،‬راست‪ ،‬پايين و چپ را مي گيرد‬

‫(ساعتگرد)‬

‫‪o‬‬

‫‪ :Margin-left, Margin-right, Margin-top, Margin-bottom‬مقدار كناره‪ ،‬مقدار يا‬

‫‪auto‬‬

‫‪o‬‬
‫‪ :Padding-left, Padding-right, Padding-top, Padding-bottomo‬مقدار اليي‬
‫‪ :Padding‬ميانبري براي تنظيم مشخصات اليي گذاري‪ ،‬به ترتيب باال‪ ،‬راست‪ ،‬پايين و چپ‬

‫گذاري‪ ،‬مقدار يا ‪auto‬‬

‫‪o‬‬
‫‪ :Outline-coloro‬رنگ خط حاشيه به ‪RGB‬‬
‫‪ :Outline-styleo‬نوع خط حاشيه يك ش يء‪ ،‬انوع مجاز عبارتند از ‪none, dotted, dashed,‬‬
‫‪ :Outline‬ميانبري براي تمام تنظيمات خط حاشيه‪ ،‬به ترتيب رنگ‪ ،‬نوع و عرض‬

‫‪solid , double , groove, ridge, inset, outset‬‬

‫‪o‬‬

‫‪ :Outline-width‬قطوري خط حاشيه‪ ،‬مقدار عددي يا يكي از مقادير ‪thin, thick, medium‬‬

‫‪o‬‬

‫‪ :Overflow‬در صورتي كه محتويات يك برچسب در آن جاي نگيرند‪ ،‬اين مشخصه معين مي سازد كه‬

‫چه اتفاقي بيافتد‪ .‬مقادير مجاز عبارتند از ‪Visible, Hidden, Auto, Scroll‬‬

‫‪o‬‬

‫‪ :Position‬نحوه قرارگيري برچسب نسبت به سند‪ ،‬مقادير مجاز عبارتند از ‪Static, Relative,‬‬

‫‪Absolute, Fixed‬‬

‫‪o‬‬

‫‪ :Vertical-Align‬نحوه قرارگيري عمودي يك برچسب در داخل برچسب پدر خود را مشخص مي كند‪.‬‬

‫مقادير مجاز عبارتند از ‪baseline, sub, super, top, text-top, middle, bottom,‬‬
‫‪ text-bottom‬و يا مقدار عددي‬

‫‪o‬‬

‫‪ :Z-Index‬اولويت قرارگيري در بعد سوم در صفحه (يعني جلو پشت ديگر برچسب ها)‪ Auto .‬يا يك‬

‫عدد‬

‫‪o‬‬

‫‪ :Border-Collapse‬معين مي سازد كه حواش ي جداول جدا باشند و يا يك مجموعه خط بهم‬

‫پيوسته باشند‪ .‬مقادير مجاز ‪Separate , Collapse‬‬

‫‪o‬‬
‫‪ :Empty-Cellsٍo‬مشخص مي كند كه سلول هاي خالي در مدل ‪ Seperate‬نمايش داده شوند و يا‬
‫‪ :Border-Spacing‬فاصله ميان دو حاشيه جدول‪ ،‬تنها در صورتي كه ‪ Seperate‬باشد‪.‬‬

‫خير‪ .‬مقادير مجاز ‪Show/Hide‬‬

‫‪o‬‬

‫‪ :Table Layout‬الگوريتم نحوه نمايش سلولهاي يك جدول‪Auto/Fixed ،‬‬

‫‪o‬‬
‫‪ :Directiono‬جهت متن (و محتويات)يك برچسب را مشخص مي سازد‪ ،‬مقادير مجاز ‪LTR/RTL‬‬
‫‪ :Text-Aligno‬مقادير مجاز ‪Left, Right, Center, Justify‬‬
‫‪ :Text-Decorationo‬افزودن افكتي به متن‪ ،‬مقادير مجاز عبارتند از ‪none, underline,‬‬
‫‪ :Color‬رنگ يك متن را مشخص مي سازد‪RGB ،‬‬

‫‪overline, line-through, blink‬‬

‫‪o‬‬
‫‪ :Word-Spacingo‬فاصله ميان لغات يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Letter-Spacingo‬فاصله ميان حروف يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Text-Indent‬تو رفتگي اولين خط يك متن‪ .‬مقدار عددي‬

‫تسلط كامل بر ‪CSS‬‬

‫‪o‬‬

‫در ‪ CSS‬رنگها را به دو شیوه می توان مشخص کرد‪:‬‬

‫‪o‬‬
‫‪o‬استفاده از نام رنگ‬

‫تعیين مقدار ‪ 24‬بیتی ‪ RGB‬آنها‬

‫‪o‬‬

‫در روش اول ‪ 16‬میلیون رنگ مختلف برای انتخاب وجود دارند‪ ،‬اما در روش دوم حدود ‪ 200‬رنگ با نام‬

‫های مختلف قابل استفاده هستند‪.‬‬

‫‪o‬‬
‫‪o‬برای مشخص کردن رنگ ‪ ،RGB‬پس از قرار دادن علمت ‪ #‬به ترتیب مقدار ‪ R‬و ‪ G‬و ‪ B‬را در مبنای ‪16‬‬
‫برای مشخص کردن رنگ با نام آن‪ ،‬کافیست نام رنگ را بنویسید‪Cyan, Purple :‬‬

‫وارد می کنیم‪#FFFFFF , #00FF00 :‬‬

‫‪o‬‬

‫همچنين می توان برای مشخص کردن رنگ ‪ RGB‬به صورت روبرو عمل کرد‪RGB(100,255,10):‬‬

‫و یا)‪RGB(70%,20%,100%‬‬

‫‪o‬‬

‫تمامی مقادیر اندازه ای در ‪ CSS‬واحد های متفاوتی را می پذیرند‪ .‬پایه ای ترین واحد همان ‪ Pixel‬است‬

‫که با ‪ px‬در انتهای مقدار مشخص می گردد‪ .‬واحدهای دیگر عبارتند از‪:‬‬

‫‪o‬‬
‫‪ :Ino‬اینچ‬
‫‪ :Cmo‬سانتیمتر‬
‫‪ :Mmo‬میلیمتر‬
‫‪ :Emo‬اندازه فونت‬
‫‪ 1/72 :Pto‬اینتچ‬
‫‪pt 12 :Pco‬‬
‫‪ :Pxo‬یک نقطه‬
‫‪ :%‬درصد!‬

‫‪o‬‬

‫شفافیت )‪ (Transparency‬یک عملیات پیچیده برای سیستم هاییست که کارت گرافیکی قدرتمندی‬

‫ندارد و موتور گرافیکی کاوشگر برای پیاده کردن آن بشدت زیر بار قرار می گيرد‪.‬‬

‫‪o‬‬

‫با استفاده از شفافیت می توان جذابیت بصری را بسیار باالتر برد‪ ،‬اما باید دقت داشت که کندی پردازش‬

‫تصویری سایت برای کاربر ایجاد مزاحمت نکند‪.‬‬

‫‪o‬‬
‫‪ o‬برای ایجاد شفافیت در کاوشگرهای استادارد‪ ،‬از ‪ Opacity : .5‬استفاده می شود‪.‬‬
‫‪o‬برای ایجاد شفافیت در ‪ IE‬از )‪ filter:alpha(opacity=50‬استفاده می شود‪.‬‬
‫‪o‬برای اینکه شفافیت در تمامی کاوشگرها درست نمایش داده شود الزم است هردو دستور باال بکار روند‪.‬‬
‫متاسفانه کاوشگر ‪ IE‬برای شفافیت از دستورات خود استفاده می کند که استاندارد نیستند‪.‬‬

‫‪o‬‬

‫کاوشگرهایی مانند ‪ Firefox‬دستورات ‪ CSS‬ویژه ای دارند (البته ‪ IE‬نيز دستورات مخصوص خود را‬

‫داراست) ‪.‬‬

‫‪o‬‬

‫عبارت ‪ –moz-border-radius‬می تواند گوشه های مستطیل ها را از تيزی درآورده و آنها را نرم‬

‫کند‪-moz-border-radius: 5px; :‬‬

‫‪o‬‬

‫استفاده از این عبارت و راه حل های مشابه پیشنهاد نمی شود زیرا این نما تنها در ‪ Firefox‬قابل مشاهده‬

‫خواهد بود‪.‬‬

‫‪o‬‬

‫‪ CSS‬توانایی آنرا داراست که برای رسانه های خاص تفاوت کند! برای مثال می توانید ‪ CSS‬یک سایت‬

‫را طوری تعریف کنید که رنگ نوشته های آن قرمز باشد ولی هنگام پرینت مشکی شود‪.‬‬

‫‪o‬‬

‫برای مشخص کردن اینکه ‪ CSS‬را برای چه رسانه ای می نویسیم‪ ،‬از ‪ @media‬استفاده می کنیم‪:‬‬
‫‪@media screen‬‬
‫};‪* { color:#ff0000‬‬
‫‪@media print‬‬
‫};‪* { color:#000000‬‬

‫رسانه های معمول عبارتند از‪all, braille, handheld, print, projection, screen, tv, :‬‬
‫…‬

‫‪ CSS‬را قورت بده!‬

‫‪o‬‬

‫فایل ‪ HTML‬ای که در تمرینات ‪ HTML‬ساخته اید و تمامی برچسب ها را داراست‪ ،‬با استفاده از تمامی‬

‫برچسب های ‪ CSS‬قالب بندی کنید‪ .‬سعی کنید زیبایی کافی و قالب بندی مناسب برای سند اتفاق بیافتد! در‬

‫داخل سند تنها می توانید برچسبهای ‪ DIV‬و ‪ SPAN‬اضافه کنید و یا به برچسب های موجود ‪ID ,‬‬
‫‪ CLASS‬بیافزایید‪.‬‬

‫‪o‬‬
‫‪o‬آیا می توان با استفاده از ‪ CSS‬منو ساخت؟ اگر بله راه حل را معين کنید‪.‬‬
‫‪o‬مزایا و معایب نوشتن ‪ CSS‬در یک فایل جداگانه را برشمارید‪.‬‬
‫‪o‬با استفاده از ‪ CSS‬یک ‪ taskbar‬برای یک صفحه بسازید که همواره در قسمت پایين پنجره کاوشگر‬
‫بدون استفاده از جداول و تنها با استفاده از ‪ CSS‬یک صفحه سه ستونی (مانند ‪ )SBCE.ir‬بسازید‪.‬‬

‫(نه لزوما انتهای سند) باشد‪.‬‬


Slide 3

‫کارگاه آموزش ی توسعه وب‬
‫بخش دوم ‪CSS -‬‬

‫ارائه‪ :‬عباس نادری‬
‫انجمن علمی دانشجویی‬
‫مهندس ی کامپیوتر‬
‫نسخه ‪1‬‬

‫دانشگاه شهید بهشتی‬

‫‪ CSS‬چیست ؟‬

‫•‬
‫•معمول ترین استفاده ‪ CSS‬برای قالب بندی اسناد وب )‪ (HTML‬منظور می شود‪.‬‬
‫•با پیچیده شدن وب ها‪ ،‬تصمیم بر آن شد تا محتوا از قالب بندی تفکیک شود و توسعه وب تسهیل‬
‫‪ CSS‬یا ‪ Casacading Style Sheets‬یک استاندارد قالب بندی ظاهری اسناد است‪.‬‬

‫گردد‪.‬‬

‫•‬

‫‪ CSS‬سه نسخه اصلی دارد‪:‬‬

‫•‬
‫•‪ :CSS 2‬در سال ‪ 1998‬توسط ‪ W3C‬استاندارد شد و هنوز به عنوان استاندارد بکار می رود‪.‬‬
‫•‪ :CSS 3‬هنوز در دست توسعه توسط ‪ W3C‬است‪.‬‬
‫‪ :CSS 1‬در سال ‪ 1996‬توسط ‪ W3C‬استاندارد شد‪.‬‬

‫•‬

‫‪ CSS‬به دلیل امکان استفاده مجدد‪ ،‬به شدت توسعه وب را ساده و سریع می کند‪ .‬همچنین قالب‬

‫بندی صفحات با استفاده از آن در قالب تیمی مقدور خواهد بود‪.‬‬

‫•‬

‫‪ CSS‬از طریق انتخابگرها قالب بندی را سرعت می بخشد‪ .‬همچنین از موتور انتخابگر ‪ CSS‬در‬

‫کاربردهای دیگر بهره فراوان برده می شود‪.‬‬

‫•‬

‫‪ :Layout Engine‬برنامه ایست در کاوشگرها که سند ‪ HTML‬و فایل ‪ CSS‬را دریافت کرده‪،‬‬

‫خروجی گرافیکی بر روی صفحه تولید می نماید‪.‬‬

‫•‬

‫‪ :Selector Engine‬موتوریست بر روی کاوشگر که زیرمجموعه ای از برچسب های ‪ HTML‬را‬

‫انتخاب می کند‪.‬‬

:‫ با چند مثال آنرا بررس ی می کنیم‬،‫ گرامر بسیار ساده ای دارد‬CSS
Template:
Selection {
Property: value;
Property: value;
//Comment /*Comment */
}
Example:
div.main {
background-color:#777777;
border-width: 1px;
border-style: solid;
font-family: ‘Tahoma’;
}



‫•‬
‫•در سه جای مختلف می توان از ‪ CSS‬استفاده کرد‪:‬‬

‫‪ CSS‬جزئیات گرامری مختلفی نیز دارد که در طی این ارائه با آنها بیشتر آشنا خواهیم شد‪.‬‬

‫•‬
‫•برچسب های ‪ Style‬در داخل فایل ‪ :HTML‬می توان با افزودن برچسب ‪ Style‬در ‪Head‬یا ‪Body‬‬
‫فایل های ‪ :CSS‬می توان ‪ CSS‬را در فایلی جداگانه نوشت و آنرا در ‪ HTML‬افزود‪.‬‬

‫یک سند‪ CSS ،‬تعریف کرد‪.‬‬

‫•‬

‫صفت ‪ Style‬برای برچسب ها‪ :‬می توان در یکی از صفتهای هر برچسب‪ CSS ،‬آنرا تعریف کرد‪ .‬در این‬

‫حالت دیگر انتخابگر مطرح نیست و قالب بندی تنها برای آن برچسب اعمال می شود‪.‬‬

‫•‬
‫•استفاده از حالت سوم (‪ )Inline CSS‬توصیه نمی شود و جدابودن محتوی از قالب را زیر سوال می‬
‫سه نوع تعریف ‪ CSS‬می توانند همزمان باشند‪ .‬اولویت آنها به ترتیب افزایش می یابد‪.‬‬

‫برد‪ ،‬اما در جاهای خاص ی استفاده از آن کار را راحتتر می کند‪.‬‬

:HTML ‫ جدا و استفاده از آن در‬CSS ‫تعریف در فایل‬
//SomeFile.css
input[text] {
width:200px;
background-color:#000000;
border:solid 0px;
}







:HTML ‫ در بدنه سند‬CSS ‫تعریف‬






:‫ در صفت یک برچسب‬CSS ‫تعریف‬


This is some text with tahoma font






‫چگونگی انتخاب برچسبها‬

‫•‬

‫براي مشخص كردن اينكه يك ‪ CSS‬به كدامين اشياء يك صفحه اعمال شود‪ ،‬بايد از انتخابگرها استفاده‬

‫نمود‪ .‬هر انتخاب گر يك يا چند ش يء در يك صفحه ‪ HTML‬را انتخاب مي كند و سپس مي توان قالب هاي‬

‫مورد نظر را به آن اعمال كرد‪.‬‬

‫•‬

‫انتخابگرهاي ‪ CSS‬تنوع و قدرت به سزايي دارند بنابراين در اين بخش در حدي كه نيازهاي اوليه مرتفع‬

‫شوند آنها را بررس ي خواهيم كرد‪.‬‬

‫•‬

‫انتخابگر ها در دو نحوه اوليه تعريف ‪ CSS‬ها قابل استفاده هستند به قالب زير‪:‬‬
‫{ ‪SelectorStatement‬‬
‫;‪Css Properties & Values‬‬

‫}‬

‫انتخاب تمام برچسب ها ‪* :‬‬
‫انتخاب برچسب هاي خاص‪tagName :‬‬
‫انتخاب برچسبي از زيربرچسب هاي يك برچسب ديگر‪ParentTag DescendantTag :‬‬
‫انتخاب برچسبي از فرزندان يك برچسب ديگر ‪ParentTag > ChildTag :‬‬
‫انتخاب برچسبي بعد از يك برچسب ديگر‪Tag1 + Tag2 :‬‬
‫انتخاب برچسبي با صفتي خاص‪Tag[attrib=“value”] :‬‬
‫آنتخاب يك برچسب در وضعيت هاي خاص‪:‬‬
‫لينك ديده نشده ‪Tag:link‬‬

‫برچسبي كه ماوس رويش است ‪Tag:hover‬‬

‫لينك ديده شده ‪Tag:visited‬‬

‫برچسب درحال كليك ‪Tag:active‬‬
‫برچسب فعال صفحه ‪Tag:focus‬‬

‫•‬

‫همانطور كه قبل ذكر شد‪ ،‬هر بچسب در ‪ HTML‬مي تواند صفات خاص ي را داشته باشد‪ .‬صفاتي كه در‬

‫‪ CSS‬به ما كمك مي كنند‪ ،‬دو صفت ‪ class , id‬هستند‪ .‬با اختصاص دادن اين دو صفت به يك برچسب‬

‫در ‪ HTML‬مي توان ويژگيهاي ‪ CSS‬آنرا به سادگي كنترل كرد‪.‬‬

‫•‬

‫با تعريف يك كلس خاص براي برچسبي ‪ ،‬مي توان آنرا جزو دسته اي قرار داد كه ويژگيهاي ‪CSS‬مشترك‬

‫خاص ي بر روي همگي آنها اعمال شود‪.‬‬

‫•‬

‫با تعريف يك مشخصه منحصره (‪ )Unique Identifier‬براي يك برچسب‪ ،‬مي توان كنترل هاي‬

‫خاص ي از طريق ‪CSS‬و جاوااسكريپت بر روي آن برچسب اعمال كرد‪.‬‬

‫•‬

‫بايد توجه گردد كه ‪ id‬هيچ دو برچسبي در يك سند ‪HTML‬نبايد يكسان باشند‪ ،‬در غير اينصورت نتايج‬

‫قابل پيش بيني نخواهد بود‪.‬‬

*{
font-family: “Tahoma”, “Trebuchet”,”MS Sans Serif”
}
div.Container {
background-color:#777777;
border-width: 1px;
}
P#title {
font-weight:bold;
}
H1 + P {
font-style:italic;
}
input [type=‘button’] {
border-style:none;
}
Body Form > input[type=‘text’] {
text-align:center;
}
DIV P * [title] {
color:#ffffff;
}

‫•‬

‫براي اينكه ‪ CSS‬خاص ي را به چند انتخابگر يكجا اعمال كنيم‪ ،‬مي توانيم آنها را به صورت گروهي قرار‬

‫دهيم‪:‬‬
‫{ ]’‪div.Container , p , input[type=‘text‬‬
‫; ’‪font-family: ‘Tahoma’, ‘Comic Sans MS‬‬
‫}‬

‫•‬
‫• ‪CSS‬با استفاده از عبارات جاوااسكريپت مي تواند مقادير پويا (نسبت به شرايط ‪ )Client‬را به‬
‫در صورتي كه چند دستور يكسان ‪ CSS‬به يك برچسب خاص اعمال شوند‪ ،‬آخرين آنها باقي مي ماند‪.‬‬

‫‪ Property‬ها اعمال كند‪:‬‬
‫;‪Width: expression( document.width /2 )px‬‬

‫مشخصه هاي استاندارد ‪CSS 2‬‬

‫‪o‬‬
‫‪(scroll,fixed)o‬‬

‫‪ : Background‬خلصه اي براي تنظيم تمام مشخصات ‪Background‬‬
‫‪ : Background-Attachement‬وضعيت قرارگيري تصوير در‬

‫‪ ،Background‬در صورتي كه ‪fixed‬باشد‪ ،‬با جابجايي صفحه پشت صفحه آن حركت نخواهد كرد‪.‬‬

‫‪o‬‬
‫‪ :Background-image o‬يا مقدار ‪ none‬مي گيرد و يا با استفاده از )‪URL(adress‬يك آدرس‬
‫)‪ : Background-color (RGB Value‬رنگ پشت صفحه‬

‫فايل تصويري (آدرس وب)‬

‫‪o‬‬
‫‪ :Background-repeato‬در صورتي كه از تصوير استفاده شود‪ ،‬روش تكرار آنرا مشخص مي كند‪.‬‬
‫‪ :Background-position‬مقاديري مانند … ‪top left, center center ,‬‬

‫مقادير مجاز عبارتند از ‪no-repeat, repeat-x,repeat-y,repeat‬‬

‫‪o‬‬
‫‪ :Border-widtho‬عرض حاشيه (ضخامت آن) به عدد‪ ،‬درصد و واحد هاي ديگر اندازه‬
‫‪ :Border-coloro‬رنگ حاشيه به ‪RGB‬‬
‫‪ :Border-styleo‬نوع حاشيه از مقادير ‪none, hidden, dotted, dashed, solid,‬‬
‫‪ :Border‬خلصه اي براي تنظيم مشخصات حاشيه‪ ،‬به ترتيب عرض‪ ،‬نوع و رنگ مي گيرد‪.‬‬

‫‪double, groove, ridge, inset, outset‬‬

‫‪o‬‬

‫براي تغيير تنظيمات مربوط به حاشيه نواحي مختلف (باال‪ ،‬پايين‪ ،‬چپ‪ ،‬راست)مي توانيد از چهار ويژگي باال‬

‫به همراه نام طرف مورد نظر استفاده نماييد‪ ،‬براي مثال‪:‬‬

‫‪o‬‬
‫‪Border-top-coloro‬‬
‫‪Border-bottomo‬‬

‫‪Border-left-width‬‬

o

url(file), auto, ‫ مقادير مجاز عبارتند از‬،‫ شمايل اشاره گر ماوس را معين مي سازد‬:Cursor

crosshair, default, pointer, move, e-resize, ne-resize, nw-resize , nresize, se-resize, sw-resize, s-resize, w-resize , text, wait , help
none, inline, block, list- ‫ مقادير مجاز عبارتند از‬،‫ نحوه نمايش يك برچسب‬:Display

o

item, run-in, compact, marker, table, inline-table , ….

left,

right,

‫ مقادير مجاز عبارتند از‬،‫ گرايش و شناوري يك برچسب به طرفي خاص‬:Float

o

none
Static, Relative, ‫ مقادير مجاز عبارتند از‬،‫ نحوه قرارگيري يك برچسب در يك سند‬:Position

o

Absolute, Fixed

‫‪o‬‬
‫‪ :Line-Heighto‬فاصله بين دو خط متن در سند‬
‫‪ :Max-Heighto‬حداكثر ارتفاعي كه يك برچسب مي تواند داشته باشد‬
‫‪ :Min-Heighto‬حداقل ارتفاع يك برچسب‬
‫‪ :Widtho‬عرض يك برچسب‬
‫‪ :Max-Widtho‬حداكثر عرض يك برچسب‬
‫‪ :Min-Widtho‬حداقل عرض يك برچسب‬
‫‪ :Height‬ارتفاع يك برچسب در سند‪ .‬مشخصه اندازه اي‬

‫‪o‬‬
‫‪ :Font-Familyo‬نام قلم‪ ،‬بهتر است ليستي از قلمها بسته به پشتيباني از سيستم ها انتخاب شود‪.‬‬
‫‪ :Font‬ميانبري براي اعمال مشخصات كامل فونت و قلم‬

‫معموال نوشته هاي فارس ي با قلم ‪ Tahoma‬خوب نمايش داده مي شوند‪.‬‬

‫‪o‬‬

‫‪ :Font-Size‬اندازه قلم‪ .‬هم مي تواند از انواع مقداري قرار داده شود هم مي تواند يكي از مقادير مجاز‬

‫باشد‬

‫‪xx-small, x-small, small, medium, large, x-large, xx-large,‬‬

‫‪smaller, larger‬‬

‫‪o‬‬

‫‪ :Font-Stretch‬كشيدگي فونت (فاصلي افقي مابين حرفهاي آن)يا مقدار عددي يا يكي از مقادير‬

‫‪normal, wider, narrower, ultra-condensed, extra-condensed, condensed,‬‬
‫‪semi-condensed, semi-expanded, expanded, extra-expanded, ultra-expanded‬‬

‫‪o‬‬
‫‪ :Font-Weighto‬يكي از مقادير ‪ normal, bold, bolder, lighter‬و يا مقدار عددي‬
‫‪ :Font-Style‬يكي از مقادير ‪Normal, Italic, Oblique‬‬

o
none , url(file) :List-Style-Imageo
inside, outside :List-style-Positiono
‫ موارد مجاز عبارتند از‬،‫ شكل موارد ليست‬:List-Style-Typeo

‫ موقعيت و تصوير ليست را مي گيرد‬، ‫ نوع‬،‫ به ترتيب‬.‫ ميانبري براي تنظيمات ليست‬:List-Style

none, disc, circle,

square, decimal, decimal-leading-zero, lower-roman, upper-roman,
lower-alpha,

upper-alpha,

lower-greek,

lower-latin,

upper-latin,

hebrew, armenian, georgian, cjk-ideographic, hiragana, katakana,
hiragana-iroha, katakana-iroha

)auto ‫ فاصله علمت از نوشتار (مقدار يا‬:Marker-Offset

o

‫‪o‬‬

‫‪ :Margin‬ميانبري براي تنظيمات كناره‪ .‬به ترتيب اندازه كناره هاي باال‪ ،‬راست‪ ،‬پايين و چپ را مي گيرد‬

‫(ساعتگرد)‬

‫‪o‬‬

‫‪ :Margin-left, Margin-right, Margin-top, Margin-bottom‬مقدار كناره‪ ،‬مقدار يا‬

‫‪auto‬‬

‫‪o‬‬
‫‪ :Padding-left, Padding-right, Padding-top, Padding-bottomo‬مقدار اليي‬
‫‪ :Padding‬ميانبري براي تنظيم مشخصات اليي گذاري‪ ،‬به ترتيب باال‪ ،‬راست‪ ،‬پايين و چپ‬

‫گذاري‪ ،‬مقدار يا ‪auto‬‬

‫‪o‬‬
‫‪ :Outline-coloro‬رنگ خط حاشيه به ‪RGB‬‬
‫‪ :Outline-styleo‬نوع خط حاشيه يك ش يء‪ ،‬انوع مجاز عبارتند از ‪none, dotted, dashed,‬‬
‫‪ :Outline‬ميانبري براي تمام تنظيمات خط حاشيه‪ ،‬به ترتيب رنگ‪ ،‬نوع و عرض‬

‫‪solid , double , groove, ridge, inset, outset‬‬

‫‪o‬‬

‫‪ :Outline-width‬قطوري خط حاشيه‪ ،‬مقدار عددي يا يكي از مقادير ‪thin, thick, medium‬‬

‫‪o‬‬

‫‪ :Overflow‬در صورتي كه محتويات يك برچسب در آن جاي نگيرند‪ ،‬اين مشخصه معين مي سازد كه‬

‫چه اتفاقي بيافتد‪ .‬مقادير مجاز عبارتند از ‪Visible, Hidden, Auto, Scroll‬‬

‫‪o‬‬

‫‪ :Position‬نحوه قرارگيري برچسب نسبت به سند‪ ،‬مقادير مجاز عبارتند از ‪Static, Relative,‬‬

‫‪Absolute, Fixed‬‬

‫‪o‬‬

‫‪ :Vertical-Align‬نحوه قرارگيري عمودي يك برچسب در داخل برچسب پدر خود را مشخص مي كند‪.‬‬

‫مقادير مجاز عبارتند از ‪baseline, sub, super, top, text-top, middle, bottom,‬‬
‫‪ text-bottom‬و يا مقدار عددي‬

‫‪o‬‬

‫‪ :Z-Index‬اولويت قرارگيري در بعد سوم در صفحه (يعني جلو پشت ديگر برچسب ها)‪ Auto .‬يا يك‬

‫عدد‬

‫‪o‬‬

‫‪ :Border-Collapse‬معين مي سازد كه حواش ي جداول جدا باشند و يا يك مجموعه خط بهم‬

‫پيوسته باشند‪ .‬مقادير مجاز ‪Separate , Collapse‬‬

‫‪o‬‬
‫‪ :Empty-Cellsٍo‬مشخص مي كند كه سلول هاي خالي در مدل ‪ Seperate‬نمايش داده شوند و يا‬
‫‪ :Border-Spacing‬فاصله ميان دو حاشيه جدول‪ ،‬تنها در صورتي كه ‪ Seperate‬باشد‪.‬‬

‫خير‪ .‬مقادير مجاز ‪Show/Hide‬‬

‫‪o‬‬

‫‪ :Table Layout‬الگوريتم نحوه نمايش سلولهاي يك جدول‪Auto/Fixed ،‬‬

‫‪o‬‬
‫‪ :Directiono‬جهت متن (و محتويات)يك برچسب را مشخص مي سازد‪ ،‬مقادير مجاز ‪LTR/RTL‬‬
‫‪ :Text-Aligno‬مقادير مجاز ‪Left, Right, Center, Justify‬‬
‫‪ :Text-Decorationo‬افزودن افكتي به متن‪ ،‬مقادير مجاز عبارتند از ‪none, underline,‬‬
‫‪ :Color‬رنگ يك متن را مشخص مي سازد‪RGB ،‬‬

‫‪overline, line-through, blink‬‬

‫‪o‬‬
‫‪ :Word-Spacingo‬فاصله ميان لغات يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Letter-Spacingo‬فاصله ميان حروف يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Text-Indent‬تو رفتگي اولين خط يك متن‪ .‬مقدار عددي‬

‫تسلط كامل بر ‪CSS‬‬

‫‪o‬‬

‫در ‪ CSS‬رنگها را به دو شیوه می توان مشخص کرد‪:‬‬

‫‪o‬‬
‫‪o‬استفاده از نام رنگ‬

‫تعیين مقدار ‪ 24‬بیتی ‪ RGB‬آنها‬

‫‪o‬‬

‫در روش اول ‪ 16‬میلیون رنگ مختلف برای انتخاب وجود دارند‪ ،‬اما در روش دوم حدود ‪ 200‬رنگ با نام‬

‫های مختلف قابل استفاده هستند‪.‬‬

‫‪o‬‬
‫‪o‬برای مشخص کردن رنگ ‪ ،RGB‬پس از قرار دادن علمت ‪ #‬به ترتیب مقدار ‪ R‬و ‪ G‬و ‪ B‬را در مبنای ‪16‬‬
‫برای مشخص کردن رنگ با نام آن‪ ،‬کافیست نام رنگ را بنویسید‪Cyan, Purple :‬‬

‫وارد می کنیم‪#FFFFFF , #00FF00 :‬‬

‫‪o‬‬

‫همچنين می توان برای مشخص کردن رنگ ‪ RGB‬به صورت روبرو عمل کرد‪RGB(100,255,10):‬‬

‫و یا)‪RGB(70%,20%,100%‬‬

‫‪o‬‬

‫تمامی مقادیر اندازه ای در ‪ CSS‬واحد های متفاوتی را می پذیرند‪ .‬پایه ای ترین واحد همان ‪ Pixel‬است‬

‫که با ‪ px‬در انتهای مقدار مشخص می گردد‪ .‬واحدهای دیگر عبارتند از‪:‬‬

‫‪o‬‬
‫‪ :Ino‬اینچ‬
‫‪ :Cmo‬سانتیمتر‬
‫‪ :Mmo‬میلیمتر‬
‫‪ :Emo‬اندازه فونت‬
‫‪ 1/72 :Pto‬اینتچ‬
‫‪pt 12 :Pco‬‬
‫‪ :Pxo‬یک نقطه‬
‫‪ :%‬درصد!‬

‫‪o‬‬

‫شفافیت )‪ (Transparency‬یک عملیات پیچیده برای سیستم هاییست که کارت گرافیکی قدرتمندی‬

‫ندارد و موتور گرافیکی کاوشگر برای پیاده کردن آن بشدت زیر بار قرار می گيرد‪.‬‬

‫‪o‬‬

‫با استفاده از شفافیت می توان جذابیت بصری را بسیار باالتر برد‪ ،‬اما باید دقت داشت که کندی پردازش‬

‫تصویری سایت برای کاربر ایجاد مزاحمت نکند‪.‬‬

‫‪o‬‬
‫‪ o‬برای ایجاد شفافیت در کاوشگرهای استادارد‪ ،‬از ‪ Opacity : .5‬استفاده می شود‪.‬‬
‫‪o‬برای ایجاد شفافیت در ‪ IE‬از )‪ filter:alpha(opacity=50‬استفاده می شود‪.‬‬
‫‪o‬برای اینکه شفافیت در تمامی کاوشگرها درست نمایش داده شود الزم است هردو دستور باال بکار روند‪.‬‬
‫متاسفانه کاوشگر ‪ IE‬برای شفافیت از دستورات خود استفاده می کند که استاندارد نیستند‪.‬‬

‫‪o‬‬

‫کاوشگرهایی مانند ‪ Firefox‬دستورات ‪ CSS‬ویژه ای دارند (البته ‪ IE‬نيز دستورات مخصوص خود را‬

‫داراست) ‪.‬‬

‫‪o‬‬

‫عبارت ‪ –moz-border-radius‬می تواند گوشه های مستطیل ها را از تيزی درآورده و آنها را نرم‬

‫کند‪-moz-border-radius: 5px; :‬‬

‫‪o‬‬

‫استفاده از این عبارت و راه حل های مشابه پیشنهاد نمی شود زیرا این نما تنها در ‪ Firefox‬قابل مشاهده‬

‫خواهد بود‪.‬‬

‫‪o‬‬

‫‪ CSS‬توانایی آنرا داراست که برای رسانه های خاص تفاوت کند! برای مثال می توانید ‪ CSS‬یک سایت‬

‫را طوری تعریف کنید که رنگ نوشته های آن قرمز باشد ولی هنگام پرینت مشکی شود‪.‬‬

‫‪o‬‬

‫برای مشخص کردن اینکه ‪ CSS‬را برای چه رسانه ای می نویسیم‪ ،‬از ‪ @media‬استفاده می کنیم‪:‬‬
‫‪@media screen‬‬
‫};‪* { color:#ff0000‬‬
‫‪@media print‬‬
‫};‪* { color:#000000‬‬

‫رسانه های معمول عبارتند از‪all, braille, handheld, print, projection, screen, tv, :‬‬
‫…‬

‫‪ CSS‬را قورت بده!‬

‫‪o‬‬

‫فایل ‪ HTML‬ای که در تمرینات ‪ HTML‬ساخته اید و تمامی برچسب ها را داراست‪ ،‬با استفاده از تمامی‬

‫برچسب های ‪ CSS‬قالب بندی کنید‪ .‬سعی کنید زیبایی کافی و قالب بندی مناسب برای سند اتفاق بیافتد! در‬

‫داخل سند تنها می توانید برچسبهای ‪ DIV‬و ‪ SPAN‬اضافه کنید و یا به برچسب های موجود ‪ID ,‬‬
‫‪ CLASS‬بیافزایید‪.‬‬

‫‪o‬‬
‫‪o‬آیا می توان با استفاده از ‪ CSS‬منو ساخت؟ اگر بله راه حل را معين کنید‪.‬‬
‫‪o‬مزایا و معایب نوشتن ‪ CSS‬در یک فایل جداگانه را برشمارید‪.‬‬
‫‪o‬با استفاده از ‪ CSS‬یک ‪ taskbar‬برای یک صفحه بسازید که همواره در قسمت پایين پنجره کاوشگر‬
‫بدون استفاده از جداول و تنها با استفاده از ‪ CSS‬یک صفحه سه ستونی (مانند ‪ )SBCE.ir‬بسازید‪.‬‬

‫(نه لزوما انتهای سند) باشد‪.‬‬


Slide 4

‫کارگاه آموزش ی توسعه وب‬
‫بخش دوم ‪CSS -‬‬

‫ارائه‪ :‬عباس نادری‬
‫انجمن علمی دانشجویی‬
‫مهندس ی کامپیوتر‬
‫نسخه ‪1‬‬

‫دانشگاه شهید بهشتی‬

‫‪ CSS‬چیست ؟‬

‫•‬
‫•معمول ترین استفاده ‪ CSS‬برای قالب بندی اسناد وب )‪ (HTML‬منظور می شود‪.‬‬
‫•با پیچیده شدن وب ها‪ ،‬تصمیم بر آن شد تا محتوا از قالب بندی تفکیک شود و توسعه وب تسهیل‬
‫‪ CSS‬یا ‪ Casacading Style Sheets‬یک استاندارد قالب بندی ظاهری اسناد است‪.‬‬

‫گردد‪.‬‬

‫•‬

‫‪ CSS‬سه نسخه اصلی دارد‪:‬‬

‫•‬
‫•‪ :CSS 2‬در سال ‪ 1998‬توسط ‪ W3C‬استاندارد شد و هنوز به عنوان استاندارد بکار می رود‪.‬‬
‫•‪ :CSS 3‬هنوز در دست توسعه توسط ‪ W3C‬است‪.‬‬
‫‪ :CSS 1‬در سال ‪ 1996‬توسط ‪ W3C‬استاندارد شد‪.‬‬

‫•‬

‫‪ CSS‬به دلیل امکان استفاده مجدد‪ ،‬به شدت توسعه وب را ساده و سریع می کند‪ .‬همچنین قالب‬

‫بندی صفحات با استفاده از آن در قالب تیمی مقدور خواهد بود‪.‬‬

‫•‬

‫‪ CSS‬از طریق انتخابگرها قالب بندی را سرعت می بخشد‪ .‬همچنین از موتور انتخابگر ‪ CSS‬در‬

‫کاربردهای دیگر بهره فراوان برده می شود‪.‬‬

‫•‬

‫‪ :Layout Engine‬برنامه ایست در کاوشگرها که سند ‪ HTML‬و فایل ‪ CSS‬را دریافت کرده‪،‬‬

‫خروجی گرافیکی بر روی صفحه تولید می نماید‪.‬‬

‫•‬

‫‪ :Selector Engine‬موتوریست بر روی کاوشگر که زیرمجموعه ای از برچسب های ‪ HTML‬را‬

‫انتخاب می کند‪.‬‬

:‫ با چند مثال آنرا بررس ی می کنیم‬،‫ گرامر بسیار ساده ای دارد‬CSS
Template:
Selection {
Property: value;
Property: value;
//Comment /*Comment */
}
Example:
div.main {
background-color:#777777;
border-width: 1px;
border-style: solid;
font-family: ‘Tahoma’;
}



‫•‬
‫•در سه جای مختلف می توان از ‪ CSS‬استفاده کرد‪:‬‬

‫‪ CSS‬جزئیات گرامری مختلفی نیز دارد که در طی این ارائه با آنها بیشتر آشنا خواهیم شد‪.‬‬

‫•‬
‫•برچسب های ‪ Style‬در داخل فایل ‪ :HTML‬می توان با افزودن برچسب ‪ Style‬در ‪Head‬یا ‪Body‬‬
‫فایل های ‪ :CSS‬می توان ‪ CSS‬را در فایلی جداگانه نوشت و آنرا در ‪ HTML‬افزود‪.‬‬

‫یک سند‪ CSS ،‬تعریف کرد‪.‬‬

‫•‬

‫صفت ‪ Style‬برای برچسب ها‪ :‬می توان در یکی از صفتهای هر برچسب‪ CSS ،‬آنرا تعریف کرد‪ .‬در این‬

‫حالت دیگر انتخابگر مطرح نیست و قالب بندی تنها برای آن برچسب اعمال می شود‪.‬‬

‫•‬
‫•استفاده از حالت سوم (‪ )Inline CSS‬توصیه نمی شود و جدابودن محتوی از قالب را زیر سوال می‬
‫سه نوع تعریف ‪ CSS‬می توانند همزمان باشند‪ .‬اولویت آنها به ترتیب افزایش می یابد‪.‬‬

‫برد‪ ،‬اما در جاهای خاص ی استفاده از آن کار را راحتتر می کند‪.‬‬

:HTML ‫ جدا و استفاده از آن در‬CSS ‫تعریف در فایل‬
//SomeFile.css
input[text] {
width:200px;
background-color:#000000;
border:solid 0px;
}







:HTML ‫ در بدنه سند‬CSS ‫تعریف‬






:‫ در صفت یک برچسب‬CSS ‫تعریف‬


This is some text with tahoma font






‫چگونگی انتخاب برچسبها‬

‫•‬

‫براي مشخص كردن اينكه يك ‪ CSS‬به كدامين اشياء يك صفحه اعمال شود‪ ،‬بايد از انتخابگرها استفاده‬

‫نمود‪ .‬هر انتخاب گر يك يا چند ش يء در يك صفحه ‪ HTML‬را انتخاب مي كند و سپس مي توان قالب هاي‬

‫مورد نظر را به آن اعمال كرد‪.‬‬

‫•‬

‫انتخابگرهاي ‪ CSS‬تنوع و قدرت به سزايي دارند بنابراين در اين بخش در حدي كه نيازهاي اوليه مرتفع‬

‫شوند آنها را بررس ي خواهيم كرد‪.‬‬

‫•‬

‫انتخابگر ها در دو نحوه اوليه تعريف ‪ CSS‬ها قابل استفاده هستند به قالب زير‪:‬‬
‫{ ‪SelectorStatement‬‬
‫;‪Css Properties & Values‬‬

‫}‬

‫انتخاب تمام برچسب ها ‪* :‬‬
‫انتخاب برچسب هاي خاص‪tagName :‬‬
‫انتخاب برچسبي از زيربرچسب هاي يك برچسب ديگر‪ParentTag DescendantTag :‬‬
‫انتخاب برچسبي از فرزندان يك برچسب ديگر ‪ParentTag > ChildTag :‬‬
‫انتخاب برچسبي بعد از يك برچسب ديگر‪Tag1 + Tag2 :‬‬
‫انتخاب برچسبي با صفتي خاص‪Tag[attrib=“value”] :‬‬
‫آنتخاب يك برچسب در وضعيت هاي خاص‪:‬‬
‫لينك ديده نشده ‪Tag:link‬‬

‫برچسبي كه ماوس رويش است ‪Tag:hover‬‬

‫لينك ديده شده ‪Tag:visited‬‬

‫برچسب درحال كليك ‪Tag:active‬‬
‫برچسب فعال صفحه ‪Tag:focus‬‬

‫•‬

‫همانطور كه قبل ذكر شد‪ ،‬هر بچسب در ‪ HTML‬مي تواند صفات خاص ي را داشته باشد‪ .‬صفاتي كه در‬

‫‪ CSS‬به ما كمك مي كنند‪ ،‬دو صفت ‪ class , id‬هستند‪ .‬با اختصاص دادن اين دو صفت به يك برچسب‬

‫در ‪ HTML‬مي توان ويژگيهاي ‪ CSS‬آنرا به سادگي كنترل كرد‪.‬‬

‫•‬

‫با تعريف يك كلس خاص براي برچسبي ‪ ،‬مي توان آنرا جزو دسته اي قرار داد كه ويژگيهاي ‪CSS‬مشترك‬

‫خاص ي بر روي همگي آنها اعمال شود‪.‬‬

‫•‬

‫با تعريف يك مشخصه منحصره (‪ )Unique Identifier‬براي يك برچسب‪ ،‬مي توان كنترل هاي‬

‫خاص ي از طريق ‪CSS‬و جاوااسكريپت بر روي آن برچسب اعمال كرد‪.‬‬

‫•‬

‫بايد توجه گردد كه ‪ id‬هيچ دو برچسبي در يك سند ‪HTML‬نبايد يكسان باشند‪ ،‬در غير اينصورت نتايج‬

‫قابل پيش بيني نخواهد بود‪.‬‬

*{
font-family: “Tahoma”, “Trebuchet”,”MS Sans Serif”
}
div.Container {
background-color:#777777;
border-width: 1px;
}
P#title {
font-weight:bold;
}
H1 + P {
font-style:italic;
}
input [type=‘button’] {
border-style:none;
}
Body Form > input[type=‘text’] {
text-align:center;
}
DIV P * [title] {
color:#ffffff;
}

‫•‬

‫براي اينكه ‪ CSS‬خاص ي را به چند انتخابگر يكجا اعمال كنيم‪ ،‬مي توانيم آنها را به صورت گروهي قرار‬

‫دهيم‪:‬‬
‫{ ]’‪div.Container , p , input[type=‘text‬‬
‫; ’‪font-family: ‘Tahoma’, ‘Comic Sans MS‬‬
‫}‬

‫•‬
‫• ‪CSS‬با استفاده از عبارات جاوااسكريپت مي تواند مقادير پويا (نسبت به شرايط ‪ )Client‬را به‬
‫در صورتي كه چند دستور يكسان ‪ CSS‬به يك برچسب خاص اعمال شوند‪ ،‬آخرين آنها باقي مي ماند‪.‬‬

‫‪ Property‬ها اعمال كند‪:‬‬
‫;‪Width: expression( document.width /2 )px‬‬

‫مشخصه هاي استاندارد ‪CSS 2‬‬

‫‪o‬‬
‫‪(scroll,fixed)o‬‬

‫‪ : Background‬خلصه اي براي تنظيم تمام مشخصات ‪Background‬‬
‫‪ : Background-Attachement‬وضعيت قرارگيري تصوير در‬

‫‪ ،Background‬در صورتي كه ‪fixed‬باشد‪ ،‬با جابجايي صفحه پشت صفحه آن حركت نخواهد كرد‪.‬‬

‫‪o‬‬
‫‪ :Background-image o‬يا مقدار ‪ none‬مي گيرد و يا با استفاده از )‪URL(adress‬يك آدرس‬
‫)‪ : Background-color (RGB Value‬رنگ پشت صفحه‬

‫فايل تصويري (آدرس وب)‬

‫‪o‬‬
‫‪ :Background-repeato‬در صورتي كه از تصوير استفاده شود‪ ،‬روش تكرار آنرا مشخص مي كند‪.‬‬
‫‪ :Background-position‬مقاديري مانند … ‪top left, center center ,‬‬

‫مقادير مجاز عبارتند از ‪no-repeat, repeat-x,repeat-y,repeat‬‬

‫‪o‬‬
‫‪ :Border-widtho‬عرض حاشيه (ضخامت آن) به عدد‪ ،‬درصد و واحد هاي ديگر اندازه‬
‫‪ :Border-coloro‬رنگ حاشيه به ‪RGB‬‬
‫‪ :Border-styleo‬نوع حاشيه از مقادير ‪none, hidden, dotted, dashed, solid,‬‬
‫‪ :Border‬خلصه اي براي تنظيم مشخصات حاشيه‪ ،‬به ترتيب عرض‪ ،‬نوع و رنگ مي گيرد‪.‬‬

‫‪double, groove, ridge, inset, outset‬‬

‫‪o‬‬

‫براي تغيير تنظيمات مربوط به حاشيه نواحي مختلف (باال‪ ،‬پايين‪ ،‬چپ‪ ،‬راست)مي توانيد از چهار ويژگي باال‬

‫به همراه نام طرف مورد نظر استفاده نماييد‪ ،‬براي مثال‪:‬‬

‫‪o‬‬
‫‪Border-top-coloro‬‬
‫‪Border-bottomo‬‬

‫‪Border-left-width‬‬

o

url(file), auto, ‫ مقادير مجاز عبارتند از‬،‫ شمايل اشاره گر ماوس را معين مي سازد‬:Cursor

crosshair, default, pointer, move, e-resize, ne-resize, nw-resize , nresize, se-resize, sw-resize, s-resize, w-resize , text, wait , help
none, inline, block, list- ‫ مقادير مجاز عبارتند از‬،‫ نحوه نمايش يك برچسب‬:Display

o

item, run-in, compact, marker, table, inline-table , ….

left,

right,

‫ مقادير مجاز عبارتند از‬،‫ گرايش و شناوري يك برچسب به طرفي خاص‬:Float

o

none
Static, Relative, ‫ مقادير مجاز عبارتند از‬،‫ نحوه قرارگيري يك برچسب در يك سند‬:Position

o

Absolute, Fixed

‫‪o‬‬
‫‪ :Line-Heighto‬فاصله بين دو خط متن در سند‬
‫‪ :Max-Heighto‬حداكثر ارتفاعي كه يك برچسب مي تواند داشته باشد‬
‫‪ :Min-Heighto‬حداقل ارتفاع يك برچسب‬
‫‪ :Widtho‬عرض يك برچسب‬
‫‪ :Max-Widtho‬حداكثر عرض يك برچسب‬
‫‪ :Min-Widtho‬حداقل عرض يك برچسب‬
‫‪ :Height‬ارتفاع يك برچسب در سند‪ .‬مشخصه اندازه اي‬

‫‪o‬‬
‫‪ :Font-Familyo‬نام قلم‪ ،‬بهتر است ليستي از قلمها بسته به پشتيباني از سيستم ها انتخاب شود‪.‬‬
‫‪ :Font‬ميانبري براي اعمال مشخصات كامل فونت و قلم‬

‫معموال نوشته هاي فارس ي با قلم ‪ Tahoma‬خوب نمايش داده مي شوند‪.‬‬

‫‪o‬‬

‫‪ :Font-Size‬اندازه قلم‪ .‬هم مي تواند از انواع مقداري قرار داده شود هم مي تواند يكي از مقادير مجاز‬

‫باشد‬

‫‪xx-small, x-small, small, medium, large, x-large, xx-large,‬‬

‫‪smaller, larger‬‬

‫‪o‬‬

‫‪ :Font-Stretch‬كشيدگي فونت (فاصلي افقي مابين حرفهاي آن)يا مقدار عددي يا يكي از مقادير‬

‫‪normal, wider, narrower, ultra-condensed, extra-condensed, condensed,‬‬
‫‪semi-condensed, semi-expanded, expanded, extra-expanded, ultra-expanded‬‬

‫‪o‬‬
‫‪ :Font-Weighto‬يكي از مقادير ‪ normal, bold, bolder, lighter‬و يا مقدار عددي‬
‫‪ :Font-Style‬يكي از مقادير ‪Normal, Italic, Oblique‬‬

o
none , url(file) :List-Style-Imageo
inside, outside :List-style-Positiono
‫ موارد مجاز عبارتند از‬،‫ شكل موارد ليست‬:List-Style-Typeo

‫ موقعيت و تصوير ليست را مي گيرد‬، ‫ نوع‬،‫ به ترتيب‬.‫ ميانبري براي تنظيمات ليست‬:List-Style

none, disc, circle,

square, decimal, decimal-leading-zero, lower-roman, upper-roman,
lower-alpha,

upper-alpha,

lower-greek,

lower-latin,

upper-latin,

hebrew, armenian, georgian, cjk-ideographic, hiragana, katakana,
hiragana-iroha, katakana-iroha

)auto ‫ فاصله علمت از نوشتار (مقدار يا‬:Marker-Offset

o

‫‪o‬‬

‫‪ :Margin‬ميانبري براي تنظيمات كناره‪ .‬به ترتيب اندازه كناره هاي باال‪ ،‬راست‪ ،‬پايين و چپ را مي گيرد‬

‫(ساعتگرد)‬

‫‪o‬‬

‫‪ :Margin-left, Margin-right, Margin-top, Margin-bottom‬مقدار كناره‪ ،‬مقدار يا‬

‫‪auto‬‬

‫‪o‬‬
‫‪ :Padding-left, Padding-right, Padding-top, Padding-bottomo‬مقدار اليي‬
‫‪ :Padding‬ميانبري براي تنظيم مشخصات اليي گذاري‪ ،‬به ترتيب باال‪ ،‬راست‪ ،‬پايين و چپ‬

‫گذاري‪ ،‬مقدار يا ‪auto‬‬

‫‪o‬‬
‫‪ :Outline-coloro‬رنگ خط حاشيه به ‪RGB‬‬
‫‪ :Outline-styleo‬نوع خط حاشيه يك ش يء‪ ،‬انوع مجاز عبارتند از ‪none, dotted, dashed,‬‬
‫‪ :Outline‬ميانبري براي تمام تنظيمات خط حاشيه‪ ،‬به ترتيب رنگ‪ ،‬نوع و عرض‬

‫‪solid , double , groove, ridge, inset, outset‬‬

‫‪o‬‬

‫‪ :Outline-width‬قطوري خط حاشيه‪ ،‬مقدار عددي يا يكي از مقادير ‪thin, thick, medium‬‬

‫‪o‬‬

‫‪ :Overflow‬در صورتي كه محتويات يك برچسب در آن جاي نگيرند‪ ،‬اين مشخصه معين مي سازد كه‬

‫چه اتفاقي بيافتد‪ .‬مقادير مجاز عبارتند از ‪Visible, Hidden, Auto, Scroll‬‬

‫‪o‬‬

‫‪ :Position‬نحوه قرارگيري برچسب نسبت به سند‪ ،‬مقادير مجاز عبارتند از ‪Static, Relative,‬‬

‫‪Absolute, Fixed‬‬

‫‪o‬‬

‫‪ :Vertical-Align‬نحوه قرارگيري عمودي يك برچسب در داخل برچسب پدر خود را مشخص مي كند‪.‬‬

‫مقادير مجاز عبارتند از ‪baseline, sub, super, top, text-top, middle, bottom,‬‬
‫‪ text-bottom‬و يا مقدار عددي‬

‫‪o‬‬

‫‪ :Z-Index‬اولويت قرارگيري در بعد سوم در صفحه (يعني جلو پشت ديگر برچسب ها)‪ Auto .‬يا يك‬

‫عدد‬

‫‪o‬‬

‫‪ :Border-Collapse‬معين مي سازد كه حواش ي جداول جدا باشند و يا يك مجموعه خط بهم‬

‫پيوسته باشند‪ .‬مقادير مجاز ‪Separate , Collapse‬‬

‫‪o‬‬
‫‪ :Empty-Cellsٍo‬مشخص مي كند كه سلول هاي خالي در مدل ‪ Seperate‬نمايش داده شوند و يا‬
‫‪ :Border-Spacing‬فاصله ميان دو حاشيه جدول‪ ،‬تنها در صورتي كه ‪ Seperate‬باشد‪.‬‬

‫خير‪ .‬مقادير مجاز ‪Show/Hide‬‬

‫‪o‬‬

‫‪ :Table Layout‬الگوريتم نحوه نمايش سلولهاي يك جدول‪Auto/Fixed ،‬‬

‫‪o‬‬
‫‪ :Directiono‬جهت متن (و محتويات)يك برچسب را مشخص مي سازد‪ ،‬مقادير مجاز ‪LTR/RTL‬‬
‫‪ :Text-Aligno‬مقادير مجاز ‪Left, Right, Center, Justify‬‬
‫‪ :Text-Decorationo‬افزودن افكتي به متن‪ ،‬مقادير مجاز عبارتند از ‪none, underline,‬‬
‫‪ :Color‬رنگ يك متن را مشخص مي سازد‪RGB ،‬‬

‫‪overline, line-through, blink‬‬

‫‪o‬‬
‫‪ :Word-Spacingo‬فاصله ميان لغات يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Letter-Spacingo‬فاصله ميان حروف يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Text-Indent‬تو رفتگي اولين خط يك متن‪ .‬مقدار عددي‬

‫تسلط كامل بر ‪CSS‬‬

‫‪o‬‬

‫در ‪ CSS‬رنگها را به دو شیوه می توان مشخص کرد‪:‬‬

‫‪o‬‬
‫‪o‬استفاده از نام رنگ‬

‫تعیين مقدار ‪ 24‬بیتی ‪ RGB‬آنها‬

‫‪o‬‬

‫در روش اول ‪ 16‬میلیون رنگ مختلف برای انتخاب وجود دارند‪ ،‬اما در روش دوم حدود ‪ 200‬رنگ با نام‬

‫های مختلف قابل استفاده هستند‪.‬‬

‫‪o‬‬
‫‪o‬برای مشخص کردن رنگ ‪ ،RGB‬پس از قرار دادن علمت ‪ #‬به ترتیب مقدار ‪ R‬و ‪ G‬و ‪ B‬را در مبنای ‪16‬‬
‫برای مشخص کردن رنگ با نام آن‪ ،‬کافیست نام رنگ را بنویسید‪Cyan, Purple :‬‬

‫وارد می کنیم‪#FFFFFF , #00FF00 :‬‬

‫‪o‬‬

‫همچنين می توان برای مشخص کردن رنگ ‪ RGB‬به صورت روبرو عمل کرد‪RGB(100,255,10):‬‬

‫و یا)‪RGB(70%,20%,100%‬‬

‫‪o‬‬

‫تمامی مقادیر اندازه ای در ‪ CSS‬واحد های متفاوتی را می پذیرند‪ .‬پایه ای ترین واحد همان ‪ Pixel‬است‬

‫که با ‪ px‬در انتهای مقدار مشخص می گردد‪ .‬واحدهای دیگر عبارتند از‪:‬‬

‫‪o‬‬
‫‪ :Ino‬اینچ‬
‫‪ :Cmo‬سانتیمتر‬
‫‪ :Mmo‬میلیمتر‬
‫‪ :Emo‬اندازه فونت‬
‫‪ 1/72 :Pto‬اینتچ‬
‫‪pt 12 :Pco‬‬
‫‪ :Pxo‬یک نقطه‬
‫‪ :%‬درصد!‬

‫‪o‬‬

‫شفافیت )‪ (Transparency‬یک عملیات پیچیده برای سیستم هاییست که کارت گرافیکی قدرتمندی‬

‫ندارد و موتور گرافیکی کاوشگر برای پیاده کردن آن بشدت زیر بار قرار می گيرد‪.‬‬

‫‪o‬‬

‫با استفاده از شفافیت می توان جذابیت بصری را بسیار باالتر برد‪ ،‬اما باید دقت داشت که کندی پردازش‬

‫تصویری سایت برای کاربر ایجاد مزاحمت نکند‪.‬‬

‫‪o‬‬
‫‪ o‬برای ایجاد شفافیت در کاوشگرهای استادارد‪ ،‬از ‪ Opacity : .5‬استفاده می شود‪.‬‬
‫‪o‬برای ایجاد شفافیت در ‪ IE‬از )‪ filter:alpha(opacity=50‬استفاده می شود‪.‬‬
‫‪o‬برای اینکه شفافیت در تمامی کاوشگرها درست نمایش داده شود الزم است هردو دستور باال بکار روند‪.‬‬
‫متاسفانه کاوشگر ‪ IE‬برای شفافیت از دستورات خود استفاده می کند که استاندارد نیستند‪.‬‬

‫‪o‬‬

‫کاوشگرهایی مانند ‪ Firefox‬دستورات ‪ CSS‬ویژه ای دارند (البته ‪ IE‬نيز دستورات مخصوص خود را‬

‫داراست) ‪.‬‬

‫‪o‬‬

‫عبارت ‪ –moz-border-radius‬می تواند گوشه های مستطیل ها را از تيزی درآورده و آنها را نرم‬

‫کند‪-moz-border-radius: 5px; :‬‬

‫‪o‬‬

‫استفاده از این عبارت و راه حل های مشابه پیشنهاد نمی شود زیرا این نما تنها در ‪ Firefox‬قابل مشاهده‬

‫خواهد بود‪.‬‬

‫‪o‬‬

‫‪ CSS‬توانایی آنرا داراست که برای رسانه های خاص تفاوت کند! برای مثال می توانید ‪ CSS‬یک سایت‬

‫را طوری تعریف کنید که رنگ نوشته های آن قرمز باشد ولی هنگام پرینت مشکی شود‪.‬‬

‫‪o‬‬

‫برای مشخص کردن اینکه ‪ CSS‬را برای چه رسانه ای می نویسیم‪ ،‬از ‪ @media‬استفاده می کنیم‪:‬‬
‫‪@media screen‬‬
‫};‪* { color:#ff0000‬‬
‫‪@media print‬‬
‫};‪* { color:#000000‬‬

‫رسانه های معمول عبارتند از‪all, braille, handheld, print, projection, screen, tv, :‬‬
‫…‬

‫‪ CSS‬را قورت بده!‬

‫‪o‬‬

‫فایل ‪ HTML‬ای که در تمرینات ‪ HTML‬ساخته اید و تمامی برچسب ها را داراست‪ ،‬با استفاده از تمامی‬

‫برچسب های ‪ CSS‬قالب بندی کنید‪ .‬سعی کنید زیبایی کافی و قالب بندی مناسب برای سند اتفاق بیافتد! در‬

‫داخل سند تنها می توانید برچسبهای ‪ DIV‬و ‪ SPAN‬اضافه کنید و یا به برچسب های موجود ‪ID ,‬‬
‫‪ CLASS‬بیافزایید‪.‬‬

‫‪o‬‬
‫‪o‬آیا می توان با استفاده از ‪ CSS‬منو ساخت؟ اگر بله راه حل را معين کنید‪.‬‬
‫‪o‬مزایا و معایب نوشتن ‪ CSS‬در یک فایل جداگانه را برشمارید‪.‬‬
‫‪o‬با استفاده از ‪ CSS‬یک ‪ taskbar‬برای یک صفحه بسازید که همواره در قسمت پایين پنجره کاوشگر‬
‫بدون استفاده از جداول و تنها با استفاده از ‪ CSS‬یک صفحه سه ستونی (مانند ‪ )SBCE.ir‬بسازید‪.‬‬

‫(نه لزوما انتهای سند) باشد‪.‬‬


Slide 5

‫کارگاه آموزش ی توسعه وب‬
‫بخش دوم ‪CSS -‬‬

‫ارائه‪ :‬عباس نادری‬
‫انجمن علمی دانشجویی‬
‫مهندس ی کامپیوتر‬
‫نسخه ‪1‬‬

‫دانشگاه شهید بهشتی‬

‫‪ CSS‬چیست ؟‬

‫•‬
‫•معمول ترین استفاده ‪ CSS‬برای قالب بندی اسناد وب )‪ (HTML‬منظور می شود‪.‬‬
‫•با پیچیده شدن وب ها‪ ،‬تصمیم بر آن شد تا محتوا از قالب بندی تفکیک شود و توسعه وب تسهیل‬
‫‪ CSS‬یا ‪ Casacading Style Sheets‬یک استاندارد قالب بندی ظاهری اسناد است‪.‬‬

‫گردد‪.‬‬

‫•‬

‫‪ CSS‬سه نسخه اصلی دارد‪:‬‬

‫•‬
‫•‪ :CSS 2‬در سال ‪ 1998‬توسط ‪ W3C‬استاندارد شد و هنوز به عنوان استاندارد بکار می رود‪.‬‬
‫•‪ :CSS 3‬هنوز در دست توسعه توسط ‪ W3C‬است‪.‬‬
‫‪ :CSS 1‬در سال ‪ 1996‬توسط ‪ W3C‬استاندارد شد‪.‬‬

‫•‬

‫‪ CSS‬به دلیل امکان استفاده مجدد‪ ،‬به شدت توسعه وب را ساده و سریع می کند‪ .‬همچنین قالب‬

‫بندی صفحات با استفاده از آن در قالب تیمی مقدور خواهد بود‪.‬‬

‫•‬

‫‪ CSS‬از طریق انتخابگرها قالب بندی را سرعت می بخشد‪ .‬همچنین از موتور انتخابگر ‪ CSS‬در‬

‫کاربردهای دیگر بهره فراوان برده می شود‪.‬‬

‫•‬

‫‪ :Layout Engine‬برنامه ایست در کاوشگرها که سند ‪ HTML‬و فایل ‪ CSS‬را دریافت کرده‪،‬‬

‫خروجی گرافیکی بر روی صفحه تولید می نماید‪.‬‬

‫•‬

‫‪ :Selector Engine‬موتوریست بر روی کاوشگر که زیرمجموعه ای از برچسب های ‪ HTML‬را‬

‫انتخاب می کند‪.‬‬

:‫ با چند مثال آنرا بررس ی می کنیم‬،‫ گرامر بسیار ساده ای دارد‬CSS
Template:
Selection {
Property: value;
Property: value;
//Comment /*Comment */
}
Example:
div.main {
background-color:#777777;
border-width: 1px;
border-style: solid;
font-family: ‘Tahoma’;
}



‫•‬
‫•در سه جای مختلف می توان از ‪ CSS‬استفاده کرد‪:‬‬

‫‪ CSS‬جزئیات گرامری مختلفی نیز دارد که در طی این ارائه با آنها بیشتر آشنا خواهیم شد‪.‬‬

‫•‬
‫•برچسب های ‪ Style‬در داخل فایل ‪ :HTML‬می توان با افزودن برچسب ‪ Style‬در ‪Head‬یا ‪Body‬‬
‫فایل های ‪ :CSS‬می توان ‪ CSS‬را در فایلی جداگانه نوشت و آنرا در ‪ HTML‬افزود‪.‬‬

‫یک سند‪ CSS ،‬تعریف کرد‪.‬‬

‫•‬

‫صفت ‪ Style‬برای برچسب ها‪ :‬می توان در یکی از صفتهای هر برچسب‪ CSS ،‬آنرا تعریف کرد‪ .‬در این‬

‫حالت دیگر انتخابگر مطرح نیست و قالب بندی تنها برای آن برچسب اعمال می شود‪.‬‬

‫•‬
‫•استفاده از حالت سوم (‪ )Inline CSS‬توصیه نمی شود و جدابودن محتوی از قالب را زیر سوال می‬
‫سه نوع تعریف ‪ CSS‬می توانند همزمان باشند‪ .‬اولویت آنها به ترتیب افزایش می یابد‪.‬‬

‫برد‪ ،‬اما در جاهای خاص ی استفاده از آن کار را راحتتر می کند‪.‬‬

:HTML ‫ جدا و استفاده از آن در‬CSS ‫تعریف در فایل‬
//SomeFile.css
input[text] {
width:200px;
background-color:#000000;
border:solid 0px;
}







:HTML ‫ در بدنه سند‬CSS ‫تعریف‬






:‫ در صفت یک برچسب‬CSS ‫تعریف‬


This is some text with tahoma font






‫چگونگی انتخاب برچسبها‬

‫•‬

‫براي مشخص كردن اينكه يك ‪ CSS‬به كدامين اشياء يك صفحه اعمال شود‪ ،‬بايد از انتخابگرها استفاده‬

‫نمود‪ .‬هر انتخاب گر يك يا چند ش يء در يك صفحه ‪ HTML‬را انتخاب مي كند و سپس مي توان قالب هاي‬

‫مورد نظر را به آن اعمال كرد‪.‬‬

‫•‬

‫انتخابگرهاي ‪ CSS‬تنوع و قدرت به سزايي دارند بنابراين در اين بخش در حدي كه نيازهاي اوليه مرتفع‬

‫شوند آنها را بررس ي خواهيم كرد‪.‬‬

‫•‬

‫انتخابگر ها در دو نحوه اوليه تعريف ‪ CSS‬ها قابل استفاده هستند به قالب زير‪:‬‬
‫{ ‪SelectorStatement‬‬
‫;‪Css Properties & Values‬‬

‫}‬

‫انتخاب تمام برچسب ها ‪* :‬‬
‫انتخاب برچسب هاي خاص‪tagName :‬‬
‫انتخاب برچسبي از زيربرچسب هاي يك برچسب ديگر‪ParentTag DescendantTag :‬‬
‫انتخاب برچسبي از فرزندان يك برچسب ديگر ‪ParentTag > ChildTag :‬‬
‫انتخاب برچسبي بعد از يك برچسب ديگر‪Tag1 + Tag2 :‬‬
‫انتخاب برچسبي با صفتي خاص‪Tag[attrib=“value”] :‬‬
‫آنتخاب يك برچسب در وضعيت هاي خاص‪:‬‬
‫لينك ديده نشده ‪Tag:link‬‬

‫برچسبي كه ماوس رويش است ‪Tag:hover‬‬

‫لينك ديده شده ‪Tag:visited‬‬

‫برچسب درحال كليك ‪Tag:active‬‬
‫برچسب فعال صفحه ‪Tag:focus‬‬

‫•‬

‫همانطور كه قبل ذكر شد‪ ،‬هر بچسب در ‪ HTML‬مي تواند صفات خاص ي را داشته باشد‪ .‬صفاتي كه در‬

‫‪ CSS‬به ما كمك مي كنند‪ ،‬دو صفت ‪ class , id‬هستند‪ .‬با اختصاص دادن اين دو صفت به يك برچسب‬

‫در ‪ HTML‬مي توان ويژگيهاي ‪ CSS‬آنرا به سادگي كنترل كرد‪.‬‬

‫•‬

‫با تعريف يك كلس خاص براي برچسبي ‪ ،‬مي توان آنرا جزو دسته اي قرار داد كه ويژگيهاي ‪CSS‬مشترك‬

‫خاص ي بر روي همگي آنها اعمال شود‪.‬‬

‫•‬

‫با تعريف يك مشخصه منحصره (‪ )Unique Identifier‬براي يك برچسب‪ ،‬مي توان كنترل هاي‬

‫خاص ي از طريق ‪CSS‬و جاوااسكريپت بر روي آن برچسب اعمال كرد‪.‬‬

‫•‬

‫بايد توجه گردد كه ‪ id‬هيچ دو برچسبي در يك سند ‪HTML‬نبايد يكسان باشند‪ ،‬در غير اينصورت نتايج‬

‫قابل پيش بيني نخواهد بود‪.‬‬

*{
font-family: “Tahoma”, “Trebuchet”,”MS Sans Serif”
}
div.Container {
background-color:#777777;
border-width: 1px;
}
P#title {
font-weight:bold;
}
H1 + P {
font-style:italic;
}
input [type=‘button’] {
border-style:none;
}
Body Form > input[type=‘text’] {
text-align:center;
}
DIV P * [title] {
color:#ffffff;
}

‫•‬

‫براي اينكه ‪ CSS‬خاص ي را به چند انتخابگر يكجا اعمال كنيم‪ ،‬مي توانيم آنها را به صورت گروهي قرار‬

‫دهيم‪:‬‬
‫{ ]’‪div.Container , p , input[type=‘text‬‬
‫; ’‪font-family: ‘Tahoma’, ‘Comic Sans MS‬‬
‫}‬

‫•‬
‫• ‪CSS‬با استفاده از عبارات جاوااسكريپت مي تواند مقادير پويا (نسبت به شرايط ‪ )Client‬را به‬
‫در صورتي كه چند دستور يكسان ‪ CSS‬به يك برچسب خاص اعمال شوند‪ ،‬آخرين آنها باقي مي ماند‪.‬‬

‫‪ Property‬ها اعمال كند‪:‬‬
‫;‪Width: expression( document.width /2 )px‬‬

‫مشخصه هاي استاندارد ‪CSS 2‬‬

‫‪o‬‬
‫‪(scroll,fixed)o‬‬

‫‪ : Background‬خلصه اي براي تنظيم تمام مشخصات ‪Background‬‬
‫‪ : Background-Attachement‬وضعيت قرارگيري تصوير در‬

‫‪ ،Background‬در صورتي كه ‪fixed‬باشد‪ ،‬با جابجايي صفحه پشت صفحه آن حركت نخواهد كرد‪.‬‬

‫‪o‬‬
‫‪ :Background-image o‬يا مقدار ‪ none‬مي گيرد و يا با استفاده از )‪URL(adress‬يك آدرس‬
‫)‪ : Background-color (RGB Value‬رنگ پشت صفحه‬

‫فايل تصويري (آدرس وب)‬

‫‪o‬‬
‫‪ :Background-repeato‬در صورتي كه از تصوير استفاده شود‪ ،‬روش تكرار آنرا مشخص مي كند‪.‬‬
‫‪ :Background-position‬مقاديري مانند … ‪top left, center center ,‬‬

‫مقادير مجاز عبارتند از ‪no-repeat, repeat-x,repeat-y,repeat‬‬

‫‪o‬‬
‫‪ :Border-widtho‬عرض حاشيه (ضخامت آن) به عدد‪ ،‬درصد و واحد هاي ديگر اندازه‬
‫‪ :Border-coloro‬رنگ حاشيه به ‪RGB‬‬
‫‪ :Border-styleo‬نوع حاشيه از مقادير ‪none, hidden, dotted, dashed, solid,‬‬
‫‪ :Border‬خلصه اي براي تنظيم مشخصات حاشيه‪ ،‬به ترتيب عرض‪ ،‬نوع و رنگ مي گيرد‪.‬‬

‫‪double, groove, ridge, inset, outset‬‬

‫‪o‬‬

‫براي تغيير تنظيمات مربوط به حاشيه نواحي مختلف (باال‪ ،‬پايين‪ ،‬چپ‪ ،‬راست)مي توانيد از چهار ويژگي باال‬

‫به همراه نام طرف مورد نظر استفاده نماييد‪ ،‬براي مثال‪:‬‬

‫‪o‬‬
‫‪Border-top-coloro‬‬
‫‪Border-bottomo‬‬

‫‪Border-left-width‬‬

o

url(file), auto, ‫ مقادير مجاز عبارتند از‬،‫ شمايل اشاره گر ماوس را معين مي سازد‬:Cursor

crosshair, default, pointer, move, e-resize, ne-resize, nw-resize , nresize, se-resize, sw-resize, s-resize, w-resize , text, wait , help
none, inline, block, list- ‫ مقادير مجاز عبارتند از‬،‫ نحوه نمايش يك برچسب‬:Display

o

item, run-in, compact, marker, table, inline-table , ….

left,

right,

‫ مقادير مجاز عبارتند از‬،‫ گرايش و شناوري يك برچسب به طرفي خاص‬:Float

o

none
Static, Relative, ‫ مقادير مجاز عبارتند از‬،‫ نحوه قرارگيري يك برچسب در يك سند‬:Position

o

Absolute, Fixed

‫‪o‬‬
‫‪ :Line-Heighto‬فاصله بين دو خط متن در سند‬
‫‪ :Max-Heighto‬حداكثر ارتفاعي كه يك برچسب مي تواند داشته باشد‬
‫‪ :Min-Heighto‬حداقل ارتفاع يك برچسب‬
‫‪ :Widtho‬عرض يك برچسب‬
‫‪ :Max-Widtho‬حداكثر عرض يك برچسب‬
‫‪ :Min-Widtho‬حداقل عرض يك برچسب‬
‫‪ :Height‬ارتفاع يك برچسب در سند‪ .‬مشخصه اندازه اي‬

‫‪o‬‬
‫‪ :Font-Familyo‬نام قلم‪ ،‬بهتر است ليستي از قلمها بسته به پشتيباني از سيستم ها انتخاب شود‪.‬‬
‫‪ :Font‬ميانبري براي اعمال مشخصات كامل فونت و قلم‬

‫معموال نوشته هاي فارس ي با قلم ‪ Tahoma‬خوب نمايش داده مي شوند‪.‬‬

‫‪o‬‬

‫‪ :Font-Size‬اندازه قلم‪ .‬هم مي تواند از انواع مقداري قرار داده شود هم مي تواند يكي از مقادير مجاز‬

‫باشد‬

‫‪xx-small, x-small, small, medium, large, x-large, xx-large,‬‬

‫‪smaller, larger‬‬

‫‪o‬‬

‫‪ :Font-Stretch‬كشيدگي فونت (فاصلي افقي مابين حرفهاي آن)يا مقدار عددي يا يكي از مقادير‬

‫‪normal, wider, narrower, ultra-condensed, extra-condensed, condensed,‬‬
‫‪semi-condensed, semi-expanded, expanded, extra-expanded, ultra-expanded‬‬

‫‪o‬‬
‫‪ :Font-Weighto‬يكي از مقادير ‪ normal, bold, bolder, lighter‬و يا مقدار عددي‬
‫‪ :Font-Style‬يكي از مقادير ‪Normal, Italic, Oblique‬‬

o
none , url(file) :List-Style-Imageo
inside, outside :List-style-Positiono
‫ موارد مجاز عبارتند از‬،‫ شكل موارد ليست‬:List-Style-Typeo

‫ موقعيت و تصوير ليست را مي گيرد‬، ‫ نوع‬،‫ به ترتيب‬.‫ ميانبري براي تنظيمات ليست‬:List-Style

none, disc, circle,

square, decimal, decimal-leading-zero, lower-roman, upper-roman,
lower-alpha,

upper-alpha,

lower-greek,

lower-latin,

upper-latin,

hebrew, armenian, georgian, cjk-ideographic, hiragana, katakana,
hiragana-iroha, katakana-iroha

)auto ‫ فاصله علمت از نوشتار (مقدار يا‬:Marker-Offset

o

‫‪o‬‬

‫‪ :Margin‬ميانبري براي تنظيمات كناره‪ .‬به ترتيب اندازه كناره هاي باال‪ ،‬راست‪ ،‬پايين و چپ را مي گيرد‬

‫(ساعتگرد)‬

‫‪o‬‬

‫‪ :Margin-left, Margin-right, Margin-top, Margin-bottom‬مقدار كناره‪ ،‬مقدار يا‬

‫‪auto‬‬

‫‪o‬‬
‫‪ :Padding-left, Padding-right, Padding-top, Padding-bottomo‬مقدار اليي‬
‫‪ :Padding‬ميانبري براي تنظيم مشخصات اليي گذاري‪ ،‬به ترتيب باال‪ ،‬راست‪ ،‬پايين و چپ‬

‫گذاري‪ ،‬مقدار يا ‪auto‬‬

‫‪o‬‬
‫‪ :Outline-coloro‬رنگ خط حاشيه به ‪RGB‬‬
‫‪ :Outline-styleo‬نوع خط حاشيه يك ش يء‪ ،‬انوع مجاز عبارتند از ‪none, dotted, dashed,‬‬
‫‪ :Outline‬ميانبري براي تمام تنظيمات خط حاشيه‪ ،‬به ترتيب رنگ‪ ،‬نوع و عرض‬

‫‪solid , double , groove, ridge, inset, outset‬‬

‫‪o‬‬

‫‪ :Outline-width‬قطوري خط حاشيه‪ ،‬مقدار عددي يا يكي از مقادير ‪thin, thick, medium‬‬

‫‪o‬‬

‫‪ :Overflow‬در صورتي كه محتويات يك برچسب در آن جاي نگيرند‪ ،‬اين مشخصه معين مي سازد كه‬

‫چه اتفاقي بيافتد‪ .‬مقادير مجاز عبارتند از ‪Visible, Hidden, Auto, Scroll‬‬

‫‪o‬‬

‫‪ :Position‬نحوه قرارگيري برچسب نسبت به سند‪ ،‬مقادير مجاز عبارتند از ‪Static, Relative,‬‬

‫‪Absolute, Fixed‬‬

‫‪o‬‬

‫‪ :Vertical-Align‬نحوه قرارگيري عمودي يك برچسب در داخل برچسب پدر خود را مشخص مي كند‪.‬‬

‫مقادير مجاز عبارتند از ‪baseline, sub, super, top, text-top, middle, bottom,‬‬
‫‪ text-bottom‬و يا مقدار عددي‬

‫‪o‬‬

‫‪ :Z-Index‬اولويت قرارگيري در بعد سوم در صفحه (يعني جلو پشت ديگر برچسب ها)‪ Auto .‬يا يك‬

‫عدد‬

‫‪o‬‬

‫‪ :Border-Collapse‬معين مي سازد كه حواش ي جداول جدا باشند و يا يك مجموعه خط بهم‬

‫پيوسته باشند‪ .‬مقادير مجاز ‪Separate , Collapse‬‬

‫‪o‬‬
‫‪ :Empty-Cellsٍo‬مشخص مي كند كه سلول هاي خالي در مدل ‪ Seperate‬نمايش داده شوند و يا‬
‫‪ :Border-Spacing‬فاصله ميان دو حاشيه جدول‪ ،‬تنها در صورتي كه ‪ Seperate‬باشد‪.‬‬

‫خير‪ .‬مقادير مجاز ‪Show/Hide‬‬

‫‪o‬‬

‫‪ :Table Layout‬الگوريتم نحوه نمايش سلولهاي يك جدول‪Auto/Fixed ،‬‬

‫‪o‬‬
‫‪ :Directiono‬جهت متن (و محتويات)يك برچسب را مشخص مي سازد‪ ،‬مقادير مجاز ‪LTR/RTL‬‬
‫‪ :Text-Aligno‬مقادير مجاز ‪Left, Right, Center, Justify‬‬
‫‪ :Text-Decorationo‬افزودن افكتي به متن‪ ،‬مقادير مجاز عبارتند از ‪none, underline,‬‬
‫‪ :Color‬رنگ يك متن را مشخص مي سازد‪RGB ،‬‬

‫‪overline, line-through, blink‬‬

‫‪o‬‬
‫‪ :Word-Spacingo‬فاصله ميان لغات يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Letter-Spacingo‬فاصله ميان حروف يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Text-Indent‬تو رفتگي اولين خط يك متن‪ .‬مقدار عددي‬

‫تسلط كامل بر ‪CSS‬‬

‫‪o‬‬

‫در ‪ CSS‬رنگها را به دو شیوه می توان مشخص کرد‪:‬‬

‫‪o‬‬
‫‪o‬استفاده از نام رنگ‬

‫تعیين مقدار ‪ 24‬بیتی ‪ RGB‬آنها‬

‫‪o‬‬

‫در روش اول ‪ 16‬میلیون رنگ مختلف برای انتخاب وجود دارند‪ ،‬اما در روش دوم حدود ‪ 200‬رنگ با نام‬

‫های مختلف قابل استفاده هستند‪.‬‬

‫‪o‬‬
‫‪o‬برای مشخص کردن رنگ ‪ ،RGB‬پس از قرار دادن علمت ‪ #‬به ترتیب مقدار ‪ R‬و ‪ G‬و ‪ B‬را در مبنای ‪16‬‬
‫برای مشخص کردن رنگ با نام آن‪ ،‬کافیست نام رنگ را بنویسید‪Cyan, Purple :‬‬

‫وارد می کنیم‪#FFFFFF , #00FF00 :‬‬

‫‪o‬‬

‫همچنين می توان برای مشخص کردن رنگ ‪ RGB‬به صورت روبرو عمل کرد‪RGB(100,255,10):‬‬

‫و یا)‪RGB(70%,20%,100%‬‬

‫‪o‬‬

‫تمامی مقادیر اندازه ای در ‪ CSS‬واحد های متفاوتی را می پذیرند‪ .‬پایه ای ترین واحد همان ‪ Pixel‬است‬

‫که با ‪ px‬در انتهای مقدار مشخص می گردد‪ .‬واحدهای دیگر عبارتند از‪:‬‬

‫‪o‬‬
‫‪ :Ino‬اینچ‬
‫‪ :Cmo‬سانتیمتر‬
‫‪ :Mmo‬میلیمتر‬
‫‪ :Emo‬اندازه فونت‬
‫‪ 1/72 :Pto‬اینتچ‬
‫‪pt 12 :Pco‬‬
‫‪ :Pxo‬یک نقطه‬
‫‪ :%‬درصد!‬

‫‪o‬‬

‫شفافیت )‪ (Transparency‬یک عملیات پیچیده برای سیستم هاییست که کارت گرافیکی قدرتمندی‬

‫ندارد و موتور گرافیکی کاوشگر برای پیاده کردن آن بشدت زیر بار قرار می گيرد‪.‬‬

‫‪o‬‬

‫با استفاده از شفافیت می توان جذابیت بصری را بسیار باالتر برد‪ ،‬اما باید دقت داشت که کندی پردازش‬

‫تصویری سایت برای کاربر ایجاد مزاحمت نکند‪.‬‬

‫‪o‬‬
‫‪ o‬برای ایجاد شفافیت در کاوشگرهای استادارد‪ ،‬از ‪ Opacity : .5‬استفاده می شود‪.‬‬
‫‪o‬برای ایجاد شفافیت در ‪ IE‬از )‪ filter:alpha(opacity=50‬استفاده می شود‪.‬‬
‫‪o‬برای اینکه شفافیت در تمامی کاوشگرها درست نمایش داده شود الزم است هردو دستور باال بکار روند‪.‬‬
‫متاسفانه کاوشگر ‪ IE‬برای شفافیت از دستورات خود استفاده می کند که استاندارد نیستند‪.‬‬

‫‪o‬‬

‫کاوشگرهایی مانند ‪ Firefox‬دستورات ‪ CSS‬ویژه ای دارند (البته ‪ IE‬نيز دستورات مخصوص خود را‬

‫داراست) ‪.‬‬

‫‪o‬‬

‫عبارت ‪ –moz-border-radius‬می تواند گوشه های مستطیل ها را از تيزی درآورده و آنها را نرم‬

‫کند‪-moz-border-radius: 5px; :‬‬

‫‪o‬‬

‫استفاده از این عبارت و راه حل های مشابه پیشنهاد نمی شود زیرا این نما تنها در ‪ Firefox‬قابل مشاهده‬

‫خواهد بود‪.‬‬

‫‪o‬‬

‫‪ CSS‬توانایی آنرا داراست که برای رسانه های خاص تفاوت کند! برای مثال می توانید ‪ CSS‬یک سایت‬

‫را طوری تعریف کنید که رنگ نوشته های آن قرمز باشد ولی هنگام پرینت مشکی شود‪.‬‬

‫‪o‬‬

‫برای مشخص کردن اینکه ‪ CSS‬را برای چه رسانه ای می نویسیم‪ ،‬از ‪ @media‬استفاده می کنیم‪:‬‬
‫‪@media screen‬‬
‫};‪* { color:#ff0000‬‬
‫‪@media print‬‬
‫};‪* { color:#000000‬‬

‫رسانه های معمول عبارتند از‪all, braille, handheld, print, projection, screen, tv, :‬‬
‫…‬

‫‪ CSS‬را قورت بده!‬

‫‪o‬‬

‫فایل ‪ HTML‬ای که در تمرینات ‪ HTML‬ساخته اید و تمامی برچسب ها را داراست‪ ،‬با استفاده از تمامی‬

‫برچسب های ‪ CSS‬قالب بندی کنید‪ .‬سعی کنید زیبایی کافی و قالب بندی مناسب برای سند اتفاق بیافتد! در‬

‫داخل سند تنها می توانید برچسبهای ‪ DIV‬و ‪ SPAN‬اضافه کنید و یا به برچسب های موجود ‪ID ,‬‬
‫‪ CLASS‬بیافزایید‪.‬‬

‫‪o‬‬
‫‪o‬آیا می توان با استفاده از ‪ CSS‬منو ساخت؟ اگر بله راه حل را معين کنید‪.‬‬
‫‪o‬مزایا و معایب نوشتن ‪ CSS‬در یک فایل جداگانه را برشمارید‪.‬‬
‫‪o‬با استفاده از ‪ CSS‬یک ‪ taskbar‬برای یک صفحه بسازید که همواره در قسمت پایين پنجره کاوشگر‬
‫بدون استفاده از جداول و تنها با استفاده از ‪ CSS‬یک صفحه سه ستونی (مانند ‪ )SBCE.ir‬بسازید‪.‬‬

‫(نه لزوما انتهای سند) باشد‪.‬‬


Slide 6

‫کارگاه آموزش ی توسعه وب‬
‫بخش دوم ‪CSS -‬‬

‫ارائه‪ :‬عباس نادری‬
‫انجمن علمی دانشجویی‬
‫مهندس ی کامپیوتر‬
‫نسخه ‪1‬‬

‫دانشگاه شهید بهشتی‬

‫‪ CSS‬چیست ؟‬

‫•‬
‫•معمول ترین استفاده ‪ CSS‬برای قالب بندی اسناد وب )‪ (HTML‬منظور می شود‪.‬‬
‫•با پیچیده شدن وب ها‪ ،‬تصمیم بر آن شد تا محتوا از قالب بندی تفکیک شود و توسعه وب تسهیل‬
‫‪ CSS‬یا ‪ Casacading Style Sheets‬یک استاندارد قالب بندی ظاهری اسناد است‪.‬‬

‫گردد‪.‬‬

‫•‬

‫‪ CSS‬سه نسخه اصلی دارد‪:‬‬

‫•‬
‫•‪ :CSS 2‬در سال ‪ 1998‬توسط ‪ W3C‬استاندارد شد و هنوز به عنوان استاندارد بکار می رود‪.‬‬
‫•‪ :CSS 3‬هنوز در دست توسعه توسط ‪ W3C‬است‪.‬‬
‫‪ :CSS 1‬در سال ‪ 1996‬توسط ‪ W3C‬استاندارد شد‪.‬‬

‫•‬

‫‪ CSS‬به دلیل امکان استفاده مجدد‪ ،‬به شدت توسعه وب را ساده و سریع می کند‪ .‬همچنین قالب‬

‫بندی صفحات با استفاده از آن در قالب تیمی مقدور خواهد بود‪.‬‬

‫•‬

‫‪ CSS‬از طریق انتخابگرها قالب بندی را سرعت می بخشد‪ .‬همچنین از موتور انتخابگر ‪ CSS‬در‬

‫کاربردهای دیگر بهره فراوان برده می شود‪.‬‬

‫•‬

‫‪ :Layout Engine‬برنامه ایست در کاوشگرها که سند ‪ HTML‬و فایل ‪ CSS‬را دریافت کرده‪،‬‬

‫خروجی گرافیکی بر روی صفحه تولید می نماید‪.‬‬

‫•‬

‫‪ :Selector Engine‬موتوریست بر روی کاوشگر که زیرمجموعه ای از برچسب های ‪ HTML‬را‬

‫انتخاب می کند‪.‬‬

:‫ با چند مثال آنرا بررس ی می کنیم‬،‫ گرامر بسیار ساده ای دارد‬CSS
Template:
Selection {
Property: value;
Property: value;
//Comment /*Comment */
}
Example:
div.main {
background-color:#777777;
border-width: 1px;
border-style: solid;
font-family: ‘Tahoma’;
}



‫•‬
‫•در سه جای مختلف می توان از ‪ CSS‬استفاده کرد‪:‬‬

‫‪ CSS‬جزئیات گرامری مختلفی نیز دارد که در طی این ارائه با آنها بیشتر آشنا خواهیم شد‪.‬‬

‫•‬
‫•برچسب های ‪ Style‬در داخل فایل ‪ :HTML‬می توان با افزودن برچسب ‪ Style‬در ‪Head‬یا ‪Body‬‬
‫فایل های ‪ :CSS‬می توان ‪ CSS‬را در فایلی جداگانه نوشت و آنرا در ‪ HTML‬افزود‪.‬‬

‫یک سند‪ CSS ،‬تعریف کرد‪.‬‬

‫•‬

‫صفت ‪ Style‬برای برچسب ها‪ :‬می توان در یکی از صفتهای هر برچسب‪ CSS ،‬آنرا تعریف کرد‪ .‬در این‬

‫حالت دیگر انتخابگر مطرح نیست و قالب بندی تنها برای آن برچسب اعمال می شود‪.‬‬

‫•‬
‫•استفاده از حالت سوم (‪ )Inline CSS‬توصیه نمی شود و جدابودن محتوی از قالب را زیر سوال می‬
‫سه نوع تعریف ‪ CSS‬می توانند همزمان باشند‪ .‬اولویت آنها به ترتیب افزایش می یابد‪.‬‬

‫برد‪ ،‬اما در جاهای خاص ی استفاده از آن کار را راحتتر می کند‪.‬‬

:HTML ‫ جدا و استفاده از آن در‬CSS ‫تعریف در فایل‬
//SomeFile.css
input[text] {
width:200px;
background-color:#000000;
border:solid 0px;
}







:HTML ‫ در بدنه سند‬CSS ‫تعریف‬






:‫ در صفت یک برچسب‬CSS ‫تعریف‬


This is some text with tahoma font






‫چگونگی انتخاب برچسبها‬

‫•‬

‫براي مشخص كردن اينكه يك ‪ CSS‬به كدامين اشياء يك صفحه اعمال شود‪ ،‬بايد از انتخابگرها استفاده‬

‫نمود‪ .‬هر انتخاب گر يك يا چند ش يء در يك صفحه ‪ HTML‬را انتخاب مي كند و سپس مي توان قالب هاي‬

‫مورد نظر را به آن اعمال كرد‪.‬‬

‫•‬

‫انتخابگرهاي ‪ CSS‬تنوع و قدرت به سزايي دارند بنابراين در اين بخش در حدي كه نيازهاي اوليه مرتفع‬

‫شوند آنها را بررس ي خواهيم كرد‪.‬‬

‫•‬

‫انتخابگر ها در دو نحوه اوليه تعريف ‪ CSS‬ها قابل استفاده هستند به قالب زير‪:‬‬
‫{ ‪SelectorStatement‬‬
‫;‪Css Properties & Values‬‬

‫}‬

‫انتخاب تمام برچسب ها ‪* :‬‬
‫انتخاب برچسب هاي خاص‪tagName :‬‬
‫انتخاب برچسبي از زيربرچسب هاي يك برچسب ديگر‪ParentTag DescendantTag :‬‬
‫انتخاب برچسبي از فرزندان يك برچسب ديگر ‪ParentTag > ChildTag :‬‬
‫انتخاب برچسبي بعد از يك برچسب ديگر‪Tag1 + Tag2 :‬‬
‫انتخاب برچسبي با صفتي خاص‪Tag[attrib=“value”] :‬‬
‫آنتخاب يك برچسب در وضعيت هاي خاص‪:‬‬
‫لينك ديده نشده ‪Tag:link‬‬

‫برچسبي كه ماوس رويش است ‪Tag:hover‬‬

‫لينك ديده شده ‪Tag:visited‬‬

‫برچسب درحال كليك ‪Tag:active‬‬
‫برچسب فعال صفحه ‪Tag:focus‬‬

‫•‬

‫همانطور كه قبل ذكر شد‪ ،‬هر بچسب در ‪ HTML‬مي تواند صفات خاص ي را داشته باشد‪ .‬صفاتي كه در‬

‫‪ CSS‬به ما كمك مي كنند‪ ،‬دو صفت ‪ class , id‬هستند‪ .‬با اختصاص دادن اين دو صفت به يك برچسب‬

‫در ‪ HTML‬مي توان ويژگيهاي ‪ CSS‬آنرا به سادگي كنترل كرد‪.‬‬

‫•‬

‫با تعريف يك كلس خاص براي برچسبي ‪ ،‬مي توان آنرا جزو دسته اي قرار داد كه ويژگيهاي ‪CSS‬مشترك‬

‫خاص ي بر روي همگي آنها اعمال شود‪.‬‬

‫•‬

‫با تعريف يك مشخصه منحصره (‪ )Unique Identifier‬براي يك برچسب‪ ،‬مي توان كنترل هاي‬

‫خاص ي از طريق ‪CSS‬و جاوااسكريپت بر روي آن برچسب اعمال كرد‪.‬‬

‫•‬

‫بايد توجه گردد كه ‪ id‬هيچ دو برچسبي در يك سند ‪HTML‬نبايد يكسان باشند‪ ،‬در غير اينصورت نتايج‬

‫قابل پيش بيني نخواهد بود‪.‬‬

*{
font-family: “Tahoma”, “Trebuchet”,”MS Sans Serif”
}
div.Container {
background-color:#777777;
border-width: 1px;
}
P#title {
font-weight:bold;
}
H1 + P {
font-style:italic;
}
input [type=‘button’] {
border-style:none;
}
Body Form > input[type=‘text’] {
text-align:center;
}
DIV P * [title] {
color:#ffffff;
}

‫•‬

‫براي اينكه ‪ CSS‬خاص ي را به چند انتخابگر يكجا اعمال كنيم‪ ،‬مي توانيم آنها را به صورت گروهي قرار‬

‫دهيم‪:‬‬
‫{ ]’‪div.Container , p , input[type=‘text‬‬
‫; ’‪font-family: ‘Tahoma’, ‘Comic Sans MS‬‬
‫}‬

‫•‬
‫• ‪CSS‬با استفاده از عبارات جاوااسكريپت مي تواند مقادير پويا (نسبت به شرايط ‪ )Client‬را به‬
‫در صورتي كه چند دستور يكسان ‪ CSS‬به يك برچسب خاص اعمال شوند‪ ،‬آخرين آنها باقي مي ماند‪.‬‬

‫‪ Property‬ها اعمال كند‪:‬‬
‫;‪Width: expression( document.width /2 )px‬‬

‫مشخصه هاي استاندارد ‪CSS 2‬‬

‫‪o‬‬
‫‪(scroll,fixed)o‬‬

‫‪ : Background‬خلصه اي براي تنظيم تمام مشخصات ‪Background‬‬
‫‪ : Background-Attachement‬وضعيت قرارگيري تصوير در‬

‫‪ ،Background‬در صورتي كه ‪fixed‬باشد‪ ،‬با جابجايي صفحه پشت صفحه آن حركت نخواهد كرد‪.‬‬

‫‪o‬‬
‫‪ :Background-image o‬يا مقدار ‪ none‬مي گيرد و يا با استفاده از )‪URL(adress‬يك آدرس‬
‫)‪ : Background-color (RGB Value‬رنگ پشت صفحه‬

‫فايل تصويري (آدرس وب)‬

‫‪o‬‬
‫‪ :Background-repeato‬در صورتي كه از تصوير استفاده شود‪ ،‬روش تكرار آنرا مشخص مي كند‪.‬‬
‫‪ :Background-position‬مقاديري مانند … ‪top left, center center ,‬‬

‫مقادير مجاز عبارتند از ‪no-repeat, repeat-x,repeat-y,repeat‬‬

‫‪o‬‬
‫‪ :Border-widtho‬عرض حاشيه (ضخامت آن) به عدد‪ ،‬درصد و واحد هاي ديگر اندازه‬
‫‪ :Border-coloro‬رنگ حاشيه به ‪RGB‬‬
‫‪ :Border-styleo‬نوع حاشيه از مقادير ‪none, hidden, dotted, dashed, solid,‬‬
‫‪ :Border‬خلصه اي براي تنظيم مشخصات حاشيه‪ ،‬به ترتيب عرض‪ ،‬نوع و رنگ مي گيرد‪.‬‬

‫‪double, groove, ridge, inset, outset‬‬

‫‪o‬‬

‫براي تغيير تنظيمات مربوط به حاشيه نواحي مختلف (باال‪ ،‬پايين‪ ،‬چپ‪ ،‬راست)مي توانيد از چهار ويژگي باال‬

‫به همراه نام طرف مورد نظر استفاده نماييد‪ ،‬براي مثال‪:‬‬

‫‪o‬‬
‫‪Border-top-coloro‬‬
‫‪Border-bottomo‬‬

‫‪Border-left-width‬‬

o

url(file), auto, ‫ مقادير مجاز عبارتند از‬،‫ شمايل اشاره گر ماوس را معين مي سازد‬:Cursor

crosshair, default, pointer, move, e-resize, ne-resize, nw-resize , nresize, se-resize, sw-resize, s-resize, w-resize , text, wait , help
none, inline, block, list- ‫ مقادير مجاز عبارتند از‬،‫ نحوه نمايش يك برچسب‬:Display

o

item, run-in, compact, marker, table, inline-table , ….

left,

right,

‫ مقادير مجاز عبارتند از‬،‫ گرايش و شناوري يك برچسب به طرفي خاص‬:Float

o

none
Static, Relative, ‫ مقادير مجاز عبارتند از‬،‫ نحوه قرارگيري يك برچسب در يك سند‬:Position

o

Absolute, Fixed

‫‪o‬‬
‫‪ :Line-Heighto‬فاصله بين دو خط متن در سند‬
‫‪ :Max-Heighto‬حداكثر ارتفاعي كه يك برچسب مي تواند داشته باشد‬
‫‪ :Min-Heighto‬حداقل ارتفاع يك برچسب‬
‫‪ :Widtho‬عرض يك برچسب‬
‫‪ :Max-Widtho‬حداكثر عرض يك برچسب‬
‫‪ :Min-Widtho‬حداقل عرض يك برچسب‬
‫‪ :Height‬ارتفاع يك برچسب در سند‪ .‬مشخصه اندازه اي‬

‫‪o‬‬
‫‪ :Font-Familyo‬نام قلم‪ ،‬بهتر است ليستي از قلمها بسته به پشتيباني از سيستم ها انتخاب شود‪.‬‬
‫‪ :Font‬ميانبري براي اعمال مشخصات كامل فونت و قلم‬

‫معموال نوشته هاي فارس ي با قلم ‪ Tahoma‬خوب نمايش داده مي شوند‪.‬‬

‫‪o‬‬

‫‪ :Font-Size‬اندازه قلم‪ .‬هم مي تواند از انواع مقداري قرار داده شود هم مي تواند يكي از مقادير مجاز‬

‫باشد‬

‫‪xx-small, x-small, small, medium, large, x-large, xx-large,‬‬

‫‪smaller, larger‬‬

‫‪o‬‬

‫‪ :Font-Stretch‬كشيدگي فونت (فاصلي افقي مابين حرفهاي آن)يا مقدار عددي يا يكي از مقادير‬

‫‪normal, wider, narrower, ultra-condensed, extra-condensed, condensed,‬‬
‫‪semi-condensed, semi-expanded, expanded, extra-expanded, ultra-expanded‬‬

‫‪o‬‬
‫‪ :Font-Weighto‬يكي از مقادير ‪ normal, bold, bolder, lighter‬و يا مقدار عددي‬
‫‪ :Font-Style‬يكي از مقادير ‪Normal, Italic, Oblique‬‬

o
none , url(file) :List-Style-Imageo
inside, outside :List-style-Positiono
‫ موارد مجاز عبارتند از‬،‫ شكل موارد ليست‬:List-Style-Typeo

‫ موقعيت و تصوير ليست را مي گيرد‬، ‫ نوع‬،‫ به ترتيب‬.‫ ميانبري براي تنظيمات ليست‬:List-Style

none, disc, circle,

square, decimal, decimal-leading-zero, lower-roman, upper-roman,
lower-alpha,

upper-alpha,

lower-greek,

lower-latin,

upper-latin,

hebrew, armenian, georgian, cjk-ideographic, hiragana, katakana,
hiragana-iroha, katakana-iroha

)auto ‫ فاصله علمت از نوشتار (مقدار يا‬:Marker-Offset

o

‫‪o‬‬

‫‪ :Margin‬ميانبري براي تنظيمات كناره‪ .‬به ترتيب اندازه كناره هاي باال‪ ،‬راست‪ ،‬پايين و چپ را مي گيرد‬

‫(ساعتگرد)‬

‫‪o‬‬

‫‪ :Margin-left, Margin-right, Margin-top, Margin-bottom‬مقدار كناره‪ ،‬مقدار يا‬

‫‪auto‬‬

‫‪o‬‬
‫‪ :Padding-left, Padding-right, Padding-top, Padding-bottomo‬مقدار اليي‬
‫‪ :Padding‬ميانبري براي تنظيم مشخصات اليي گذاري‪ ،‬به ترتيب باال‪ ،‬راست‪ ،‬پايين و چپ‬

‫گذاري‪ ،‬مقدار يا ‪auto‬‬

‫‪o‬‬
‫‪ :Outline-coloro‬رنگ خط حاشيه به ‪RGB‬‬
‫‪ :Outline-styleo‬نوع خط حاشيه يك ش يء‪ ،‬انوع مجاز عبارتند از ‪none, dotted, dashed,‬‬
‫‪ :Outline‬ميانبري براي تمام تنظيمات خط حاشيه‪ ،‬به ترتيب رنگ‪ ،‬نوع و عرض‬

‫‪solid , double , groove, ridge, inset, outset‬‬

‫‪o‬‬

‫‪ :Outline-width‬قطوري خط حاشيه‪ ،‬مقدار عددي يا يكي از مقادير ‪thin, thick, medium‬‬

‫‪o‬‬

‫‪ :Overflow‬در صورتي كه محتويات يك برچسب در آن جاي نگيرند‪ ،‬اين مشخصه معين مي سازد كه‬

‫چه اتفاقي بيافتد‪ .‬مقادير مجاز عبارتند از ‪Visible, Hidden, Auto, Scroll‬‬

‫‪o‬‬

‫‪ :Position‬نحوه قرارگيري برچسب نسبت به سند‪ ،‬مقادير مجاز عبارتند از ‪Static, Relative,‬‬

‫‪Absolute, Fixed‬‬

‫‪o‬‬

‫‪ :Vertical-Align‬نحوه قرارگيري عمودي يك برچسب در داخل برچسب پدر خود را مشخص مي كند‪.‬‬

‫مقادير مجاز عبارتند از ‪baseline, sub, super, top, text-top, middle, bottom,‬‬
‫‪ text-bottom‬و يا مقدار عددي‬

‫‪o‬‬

‫‪ :Z-Index‬اولويت قرارگيري در بعد سوم در صفحه (يعني جلو پشت ديگر برچسب ها)‪ Auto .‬يا يك‬

‫عدد‬

‫‪o‬‬

‫‪ :Border-Collapse‬معين مي سازد كه حواش ي جداول جدا باشند و يا يك مجموعه خط بهم‬

‫پيوسته باشند‪ .‬مقادير مجاز ‪Separate , Collapse‬‬

‫‪o‬‬
‫‪ :Empty-Cellsٍo‬مشخص مي كند كه سلول هاي خالي در مدل ‪ Seperate‬نمايش داده شوند و يا‬
‫‪ :Border-Spacing‬فاصله ميان دو حاشيه جدول‪ ،‬تنها در صورتي كه ‪ Seperate‬باشد‪.‬‬

‫خير‪ .‬مقادير مجاز ‪Show/Hide‬‬

‫‪o‬‬

‫‪ :Table Layout‬الگوريتم نحوه نمايش سلولهاي يك جدول‪Auto/Fixed ،‬‬

‫‪o‬‬
‫‪ :Directiono‬جهت متن (و محتويات)يك برچسب را مشخص مي سازد‪ ،‬مقادير مجاز ‪LTR/RTL‬‬
‫‪ :Text-Aligno‬مقادير مجاز ‪Left, Right, Center, Justify‬‬
‫‪ :Text-Decorationo‬افزودن افكتي به متن‪ ،‬مقادير مجاز عبارتند از ‪none, underline,‬‬
‫‪ :Color‬رنگ يك متن را مشخص مي سازد‪RGB ،‬‬

‫‪overline, line-through, blink‬‬

‫‪o‬‬
‫‪ :Word-Spacingo‬فاصله ميان لغات يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Letter-Spacingo‬فاصله ميان حروف يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Text-Indent‬تو رفتگي اولين خط يك متن‪ .‬مقدار عددي‬

‫تسلط كامل بر ‪CSS‬‬

‫‪o‬‬

‫در ‪ CSS‬رنگها را به دو شیوه می توان مشخص کرد‪:‬‬

‫‪o‬‬
‫‪o‬استفاده از نام رنگ‬

‫تعیين مقدار ‪ 24‬بیتی ‪ RGB‬آنها‬

‫‪o‬‬

‫در روش اول ‪ 16‬میلیون رنگ مختلف برای انتخاب وجود دارند‪ ،‬اما در روش دوم حدود ‪ 200‬رنگ با نام‬

‫های مختلف قابل استفاده هستند‪.‬‬

‫‪o‬‬
‫‪o‬برای مشخص کردن رنگ ‪ ،RGB‬پس از قرار دادن علمت ‪ #‬به ترتیب مقدار ‪ R‬و ‪ G‬و ‪ B‬را در مبنای ‪16‬‬
‫برای مشخص کردن رنگ با نام آن‪ ،‬کافیست نام رنگ را بنویسید‪Cyan, Purple :‬‬

‫وارد می کنیم‪#FFFFFF , #00FF00 :‬‬

‫‪o‬‬

‫همچنين می توان برای مشخص کردن رنگ ‪ RGB‬به صورت روبرو عمل کرد‪RGB(100,255,10):‬‬

‫و یا)‪RGB(70%,20%,100%‬‬

‫‪o‬‬

‫تمامی مقادیر اندازه ای در ‪ CSS‬واحد های متفاوتی را می پذیرند‪ .‬پایه ای ترین واحد همان ‪ Pixel‬است‬

‫که با ‪ px‬در انتهای مقدار مشخص می گردد‪ .‬واحدهای دیگر عبارتند از‪:‬‬

‫‪o‬‬
‫‪ :Ino‬اینچ‬
‫‪ :Cmo‬سانتیمتر‬
‫‪ :Mmo‬میلیمتر‬
‫‪ :Emo‬اندازه فونت‬
‫‪ 1/72 :Pto‬اینتچ‬
‫‪pt 12 :Pco‬‬
‫‪ :Pxo‬یک نقطه‬
‫‪ :%‬درصد!‬

‫‪o‬‬

‫شفافیت )‪ (Transparency‬یک عملیات پیچیده برای سیستم هاییست که کارت گرافیکی قدرتمندی‬

‫ندارد و موتور گرافیکی کاوشگر برای پیاده کردن آن بشدت زیر بار قرار می گيرد‪.‬‬

‫‪o‬‬

‫با استفاده از شفافیت می توان جذابیت بصری را بسیار باالتر برد‪ ،‬اما باید دقت داشت که کندی پردازش‬

‫تصویری سایت برای کاربر ایجاد مزاحمت نکند‪.‬‬

‫‪o‬‬
‫‪ o‬برای ایجاد شفافیت در کاوشگرهای استادارد‪ ،‬از ‪ Opacity : .5‬استفاده می شود‪.‬‬
‫‪o‬برای ایجاد شفافیت در ‪ IE‬از )‪ filter:alpha(opacity=50‬استفاده می شود‪.‬‬
‫‪o‬برای اینکه شفافیت در تمامی کاوشگرها درست نمایش داده شود الزم است هردو دستور باال بکار روند‪.‬‬
‫متاسفانه کاوشگر ‪ IE‬برای شفافیت از دستورات خود استفاده می کند که استاندارد نیستند‪.‬‬

‫‪o‬‬

‫کاوشگرهایی مانند ‪ Firefox‬دستورات ‪ CSS‬ویژه ای دارند (البته ‪ IE‬نيز دستورات مخصوص خود را‬

‫داراست) ‪.‬‬

‫‪o‬‬

‫عبارت ‪ –moz-border-radius‬می تواند گوشه های مستطیل ها را از تيزی درآورده و آنها را نرم‬

‫کند‪-moz-border-radius: 5px; :‬‬

‫‪o‬‬

‫استفاده از این عبارت و راه حل های مشابه پیشنهاد نمی شود زیرا این نما تنها در ‪ Firefox‬قابل مشاهده‬

‫خواهد بود‪.‬‬

‫‪o‬‬

‫‪ CSS‬توانایی آنرا داراست که برای رسانه های خاص تفاوت کند! برای مثال می توانید ‪ CSS‬یک سایت‬

‫را طوری تعریف کنید که رنگ نوشته های آن قرمز باشد ولی هنگام پرینت مشکی شود‪.‬‬

‫‪o‬‬

‫برای مشخص کردن اینکه ‪ CSS‬را برای چه رسانه ای می نویسیم‪ ،‬از ‪ @media‬استفاده می کنیم‪:‬‬
‫‪@media screen‬‬
‫};‪* { color:#ff0000‬‬
‫‪@media print‬‬
‫};‪* { color:#000000‬‬

‫رسانه های معمول عبارتند از‪all, braille, handheld, print, projection, screen, tv, :‬‬
‫…‬

‫‪ CSS‬را قورت بده!‬

‫‪o‬‬

‫فایل ‪ HTML‬ای که در تمرینات ‪ HTML‬ساخته اید و تمامی برچسب ها را داراست‪ ،‬با استفاده از تمامی‬

‫برچسب های ‪ CSS‬قالب بندی کنید‪ .‬سعی کنید زیبایی کافی و قالب بندی مناسب برای سند اتفاق بیافتد! در‬

‫داخل سند تنها می توانید برچسبهای ‪ DIV‬و ‪ SPAN‬اضافه کنید و یا به برچسب های موجود ‪ID ,‬‬
‫‪ CLASS‬بیافزایید‪.‬‬

‫‪o‬‬
‫‪o‬آیا می توان با استفاده از ‪ CSS‬منو ساخت؟ اگر بله راه حل را معين کنید‪.‬‬
‫‪o‬مزایا و معایب نوشتن ‪ CSS‬در یک فایل جداگانه را برشمارید‪.‬‬
‫‪o‬با استفاده از ‪ CSS‬یک ‪ taskbar‬برای یک صفحه بسازید که همواره در قسمت پایين پنجره کاوشگر‬
‫بدون استفاده از جداول و تنها با استفاده از ‪ CSS‬یک صفحه سه ستونی (مانند ‪ )SBCE.ir‬بسازید‪.‬‬

‫(نه لزوما انتهای سند) باشد‪.‬‬


Slide 7

‫کارگاه آموزش ی توسعه وب‬
‫بخش دوم ‪CSS -‬‬

‫ارائه‪ :‬عباس نادری‬
‫انجمن علمی دانشجویی‬
‫مهندس ی کامپیوتر‬
‫نسخه ‪1‬‬

‫دانشگاه شهید بهشتی‬

‫‪ CSS‬چیست ؟‬

‫•‬
‫•معمول ترین استفاده ‪ CSS‬برای قالب بندی اسناد وب )‪ (HTML‬منظور می شود‪.‬‬
‫•با پیچیده شدن وب ها‪ ،‬تصمیم بر آن شد تا محتوا از قالب بندی تفکیک شود و توسعه وب تسهیل‬
‫‪ CSS‬یا ‪ Casacading Style Sheets‬یک استاندارد قالب بندی ظاهری اسناد است‪.‬‬

‫گردد‪.‬‬

‫•‬

‫‪ CSS‬سه نسخه اصلی دارد‪:‬‬

‫•‬
‫•‪ :CSS 2‬در سال ‪ 1998‬توسط ‪ W3C‬استاندارد شد و هنوز به عنوان استاندارد بکار می رود‪.‬‬
‫•‪ :CSS 3‬هنوز در دست توسعه توسط ‪ W3C‬است‪.‬‬
‫‪ :CSS 1‬در سال ‪ 1996‬توسط ‪ W3C‬استاندارد شد‪.‬‬

‫•‬

‫‪ CSS‬به دلیل امکان استفاده مجدد‪ ،‬به شدت توسعه وب را ساده و سریع می کند‪ .‬همچنین قالب‬

‫بندی صفحات با استفاده از آن در قالب تیمی مقدور خواهد بود‪.‬‬

‫•‬

‫‪ CSS‬از طریق انتخابگرها قالب بندی را سرعت می بخشد‪ .‬همچنین از موتور انتخابگر ‪ CSS‬در‬

‫کاربردهای دیگر بهره فراوان برده می شود‪.‬‬

‫•‬

‫‪ :Layout Engine‬برنامه ایست در کاوشگرها که سند ‪ HTML‬و فایل ‪ CSS‬را دریافت کرده‪،‬‬

‫خروجی گرافیکی بر روی صفحه تولید می نماید‪.‬‬

‫•‬

‫‪ :Selector Engine‬موتوریست بر روی کاوشگر که زیرمجموعه ای از برچسب های ‪ HTML‬را‬

‫انتخاب می کند‪.‬‬

:‫ با چند مثال آنرا بررس ی می کنیم‬،‫ گرامر بسیار ساده ای دارد‬CSS
Template:
Selection {
Property: value;
Property: value;
//Comment /*Comment */
}
Example:
div.main {
background-color:#777777;
border-width: 1px;
border-style: solid;
font-family: ‘Tahoma’;
}



‫•‬
‫•در سه جای مختلف می توان از ‪ CSS‬استفاده کرد‪:‬‬

‫‪ CSS‬جزئیات گرامری مختلفی نیز دارد که در طی این ارائه با آنها بیشتر آشنا خواهیم شد‪.‬‬

‫•‬
‫•برچسب های ‪ Style‬در داخل فایل ‪ :HTML‬می توان با افزودن برچسب ‪ Style‬در ‪Head‬یا ‪Body‬‬
‫فایل های ‪ :CSS‬می توان ‪ CSS‬را در فایلی جداگانه نوشت و آنرا در ‪ HTML‬افزود‪.‬‬

‫یک سند‪ CSS ،‬تعریف کرد‪.‬‬

‫•‬

‫صفت ‪ Style‬برای برچسب ها‪ :‬می توان در یکی از صفتهای هر برچسب‪ CSS ،‬آنرا تعریف کرد‪ .‬در این‬

‫حالت دیگر انتخابگر مطرح نیست و قالب بندی تنها برای آن برچسب اعمال می شود‪.‬‬

‫•‬
‫•استفاده از حالت سوم (‪ )Inline CSS‬توصیه نمی شود و جدابودن محتوی از قالب را زیر سوال می‬
‫سه نوع تعریف ‪ CSS‬می توانند همزمان باشند‪ .‬اولویت آنها به ترتیب افزایش می یابد‪.‬‬

‫برد‪ ،‬اما در جاهای خاص ی استفاده از آن کار را راحتتر می کند‪.‬‬

:HTML ‫ جدا و استفاده از آن در‬CSS ‫تعریف در فایل‬
//SomeFile.css
input[text] {
width:200px;
background-color:#000000;
border:solid 0px;
}







:HTML ‫ در بدنه سند‬CSS ‫تعریف‬






:‫ در صفت یک برچسب‬CSS ‫تعریف‬


This is some text with tahoma font






‫چگونگی انتخاب برچسبها‬

‫•‬

‫براي مشخص كردن اينكه يك ‪ CSS‬به كدامين اشياء يك صفحه اعمال شود‪ ،‬بايد از انتخابگرها استفاده‬

‫نمود‪ .‬هر انتخاب گر يك يا چند ش يء در يك صفحه ‪ HTML‬را انتخاب مي كند و سپس مي توان قالب هاي‬

‫مورد نظر را به آن اعمال كرد‪.‬‬

‫•‬

‫انتخابگرهاي ‪ CSS‬تنوع و قدرت به سزايي دارند بنابراين در اين بخش در حدي كه نيازهاي اوليه مرتفع‬

‫شوند آنها را بررس ي خواهيم كرد‪.‬‬

‫•‬

‫انتخابگر ها در دو نحوه اوليه تعريف ‪ CSS‬ها قابل استفاده هستند به قالب زير‪:‬‬
‫{ ‪SelectorStatement‬‬
‫;‪Css Properties & Values‬‬

‫}‬

‫انتخاب تمام برچسب ها ‪* :‬‬
‫انتخاب برچسب هاي خاص‪tagName :‬‬
‫انتخاب برچسبي از زيربرچسب هاي يك برچسب ديگر‪ParentTag DescendantTag :‬‬
‫انتخاب برچسبي از فرزندان يك برچسب ديگر ‪ParentTag > ChildTag :‬‬
‫انتخاب برچسبي بعد از يك برچسب ديگر‪Tag1 + Tag2 :‬‬
‫انتخاب برچسبي با صفتي خاص‪Tag[attrib=“value”] :‬‬
‫آنتخاب يك برچسب در وضعيت هاي خاص‪:‬‬
‫لينك ديده نشده ‪Tag:link‬‬

‫برچسبي كه ماوس رويش است ‪Tag:hover‬‬

‫لينك ديده شده ‪Tag:visited‬‬

‫برچسب درحال كليك ‪Tag:active‬‬
‫برچسب فعال صفحه ‪Tag:focus‬‬

‫•‬

‫همانطور كه قبل ذكر شد‪ ،‬هر بچسب در ‪ HTML‬مي تواند صفات خاص ي را داشته باشد‪ .‬صفاتي كه در‬

‫‪ CSS‬به ما كمك مي كنند‪ ،‬دو صفت ‪ class , id‬هستند‪ .‬با اختصاص دادن اين دو صفت به يك برچسب‬

‫در ‪ HTML‬مي توان ويژگيهاي ‪ CSS‬آنرا به سادگي كنترل كرد‪.‬‬

‫•‬

‫با تعريف يك كلس خاص براي برچسبي ‪ ،‬مي توان آنرا جزو دسته اي قرار داد كه ويژگيهاي ‪CSS‬مشترك‬

‫خاص ي بر روي همگي آنها اعمال شود‪.‬‬

‫•‬

‫با تعريف يك مشخصه منحصره (‪ )Unique Identifier‬براي يك برچسب‪ ،‬مي توان كنترل هاي‬

‫خاص ي از طريق ‪CSS‬و جاوااسكريپت بر روي آن برچسب اعمال كرد‪.‬‬

‫•‬

‫بايد توجه گردد كه ‪ id‬هيچ دو برچسبي در يك سند ‪HTML‬نبايد يكسان باشند‪ ،‬در غير اينصورت نتايج‬

‫قابل پيش بيني نخواهد بود‪.‬‬

*{
font-family: “Tahoma”, “Trebuchet”,”MS Sans Serif”
}
div.Container {
background-color:#777777;
border-width: 1px;
}
P#title {
font-weight:bold;
}
H1 + P {
font-style:italic;
}
input [type=‘button’] {
border-style:none;
}
Body Form > input[type=‘text’] {
text-align:center;
}
DIV P * [title] {
color:#ffffff;
}

‫•‬

‫براي اينكه ‪ CSS‬خاص ي را به چند انتخابگر يكجا اعمال كنيم‪ ،‬مي توانيم آنها را به صورت گروهي قرار‬

‫دهيم‪:‬‬
‫{ ]’‪div.Container , p , input[type=‘text‬‬
‫; ’‪font-family: ‘Tahoma’, ‘Comic Sans MS‬‬
‫}‬

‫•‬
‫• ‪CSS‬با استفاده از عبارات جاوااسكريپت مي تواند مقادير پويا (نسبت به شرايط ‪ )Client‬را به‬
‫در صورتي كه چند دستور يكسان ‪ CSS‬به يك برچسب خاص اعمال شوند‪ ،‬آخرين آنها باقي مي ماند‪.‬‬

‫‪ Property‬ها اعمال كند‪:‬‬
‫;‪Width: expression( document.width /2 )px‬‬

‫مشخصه هاي استاندارد ‪CSS 2‬‬

‫‪o‬‬
‫‪(scroll,fixed)o‬‬

‫‪ : Background‬خلصه اي براي تنظيم تمام مشخصات ‪Background‬‬
‫‪ : Background-Attachement‬وضعيت قرارگيري تصوير در‬

‫‪ ،Background‬در صورتي كه ‪fixed‬باشد‪ ،‬با جابجايي صفحه پشت صفحه آن حركت نخواهد كرد‪.‬‬

‫‪o‬‬
‫‪ :Background-image o‬يا مقدار ‪ none‬مي گيرد و يا با استفاده از )‪URL(adress‬يك آدرس‬
‫)‪ : Background-color (RGB Value‬رنگ پشت صفحه‬

‫فايل تصويري (آدرس وب)‬

‫‪o‬‬
‫‪ :Background-repeato‬در صورتي كه از تصوير استفاده شود‪ ،‬روش تكرار آنرا مشخص مي كند‪.‬‬
‫‪ :Background-position‬مقاديري مانند … ‪top left, center center ,‬‬

‫مقادير مجاز عبارتند از ‪no-repeat, repeat-x,repeat-y,repeat‬‬

‫‪o‬‬
‫‪ :Border-widtho‬عرض حاشيه (ضخامت آن) به عدد‪ ،‬درصد و واحد هاي ديگر اندازه‬
‫‪ :Border-coloro‬رنگ حاشيه به ‪RGB‬‬
‫‪ :Border-styleo‬نوع حاشيه از مقادير ‪none, hidden, dotted, dashed, solid,‬‬
‫‪ :Border‬خلصه اي براي تنظيم مشخصات حاشيه‪ ،‬به ترتيب عرض‪ ،‬نوع و رنگ مي گيرد‪.‬‬

‫‪double, groove, ridge, inset, outset‬‬

‫‪o‬‬

‫براي تغيير تنظيمات مربوط به حاشيه نواحي مختلف (باال‪ ،‬پايين‪ ،‬چپ‪ ،‬راست)مي توانيد از چهار ويژگي باال‬

‫به همراه نام طرف مورد نظر استفاده نماييد‪ ،‬براي مثال‪:‬‬

‫‪o‬‬
‫‪Border-top-coloro‬‬
‫‪Border-bottomo‬‬

‫‪Border-left-width‬‬

o

url(file), auto, ‫ مقادير مجاز عبارتند از‬،‫ شمايل اشاره گر ماوس را معين مي سازد‬:Cursor

crosshair, default, pointer, move, e-resize, ne-resize, nw-resize , nresize, se-resize, sw-resize, s-resize, w-resize , text, wait , help
none, inline, block, list- ‫ مقادير مجاز عبارتند از‬،‫ نحوه نمايش يك برچسب‬:Display

o

item, run-in, compact, marker, table, inline-table , ….

left,

right,

‫ مقادير مجاز عبارتند از‬،‫ گرايش و شناوري يك برچسب به طرفي خاص‬:Float

o

none
Static, Relative, ‫ مقادير مجاز عبارتند از‬،‫ نحوه قرارگيري يك برچسب در يك سند‬:Position

o

Absolute, Fixed

‫‪o‬‬
‫‪ :Line-Heighto‬فاصله بين دو خط متن در سند‬
‫‪ :Max-Heighto‬حداكثر ارتفاعي كه يك برچسب مي تواند داشته باشد‬
‫‪ :Min-Heighto‬حداقل ارتفاع يك برچسب‬
‫‪ :Widtho‬عرض يك برچسب‬
‫‪ :Max-Widtho‬حداكثر عرض يك برچسب‬
‫‪ :Min-Widtho‬حداقل عرض يك برچسب‬
‫‪ :Height‬ارتفاع يك برچسب در سند‪ .‬مشخصه اندازه اي‬

‫‪o‬‬
‫‪ :Font-Familyo‬نام قلم‪ ،‬بهتر است ليستي از قلمها بسته به پشتيباني از سيستم ها انتخاب شود‪.‬‬
‫‪ :Font‬ميانبري براي اعمال مشخصات كامل فونت و قلم‬

‫معموال نوشته هاي فارس ي با قلم ‪ Tahoma‬خوب نمايش داده مي شوند‪.‬‬

‫‪o‬‬

‫‪ :Font-Size‬اندازه قلم‪ .‬هم مي تواند از انواع مقداري قرار داده شود هم مي تواند يكي از مقادير مجاز‬

‫باشد‬

‫‪xx-small, x-small, small, medium, large, x-large, xx-large,‬‬

‫‪smaller, larger‬‬

‫‪o‬‬

‫‪ :Font-Stretch‬كشيدگي فونت (فاصلي افقي مابين حرفهاي آن)يا مقدار عددي يا يكي از مقادير‬

‫‪normal, wider, narrower, ultra-condensed, extra-condensed, condensed,‬‬
‫‪semi-condensed, semi-expanded, expanded, extra-expanded, ultra-expanded‬‬

‫‪o‬‬
‫‪ :Font-Weighto‬يكي از مقادير ‪ normal, bold, bolder, lighter‬و يا مقدار عددي‬
‫‪ :Font-Style‬يكي از مقادير ‪Normal, Italic, Oblique‬‬

o
none , url(file) :List-Style-Imageo
inside, outside :List-style-Positiono
‫ موارد مجاز عبارتند از‬،‫ شكل موارد ليست‬:List-Style-Typeo

‫ موقعيت و تصوير ليست را مي گيرد‬، ‫ نوع‬،‫ به ترتيب‬.‫ ميانبري براي تنظيمات ليست‬:List-Style

none, disc, circle,

square, decimal, decimal-leading-zero, lower-roman, upper-roman,
lower-alpha,

upper-alpha,

lower-greek,

lower-latin,

upper-latin,

hebrew, armenian, georgian, cjk-ideographic, hiragana, katakana,
hiragana-iroha, katakana-iroha

)auto ‫ فاصله علمت از نوشتار (مقدار يا‬:Marker-Offset

o

‫‪o‬‬

‫‪ :Margin‬ميانبري براي تنظيمات كناره‪ .‬به ترتيب اندازه كناره هاي باال‪ ،‬راست‪ ،‬پايين و چپ را مي گيرد‬

‫(ساعتگرد)‬

‫‪o‬‬

‫‪ :Margin-left, Margin-right, Margin-top, Margin-bottom‬مقدار كناره‪ ،‬مقدار يا‬

‫‪auto‬‬

‫‪o‬‬
‫‪ :Padding-left, Padding-right, Padding-top, Padding-bottomo‬مقدار اليي‬
‫‪ :Padding‬ميانبري براي تنظيم مشخصات اليي گذاري‪ ،‬به ترتيب باال‪ ،‬راست‪ ،‬پايين و چپ‬

‫گذاري‪ ،‬مقدار يا ‪auto‬‬

‫‪o‬‬
‫‪ :Outline-coloro‬رنگ خط حاشيه به ‪RGB‬‬
‫‪ :Outline-styleo‬نوع خط حاشيه يك ش يء‪ ،‬انوع مجاز عبارتند از ‪none, dotted, dashed,‬‬
‫‪ :Outline‬ميانبري براي تمام تنظيمات خط حاشيه‪ ،‬به ترتيب رنگ‪ ،‬نوع و عرض‬

‫‪solid , double , groove, ridge, inset, outset‬‬

‫‪o‬‬

‫‪ :Outline-width‬قطوري خط حاشيه‪ ،‬مقدار عددي يا يكي از مقادير ‪thin, thick, medium‬‬

‫‪o‬‬

‫‪ :Overflow‬در صورتي كه محتويات يك برچسب در آن جاي نگيرند‪ ،‬اين مشخصه معين مي سازد كه‬

‫چه اتفاقي بيافتد‪ .‬مقادير مجاز عبارتند از ‪Visible, Hidden, Auto, Scroll‬‬

‫‪o‬‬

‫‪ :Position‬نحوه قرارگيري برچسب نسبت به سند‪ ،‬مقادير مجاز عبارتند از ‪Static, Relative,‬‬

‫‪Absolute, Fixed‬‬

‫‪o‬‬

‫‪ :Vertical-Align‬نحوه قرارگيري عمودي يك برچسب در داخل برچسب پدر خود را مشخص مي كند‪.‬‬

‫مقادير مجاز عبارتند از ‪baseline, sub, super, top, text-top, middle, bottom,‬‬
‫‪ text-bottom‬و يا مقدار عددي‬

‫‪o‬‬

‫‪ :Z-Index‬اولويت قرارگيري در بعد سوم در صفحه (يعني جلو پشت ديگر برچسب ها)‪ Auto .‬يا يك‬

‫عدد‬

‫‪o‬‬

‫‪ :Border-Collapse‬معين مي سازد كه حواش ي جداول جدا باشند و يا يك مجموعه خط بهم‬

‫پيوسته باشند‪ .‬مقادير مجاز ‪Separate , Collapse‬‬

‫‪o‬‬
‫‪ :Empty-Cellsٍo‬مشخص مي كند كه سلول هاي خالي در مدل ‪ Seperate‬نمايش داده شوند و يا‬
‫‪ :Border-Spacing‬فاصله ميان دو حاشيه جدول‪ ،‬تنها در صورتي كه ‪ Seperate‬باشد‪.‬‬

‫خير‪ .‬مقادير مجاز ‪Show/Hide‬‬

‫‪o‬‬

‫‪ :Table Layout‬الگوريتم نحوه نمايش سلولهاي يك جدول‪Auto/Fixed ،‬‬

‫‪o‬‬
‫‪ :Directiono‬جهت متن (و محتويات)يك برچسب را مشخص مي سازد‪ ،‬مقادير مجاز ‪LTR/RTL‬‬
‫‪ :Text-Aligno‬مقادير مجاز ‪Left, Right, Center, Justify‬‬
‫‪ :Text-Decorationo‬افزودن افكتي به متن‪ ،‬مقادير مجاز عبارتند از ‪none, underline,‬‬
‫‪ :Color‬رنگ يك متن را مشخص مي سازد‪RGB ،‬‬

‫‪overline, line-through, blink‬‬

‫‪o‬‬
‫‪ :Word-Spacingo‬فاصله ميان لغات يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Letter-Spacingo‬فاصله ميان حروف يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Text-Indent‬تو رفتگي اولين خط يك متن‪ .‬مقدار عددي‬

‫تسلط كامل بر ‪CSS‬‬

‫‪o‬‬

‫در ‪ CSS‬رنگها را به دو شیوه می توان مشخص کرد‪:‬‬

‫‪o‬‬
‫‪o‬استفاده از نام رنگ‬

‫تعیين مقدار ‪ 24‬بیتی ‪ RGB‬آنها‬

‫‪o‬‬

‫در روش اول ‪ 16‬میلیون رنگ مختلف برای انتخاب وجود دارند‪ ،‬اما در روش دوم حدود ‪ 200‬رنگ با نام‬

‫های مختلف قابل استفاده هستند‪.‬‬

‫‪o‬‬
‫‪o‬برای مشخص کردن رنگ ‪ ،RGB‬پس از قرار دادن علمت ‪ #‬به ترتیب مقدار ‪ R‬و ‪ G‬و ‪ B‬را در مبنای ‪16‬‬
‫برای مشخص کردن رنگ با نام آن‪ ،‬کافیست نام رنگ را بنویسید‪Cyan, Purple :‬‬

‫وارد می کنیم‪#FFFFFF , #00FF00 :‬‬

‫‪o‬‬

‫همچنين می توان برای مشخص کردن رنگ ‪ RGB‬به صورت روبرو عمل کرد‪RGB(100,255,10):‬‬

‫و یا)‪RGB(70%,20%,100%‬‬

‫‪o‬‬

‫تمامی مقادیر اندازه ای در ‪ CSS‬واحد های متفاوتی را می پذیرند‪ .‬پایه ای ترین واحد همان ‪ Pixel‬است‬

‫که با ‪ px‬در انتهای مقدار مشخص می گردد‪ .‬واحدهای دیگر عبارتند از‪:‬‬

‫‪o‬‬
‫‪ :Ino‬اینچ‬
‫‪ :Cmo‬سانتیمتر‬
‫‪ :Mmo‬میلیمتر‬
‫‪ :Emo‬اندازه فونت‬
‫‪ 1/72 :Pto‬اینتچ‬
‫‪pt 12 :Pco‬‬
‫‪ :Pxo‬یک نقطه‬
‫‪ :%‬درصد!‬

‫‪o‬‬

‫شفافیت )‪ (Transparency‬یک عملیات پیچیده برای سیستم هاییست که کارت گرافیکی قدرتمندی‬

‫ندارد و موتور گرافیکی کاوشگر برای پیاده کردن آن بشدت زیر بار قرار می گيرد‪.‬‬

‫‪o‬‬

‫با استفاده از شفافیت می توان جذابیت بصری را بسیار باالتر برد‪ ،‬اما باید دقت داشت که کندی پردازش‬

‫تصویری سایت برای کاربر ایجاد مزاحمت نکند‪.‬‬

‫‪o‬‬
‫‪ o‬برای ایجاد شفافیت در کاوشگرهای استادارد‪ ،‬از ‪ Opacity : .5‬استفاده می شود‪.‬‬
‫‪o‬برای ایجاد شفافیت در ‪ IE‬از )‪ filter:alpha(opacity=50‬استفاده می شود‪.‬‬
‫‪o‬برای اینکه شفافیت در تمامی کاوشگرها درست نمایش داده شود الزم است هردو دستور باال بکار روند‪.‬‬
‫متاسفانه کاوشگر ‪ IE‬برای شفافیت از دستورات خود استفاده می کند که استاندارد نیستند‪.‬‬

‫‪o‬‬

‫کاوشگرهایی مانند ‪ Firefox‬دستورات ‪ CSS‬ویژه ای دارند (البته ‪ IE‬نيز دستورات مخصوص خود را‬

‫داراست) ‪.‬‬

‫‪o‬‬

‫عبارت ‪ –moz-border-radius‬می تواند گوشه های مستطیل ها را از تيزی درآورده و آنها را نرم‬

‫کند‪-moz-border-radius: 5px; :‬‬

‫‪o‬‬

‫استفاده از این عبارت و راه حل های مشابه پیشنهاد نمی شود زیرا این نما تنها در ‪ Firefox‬قابل مشاهده‬

‫خواهد بود‪.‬‬

‫‪o‬‬

‫‪ CSS‬توانایی آنرا داراست که برای رسانه های خاص تفاوت کند! برای مثال می توانید ‪ CSS‬یک سایت‬

‫را طوری تعریف کنید که رنگ نوشته های آن قرمز باشد ولی هنگام پرینت مشکی شود‪.‬‬

‫‪o‬‬

‫برای مشخص کردن اینکه ‪ CSS‬را برای چه رسانه ای می نویسیم‪ ،‬از ‪ @media‬استفاده می کنیم‪:‬‬
‫‪@media screen‬‬
‫};‪* { color:#ff0000‬‬
‫‪@media print‬‬
‫};‪* { color:#000000‬‬

‫رسانه های معمول عبارتند از‪all, braille, handheld, print, projection, screen, tv, :‬‬
‫…‬

‫‪ CSS‬را قورت بده!‬

‫‪o‬‬

‫فایل ‪ HTML‬ای که در تمرینات ‪ HTML‬ساخته اید و تمامی برچسب ها را داراست‪ ،‬با استفاده از تمامی‬

‫برچسب های ‪ CSS‬قالب بندی کنید‪ .‬سعی کنید زیبایی کافی و قالب بندی مناسب برای سند اتفاق بیافتد! در‬

‫داخل سند تنها می توانید برچسبهای ‪ DIV‬و ‪ SPAN‬اضافه کنید و یا به برچسب های موجود ‪ID ,‬‬
‫‪ CLASS‬بیافزایید‪.‬‬

‫‪o‬‬
‫‪o‬آیا می توان با استفاده از ‪ CSS‬منو ساخت؟ اگر بله راه حل را معين کنید‪.‬‬
‫‪o‬مزایا و معایب نوشتن ‪ CSS‬در یک فایل جداگانه را برشمارید‪.‬‬
‫‪o‬با استفاده از ‪ CSS‬یک ‪ taskbar‬برای یک صفحه بسازید که همواره در قسمت پایين پنجره کاوشگر‬
‫بدون استفاده از جداول و تنها با استفاده از ‪ CSS‬یک صفحه سه ستونی (مانند ‪ )SBCE.ir‬بسازید‪.‬‬

‫(نه لزوما انتهای سند) باشد‪.‬‬


Slide 8

‫کارگاه آموزش ی توسعه وب‬
‫بخش دوم ‪CSS -‬‬

‫ارائه‪ :‬عباس نادری‬
‫انجمن علمی دانشجویی‬
‫مهندس ی کامپیوتر‬
‫نسخه ‪1‬‬

‫دانشگاه شهید بهشتی‬

‫‪ CSS‬چیست ؟‬

‫•‬
‫•معمول ترین استفاده ‪ CSS‬برای قالب بندی اسناد وب )‪ (HTML‬منظور می شود‪.‬‬
‫•با پیچیده شدن وب ها‪ ،‬تصمیم بر آن شد تا محتوا از قالب بندی تفکیک شود و توسعه وب تسهیل‬
‫‪ CSS‬یا ‪ Casacading Style Sheets‬یک استاندارد قالب بندی ظاهری اسناد است‪.‬‬

‫گردد‪.‬‬

‫•‬

‫‪ CSS‬سه نسخه اصلی دارد‪:‬‬

‫•‬
‫•‪ :CSS 2‬در سال ‪ 1998‬توسط ‪ W3C‬استاندارد شد و هنوز به عنوان استاندارد بکار می رود‪.‬‬
‫•‪ :CSS 3‬هنوز در دست توسعه توسط ‪ W3C‬است‪.‬‬
‫‪ :CSS 1‬در سال ‪ 1996‬توسط ‪ W3C‬استاندارد شد‪.‬‬

‫•‬

‫‪ CSS‬به دلیل امکان استفاده مجدد‪ ،‬به شدت توسعه وب را ساده و سریع می کند‪ .‬همچنین قالب‬

‫بندی صفحات با استفاده از آن در قالب تیمی مقدور خواهد بود‪.‬‬

‫•‬

‫‪ CSS‬از طریق انتخابگرها قالب بندی را سرعت می بخشد‪ .‬همچنین از موتور انتخابگر ‪ CSS‬در‬

‫کاربردهای دیگر بهره فراوان برده می شود‪.‬‬

‫•‬

‫‪ :Layout Engine‬برنامه ایست در کاوشگرها که سند ‪ HTML‬و فایل ‪ CSS‬را دریافت کرده‪،‬‬

‫خروجی گرافیکی بر روی صفحه تولید می نماید‪.‬‬

‫•‬

‫‪ :Selector Engine‬موتوریست بر روی کاوشگر که زیرمجموعه ای از برچسب های ‪ HTML‬را‬

‫انتخاب می کند‪.‬‬

:‫ با چند مثال آنرا بررس ی می کنیم‬،‫ گرامر بسیار ساده ای دارد‬CSS
Template:
Selection {
Property: value;
Property: value;
//Comment /*Comment */
}
Example:
div.main {
background-color:#777777;
border-width: 1px;
border-style: solid;
font-family: ‘Tahoma’;
}



‫•‬
‫•در سه جای مختلف می توان از ‪ CSS‬استفاده کرد‪:‬‬

‫‪ CSS‬جزئیات گرامری مختلفی نیز دارد که در طی این ارائه با آنها بیشتر آشنا خواهیم شد‪.‬‬

‫•‬
‫•برچسب های ‪ Style‬در داخل فایل ‪ :HTML‬می توان با افزودن برچسب ‪ Style‬در ‪Head‬یا ‪Body‬‬
‫فایل های ‪ :CSS‬می توان ‪ CSS‬را در فایلی جداگانه نوشت و آنرا در ‪ HTML‬افزود‪.‬‬

‫یک سند‪ CSS ،‬تعریف کرد‪.‬‬

‫•‬

‫صفت ‪ Style‬برای برچسب ها‪ :‬می توان در یکی از صفتهای هر برچسب‪ CSS ،‬آنرا تعریف کرد‪ .‬در این‬

‫حالت دیگر انتخابگر مطرح نیست و قالب بندی تنها برای آن برچسب اعمال می شود‪.‬‬

‫•‬
‫•استفاده از حالت سوم (‪ )Inline CSS‬توصیه نمی شود و جدابودن محتوی از قالب را زیر سوال می‬
‫سه نوع تعریف ‪ CSS‬می توانند همزمان باشند‪ .‬اولویت آنها به ترتیب افزایش می یابد‪.‬‬

‫برد‪ ،‬اما در جاهای خاص ی استفاده از آن کار را راحتتر می کند‪.‬‬

:HTML ‫ جدا و استفاده از آن در‬CSS ‫تعریف در فایل‬
//SomeFile.css
input[text] {
width:200px;
background-color:#000000;
border:solid 0px;
}







:HTML ‫ در بدنه سند‬CSS ‫تعریف‬






:‫ در صفت یک برچسب‬CSS ‫تعریف‬


This is some text with tahoma font






‫چگونگی انتخاب برچسبها‬

‫•‬

‫براي مشخص كردن اينكه يك ‪ CSS‬به كدامين اشياء يك صفحه اعمال شود‪ ،‬بايد از انتخابگرها استفاده‬

‫نمود‪ .‬هر انتخاب گر يك يا چند ش يء در يك صفحه ‪ HTML‬را انتخاب مي كند و سپس مي توان قالب هاي‬

‫مورد نظر را به آن اعمال كرد‪.‬‬

‫•‬

‫انتخابگرهاي ‪ CSS‬تنوع و قدرت به سزايي دارند بنابراين در اين بخش در حدي كه نيازهاي اوليه مرتفع‬

‫شوند آنها را بررس ي خواهيم كرد‪.‬‬

‫•‬

‫انتخابگر ها در دو نحوه اوليه تعريف ‪ CSS‬ها قابل استفاده هستند به قالب زير‪:‬‬
‫{ ‪SelectorStatement‬‬
‫;‪Css Properties & Values‬‬

‫}‬

‫انتخاب تمام برچسب ها ‪* :‬‬
‫انتخاب برچسب هاي خاص‪tagName :‬‬
‫انتخاب برچسبي از زيربرچسب هاي يك برچسب ديگر‪ParentTag DescendantTag :‬‬
‫انتخاب برچسبي از فرزندان يك برچسب ديگر ‪ParentTag > ChildTag :‬‬
‫انتخاب برچسبي بعد از يك برچسب ديگر‪Tag1 + Tag2 :‬‬
‫انتخاب برچسبي با صفتي خاص‪Tag[attrib=“value”] :‬‬
‫آنتخاب يك برچسب در وضعيت هاي خاص‪:‬‬
‫لينك ديده نشده ‪Tag:link‬‬

‫برچسبي كه ماوس رويش است ‪Tag:hover‬‬

‫لينك ديده شده ‪Tag:visited‬‬

‫برچسب درحال كليك ‪Tag:active‬‬
‫برچسب فعال صفحه ‪Tag:focus‬‬

‫•‬

‫همانطور كه قبل ذكر شد‪ ،‬هر بچسب در ‪ HTML‬مي تواند صفات خاص ي را داشته باشد‪ .‬صفاتي كه در‬

‫‪ CSS‬به ما كمك مي كنند‪ ،‬دو صفت ‪ class , id‬هستند‪ .‬با اختصاص دادن اين دو صفت به يك برچسب‬

‫در ‪ HTML‬مي توان ويژگيهاي ‪ CSS‬آنرا به سادگي كنترل كرد‪.‬‬

‫•‬

‫با تعريف يك كلس خاص براي برچسبي ‪ ،‬مي توان آنرا جزو دسته اي قرار داد كه ويژگيهاي ‪CSS‬مشترك‬

‫خاص ي بر روي همگي آنها اعمال شود‪.‬‬

‫•‬

‫با تعريف يك مشخصه منحصره (‪ )Unique Identifier‬براي يك برچسب‪ ،‬مي توان كنترل هاي‬

‫خاص ي از طريق ‪CSS‬و جاوااسكريپت بر روي آن برچسب اعمال كرد‪.‬‬

‫•‬

‫بايد توجه گردد كه ‪ id‬هيچ دو برچسبي در يك سند ‪HTML‬نبايد يكسان باشند‪ ،‬در غير اينصورت نتايج‬

‫قابل پيش بيني نخواهد بود‪.‬‬

*{
font-family: “Tahoma”, “Trebuchet”,”MS Sans Serif”
}
div.Container {
background-color:#777777;
border-width: 1px;
}
P#title {
font-weight:bold;
}
H1 + P {
font-style:italic;
}
input [type=‘button’] {
border-style:none;
}
Body Form > input[type=‘text’] {
text-align:center;
}
DIV P * [title] {
color:#ffffff;
}

‫•‬

‫براي اينكه ‪ CSS‬خاص ي را به چند انتخابگر يكجا اعمال كنيم‪ ،‬مي توانيم آنها را به صورت گروهي قرار‬

‫دهيم‪:‬‬
‫{ ]’‪div.Container , p , input[type=‘text‬‬
‫; ’‪font-family: ‘Tahoma’, ‘Comic Sans MS‬‬
‫}‬

‫•‬
‫• ‪CSS‬با استفاده از عبارات جاوااسكريپت مي تواند مقادير پويا (نسبت به شرايط ‪ )Client‬را به‬
‫در صورتي كه چند دستور يكسان ‪ CSS‬به يك برچسب خاص اعمال شوند‪ ،‬آخرين آنها باقي مي ماند‪.‬‬

‫‪ Property‬ها اعمال كند‪:‬‬
‫;‪Width: expression( document.width /2 )px‬‬

‫مشخصه هاي استاندارد ‪CSS 2‬‬

‫‪o‬‬
‫‪(scroll,fixed)o‬‬

‫‪ : Background‬خلصه اي براي تنظيم تمام مشخصات ‪Background‬‬
‫‪ : Background-Attachement‬وضعيت قرارگيري تصوير در‬

‫‪ ،Background‬در صورتي كه ‪fixed‬باشد‪ ،‬با جابجايي صفحه پشت صفحه آن حركت نخواهد كرد‪.‬‬

‫‪o‬‬
‫‪ :Background-image o‬يا مقدار ‪ none‬مي گيرد و يا با استفاده از )‪URL(adress‬يك آدرس‬
‫)‪ : Background-color (RGB Value‬رنگ پشت صفحه‬

‫فايل تصويري (آدرس وب)‬

‫‪o‬‬
‫‪ :Background-repeato‬در صورتي كه از تصوير استفاده شود‪ ،‬روش تكرار آنرا مشخص مي كند‪.‬‬
‫‪ :Background-position‬مقاديري مانند … ‪top left, center center ,‬‬

‫مقادير مجاز عبارتند از ‪no-repeat, repeat-x,repeat-y,repeat‬‬

‫‪o‬‬
‫‪ :Border-widtho‬عرض حاشيه (ضخامت آن) به عدد‪ ،‬درصد و واحد هاي ديگر اندازه‬
‫‪ :Border-coloro‬رنگ حاشيه به ‪RGB‬‬
‫‪ :Border-styleo‬نوع حاشيه از مقادير ‪none, hidden, dotted, dashed, solid,‬‬
‫‪ :Border‬خلصه اي براي تنظيم مشخصات حاشيه‪ ،‬به ترتيب عرض‪ ،‬نوع و رنگ مي گيرد‪.‬‬

‫‪double, groove, ridge, inset, outset‬‬

‫‪o‬‬

‫براي تغيير تنظيمات مربوط به حاشيه نواحي مختلف (باال‪ ،‬پايين‪ ،‬چپ‪ ،‬راست)مي توانيد از چهار ويژگي باال‬

‫به همراه نام طرف مورد نظر استفاده نماييد‪ ،‬براي مثال‪:‬‬

‫‪o‬‬
‫‪Border-top-coloro‬‬
‫‪Border-bottomo‬‬

‫‪Border-left-width‬‬

o

url(file), auto, ‫ مقادير مجاز عبارتند از‬،‫ شمايل اشاره گر ماوس را معين مي سازد‬:Cursor

crosshair, default, pointer, move, e-resize, ne-resize, nw-resize , nresize, se-resize, sw-resize, s-resize, w-resize , text, wait , help
none, inline, block, list- ‫ مقادير مجاز عبارتند از‬،‫ نحوه نمايش يك برچسب‬:Display

o

item, run-in, compact, marker, table, inline-table , ….

left,

right,

‫ مقادير مجاز عبارتند از‬،‫ گرايش و شناوري يك برچسب به طرفي خاص‬:Float

o

none
Static, Relative, ‫ مقادير مجاز عبارتند از‬،‫ نحوه قرارگيري يك برچسب در يك سند‬:Position

o

Absolute, Fixed

‫‪o‬‬
‫‪ :Line-Heighto‬فاصله بين دو خط متن در سند‬
‫‪ :Max-Heighto‬حداكثر ارتفاعي كه يك برچسب مي تواند داشته باشد‬
‫‪ :Min-Heighto‬حداقل ارتفاع يك برچسب‬
‫‪ :Widtho‬عرض يك برچسب‬
‫‪ :Max-Widtho‬حداكثر عرض يك برچسب‬
‫‪ :Min-Widtho‬حداقل عرض يك برچسب‬
‫‪ :Height‬ارتفاع يك برچسب در سند‪ .‬مشخصه اندازه اي‬

‫‪o‬‬
‫‪ :Font-Familyo‬نام قلم‪ ،‬بهتر است ليستي از قلمها بسته به پشتيباني از سيستم ها انتخاب شود‪.‬‬
‫‪ :Font‬ميانبري براي اعمال مشخصات كامل فونت و قلم‬

‫معموال نوشته هاي فارس ي با قلم ‪ Tahoma‬خوب نمايش داده مي شوند‪.‬‬

‫‪o‬‬

‫‪ :Font-Size‬اندازه قلم‪ .‬هم مي تواند از انواع مقداري قرار داده شود هم مي تواند يكي از مقادير مجاز‬

‫باشد‬

‫‪xx-small, x-small, small, medium, large, x-large, xx-large,‬‬

‫‪smaller, larger‬‬

‫‪o‬‬

‫‪ :Font-Stretch‬كشيدگي فونت (فاصلي افقي مابين حرفهاي آن)يا مقدار عددي يا يكي از مقادير‬

‫‪normal, wider, narrower, ultra-condensed, extra-condensed, condensed,‬‬
‫‪semi-condensed, semi-expanded, expanded, extra-expanded, ultra-expanded‬‬

‫‪o‬‬
‫‪ :Font-Weighto‬يكي از مقادير ‪ normal, bold, bolder, lighter‬و يا مقدار عددي‬
‫‪ :Font-Style‬يكي از مقادير ‪Normal, Italic, Oblique‬‬

o
none , url(file) :List-Style-Imageo
inside, outside :List-style-Positiono
‫ موارد مجاز عبارتند از‬،‫ شكل موارد ليست‬:List-Style-Typeo

‫ موقعيت و تصوير ليست را مي گيرد‬، ‫ نوع‬،‫ به ترتيب‬.‫ ميانبري براي تنظيمات ليست‬:List-Style

none, disc, circle,

square, decimal, decimal-leading-zero, lower-roman, upper-roman,
lower-alpha,

upper-alpha,

lower-greek,

lower-latin,

upper-latin,

hebrew, armenian, georgian, cjk-ideographic, hiragana, katakana,
hiragana-iroha, katakana-iroha

)auto ‫ فاصله علمت از نوشتار (مقدار يا‬:Marker-Offset

o

‫‪o‬‬

‫‪ :Margin‬ميانبري براي تنظيمات كناره‪ .‬به ترتيب اندازه كناره هاي باال‪ ،‬راست‪ ،‬پايين و چپ را مي گيرد‬

‫(ساعتگرد)‬

‫‪o‬‬

‫‪ :Margin-left, Margin-right, Margin-top, Margin-bottom‬مقدار كناره‪ ،‬مقدار يا‬

‫‪auto‬‬

‫‪o‬‬
‫‪ :Padding-left, Padding-right, Padding-top, Padding-bottomo‬مقدار اليي‬
‫‪ :Padding‬ميانبري براي تنظيم مشخصات اليي گذاري‪ ،‬به ترتيب باال‪ ،‬راست‪ ،‬پايين و چپ‬

‫گذاري‪ ،‬مقدار يا ‪auto‬‬

‫‪o‬‬
‫‪ :Outline-coloro‬رنگ خط حاشيه به ‪RGB‬‬
‫‪ :Outline-styleo‬نوع خط حاشيه يك ش يء‪ ،‬انوع مجاز عبارتند از ‪none, dotted, dashed,‬‬
‫‪ :Outline‬ميانبري براي تمام تنظيمات خط حاشيه‪ ،‬به ترتيب رنگ‪ ،‬نوع و عرض‬

‫‪solid , double , groove, ridge, inset, outset‬‬

‫‪o‬‬

‫‪ :Outline-width‬قطوري خط حاشيه‪ ،‬مقدار عددي يا يكي از مقادير ‪thin, thick, medium‬‬

‫‪o‬‬

‫‪ :Overflow‬در صورتي كه محتويات يك برچسب در آن جاي نگيرند‪ ،‬اين مشخصه معين مي سازد كه‬

‫چه اتفاقي بيافتد‪ .‬مقادير مجاز عبارتند از ‪Visible, Hidden, Auto, Scroll‬‬

‫‪o‬‬

‫‪ :Position‬نحوه قرارگيري برچسب نسبت به سند‪ ،‬مقادير مجاز عبارتند از ‪Static, Relative,‬‬

‫‪Absolute, Fixed‬‬

‫‪o‬‬

‫‪ :Vertical-Align‬نحوه قرارگيري عمودي يك برچسب در داخل برچسب پدر خود را مشخص مي كند‪.‬‬

‫مقادير مجاز عبارتند از ‪baseline, sub, super, top, text-top, middle, bottom,‬‬
‫‪ text-bottom‬و يا مقدار عددي‬

‫‪o‬‬

‫‪ :Z-Index‬اولويت قرارگيري در بعد سوم در صفحه (يعني جلو پشت ديگر برچسب ها)‪ Auto .‬يا يك‬

‫عدد‬

‫‪o‬‬

‫‪ :Border-Collapse‬معين مي سازد كه حواش ي جداول جدا باشند و يا يك مجموعه خط بهم‬

‫پيوسته باشند‪ .‬مقادير مجاز ‪Separate , Collapse‬‬

‫‪o‬‬
‫‪ :Empty-Cellsٍo‬مشخص مي كند كه سلول هاي خالي در مدل ‪ Seperate‬نمايش داده شوند و يا‬
‫‪ :Border-Spacing‬فاصله ميان دو حاشيه جدول‪ ،‬تنها در صورتي كه ‪ Seperate‬باشد‪.‬‬

‫خير‪ .‬مقادير مجاز ‪Show/Hide‬‬

‫‪o‬‬

‫‪ :Table Layout‬الگوريتم نحوه نمايش سلولهاي يك جدول‪Auto/Fixed ،‬‬

‫‪o‬‬
‫‪ :Directiono‬جهت متن (و محتويات)يك برچسب را مشخص مي سازد‪ ،‬مقادير مجاز ‪LTR/RTL‬‬
‫‪ :Text-Aligno‬مقادير مجاز ‪Left, Right, Center, Justify‬‬
‫‪ :Text-Decorationo‬افزودن افكتي به متن‪ ،‬مقادير مجاز عبارتند از ‪none, underline,‬‬
‫‪ :Color‬رنگ يك متن را مشخص مي سازد‪RGB ،‬‬

‫‪overline, line-through, blink‬‬

‫‪o‬‬
‫‪ :Word-Spacingo‬فاصله ميان لغات يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Letter-Spacingo‬فاصله ميان حروف يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Text-Indent‬تو رفتگي اولين خط يك متن‪ .‬مقدار عددي‬

‫تسلط كامل بر ‪CSS‬‬

‫‪o‬‬

‫در ‪ CSS‬رنگها را به دو شیوه می توان مشخص کرد‪:‬‬

‫‪o‬‬
‫‪o‬استفاده از نام رنگ‬

‫تعیين مقدار ‪ 24‬بیتی ‪ RGB‬آنها‬

‫‪o‬‬

‫در روش اول ‪ 16‬میلیون رنگ مختلف برای انتخاب وجود دارند‪ ،‬اما در روش دوم حدود ‪ 200‬رنگ با نام‬

‫های مختلف قابل استفاده هستند‪.‬‬

‫‪o‬‬
‫‪o‬برای مشخص کردن رنگ ‪ ،RGB‬پس از قرار دادن علمت ‪ #‬به ترتیب مقدار ‪ R‬و ‪ G‬و ‪ B‬را در مبنای ‪16‬‬
‫برای مشخص کردن رنگ با نام آن‪ ،‬کافیست نام رنگ را بنویسید‪Cyan, Purple :‬‬

‫وارد می کنیم‪#FFFFFF , #00FF00 :‬‬

‫‪o‬‬

‫همچنين می توان برای مشخص کردن رنگ ‪ RGB‬به صورت روبرو عمل کرد‪RGB(100,255,10):‬‬

‫و یا)‪RGB(70%,20%,100%‬‬

‫‪o‬‬

‫تمامی مقادیر اندازه ای در ‪ CSS‬واحد های متفاوتی را می پذیرند‪ .‬پایه ای ترین واحد همان ‪ Pixel‬است‬

‫که با ‪ px‬در انتهای مقدار مشخص می گردد‪ .‬واحدهای دیگر عبارتند از‪:‬‬

‫‪o‬‬
‫‪ :Ino‬اینچ‬
‫‪ :Cmo‬سانتیمتر‬
‫‪ :Mmo‬میلیمتر‬
‫‪ :Emo‬اندازه فونت‬
‫‪ 1/72 :Pto‬اینتچ‬
‫‪pt 12 :Pco‬‬
‫‪ :Pxo‬یک نقطه‬
‫‪ :%‬درصد!‬

‫‪o‬‬

‫شفافیت )‪ (Transparency‬یک عملیات پیچیده برای سیستم هاییست که کارت گرافیکی قدرتمندی‬

‫ندارد و موتور گرافیکی کاوشگر برای پیاده کردن آن بشدت زیر بار قرار می گيرد‪.‬‬

‫‪o‬‬

‫با استفاده از شفافیت می توان جذابیت بصری را بسیار باالتر برد‪ ،‬اما باید دقت داشت که کندی پردازش‬

‫تصویری سایت برای کاربر ایجاد مزاحمت نکند‪.‬‬

‫‪o‬‬
‫‪ o‬برای ایجاد شفافیت در کاوشگرهای استادارد‪ ،‬از ‪ Opacity : .5‬استفاده می شود‪.‬‬
‫‪o‬برای ایجاد شفافیت در ‪ IE‬از )‪ filter:alpha(opacity=50‬استفاده می شود‪.‬‬
‫‪o‬برای اینکه شفافیت در تمامی کاوشگرها درست نمایش داده شود الزم است هردو دستور باال بکار روند‪.‬‬
‫متاسفانه کاوشگر ‪ IE‬برای شفافیت از دستورات خود استفاده می کند که استاندارد نیستند‪.‬‬

‫‪o‬‬

‫کاوشگرهایی مانند ‪ Firefox‬دستورات ‪ CSS‬ویژه ای دارند (البته ‪ IE‬نيز دستورات مخصوص خود را‬

‫داراست) ‪.‬‬

‫‪o‬‬

‫عبارت ‪ –moz-border-radius‬می تواند گوشه های مستطیل ها را از تيزی درآورده و آنها را نرم‬

‫کند‪-moz-border-radius: 5px; :‬‬

‫‪o‬‬

‫استفاده از این عبارت و راه حل های مشابه پیشنهاد نمی شود زیرا این نما تنها در ‪ Firefox‬قابل مشاهده‬

‫خواهد بود‪.‬‬

‫‪o‬‬

‫‪ CSS‬توانایی آنرا داراست که برای رسانه های خاص تفاوت کند! برای مثال می توانید ‪ CSS‬یک سایت‬

‫را طوری تعریف کنید که رنگ نوشته های آن قرمز باشد ولی هنگام پرینت مشکی شود‪.‬‬

‫‪o‬‬

‫برای مشخص کردن اینکه ‪ CSS‬را برای چه رسانه ای می نویسیم‪ ،‬از ‪ @media‬استفاده می کنیم‪:‬‬
‫‪@media screen‬‬
‫};‪* { color:#ff0000‬‬
‫‪@media print‬‬
‫};‪* { color:#000000‬‬

‫رسانه های معمول عبارتند از‪all, braille, handheld, print, projection, screen, tv, :‬‬
‫…‬

‫‪ CSS‬را قورت بده!‬

‫‪o‬‬

‫فایل ‪ HTML‬ای که در تمرینات ‪ HTML‬ساخته اید و تمامی برچسب ها را داراست‪ ،‬با استفاده از تمامی‬

‫برچسب های ‪ CSS‬قالب بندی کنید‪ .‬سعی کنید زیبایی کافی و قالب بندی مناسب برای سند اتفاق بیافتد! در‬

‫داخل سند تنها می توانید برچسبهای ‪ DIV‬و ‪ SPAN‬اضافه کنید و یا به برچسب های موجود ‪ID ,‬‬
‫‪ CLASS‬بیافزایید‪.‬‬

‫‪o‬‬
‫‪o‬آیا می توان با استفاده از ‪ CSS‬منو ساخت؟ اگر بله راه حل را معين کنید‪.‬‬
‫‪o‬مزایا و معایب نوشتن ‪ CSS‬در یک فایل جداگانه را برشمارید‪.‬‬
‫‪o‬با استفاده از ‪ CSS‬یک ‪ taskbar‬برای یک صفحه بسازید که همواره در قسمت پایين پنجره کاوشگر‬
‫بدون استفاده از جداول و تنها با استفاده از ‪ CSS‬یک صفحه سه ستونی (مانند ‪ )SBCE.ir‬بسازید‪.‬‬

‫(نه لزوما انتهای سند) باشد‪.‬‬


Slide 9

‫کارگاه آموزش ی توسعه وب‬
‫بخش دوم ‪CSS -‬‬

‫ارائه‪ :‬عباس نادری‬
‫انجمن علمی دانشجویی‬
‫مهندس ی کامپیوتر‬
‫نسخه ‪1‬‬

‫دانشگاه شهید بهشتی‬

‫‪ CSS‬چیست ؟‬

‫•‬
‫•معمول ترین استفاده ‪ CSS‬برای قالب بندی اسناد وب )‪ (HTML‬منظور می شود‪.‬‬
‫•با پیچیده شدن وب ها‪ ،‬تصمیم بر آن شد تا محتوا از قالب بندی تفکیک شود و توسعه وب تسهیل‬
‫‪ CSS‬یا ‪ Casacading Style Sheets‬یک استاندارد قالب بندی ظاهری اسناد است‪.‬‬

‫گردد‪.‬‬

‫•‬

‫‪ CSS‬سه نسخه اصلی دارد‪:‬‬

‫•‬
‫•‪ :CSS 2‬در سال ‪ 1998‬توسط ‪ W3C‬استاندارد شد و هنوز به عنوان استاندارد بکار می رود‪.‬‬
‫•‪ :CSS 3‬هنوز در دست توسعه توسط ‪ W3C‬است‪.‬‬
‫‪ :CSS 1‬در سال ‪ 1996‬توسط ‪ W3C‬استاندارد شد‪.‬‬

‫•‬

‫‪ CSS‬به دلیل امکان استفاده مجدد‪ ،‬به شدت توسعه وب را ساده و سریع می کند‪ .‬همچنین قالب‬

‫بندی صفحات با استفاده از آن در قالب تیمی مقدور خواهد بود‪.‬‬

‫•‬

‫‪ CSS‬از طریق انتخابگرها قالب بندی را سرعت می بخشد‪ .‬همچنین از موتور انتخابگر ‪ CSS‬در‬

‫کاربردهای دیگر بهره فراوان برده می شود‪.‬‬

‫•‬

‫‪ :Layout Engine‬برنامه ایست در کاوشگرها که سند ‪ HTML‬و فایل ‪ CSS‬را دریافت کرده‪،‬‬

‫خروجی گرافیکی بر روی صفحه تولید می نماید‪.‬‬

‫•‬

‫‪ :Selector Engine‬موتوریست بر روی کاوشگر که زیرمجموعه ای از برچسب های ‪ HTML‬را‬

‫انتخاب می کند‪.‬‬

:‫ با چند مثال آنرا بررس ی می کنیم‬،‫ گرامر بسیار ساده ای دارد‬CSS
Template:
Selection {
Property: value;
Property: value;
//Comment /*Comment */
}
Example:
div.main {
background-color:#777777;
border-width: 1px;
border-style: solid;
font-family: ‘Tahoma’;
}



‫•‬
‫•در سه جای مختلف می توان از ‪ CSS‬استفاده کرد‪:‬‬

‫‪ CSS‬جزئیات گرامری مختلفی نیز دارد که در طی این ارائه با آنها بیشتر آشنا خواهیم شد‪.‬‬

‫•‬
‫•برچسب های ‪ Style‬در داخل فایل ‪ :HTML‬می توان با افزودن برچسب ‪ Style‬در ‪Head‬یا ‪Body‬‬
‫فایل های ‪ :CSS‬می توان ‪ CSS‬را در فایلی جداگانه نوشت و آنرا در ‪ HTML‬افزود‪.‬‬

‫یک سند‪ CSS ،‬تعریف کرد‪.‬‬

‫•‬

‫صفت ‪ Style‬برای برچسب ها‪ :‬می توان در یکی از صفتهای هر برچسب‪ CSS ،‬آنرا تعریف کرد‪ .‬در این‬

‫حالت دیگر انتخابگر مطرح نیست و قالب بندی تنها برای آن برچسب اعمال می شود‪.‬‬

‫•‬
‫•استفاده از حالت سوم (‪ )Inline CSS‬توصیه نمی شود و جدابودن محتوی از قالب را زیر سوال می‬
‫سه نوع تعریف ‪ CSS‬می توانند همزمان باشند‪ .‬اولویت آنها به ترتیب افزایش می یابد‪.‬‬

‫برد‪ ،‬اما در جاهای خاص ی استفاده از آن کار را راحتتر می کند‪.‬‬

:HTML ‫ جدا و استفاده از آن در‬CSS ‫تعریف در فایل‬
//SomeFile.css
input[text] {
width:200px;
background-color:#000000;
border:solid 0px;
}







:HTML ‫ در بدنه سند‬CSS ‫تعریف‬






:‫ در صفت یک برچسب‬CSS ‫تعریف‬


This is some text with tahoma font






‫چگونگی انتخاب برچسبها‬

‫•‬

‫براي مشخص كردن اينكه يك ‪ CSS‬به كدامين اشياء يك صفحه اعمال شود‪ ،‬بايد از انتخابگرها استفاده‬

‫نمود‪ .‬هر انتخاب گر يك يا چند ش يء در يك صفحه ‪ HTML‬را انتخاب مي كند و سپس مي توان قالب هاي‬

‫مورد نظر را به آن اعمال كرد‪.‬‬

‫•‬

‫انتخابگرهاي ‪ CSS‬تنوع و قدرت به سزايي دارند بنابراين در اين بخش در حدي كه نيازهاي اوليه مرتفع‬

‫شوند آنها را بررس ي خواهيم كرد‪.‬‬

‫•‬

‫انتخابگر ها در دو نحوه اوليه تعريف ‪ CSS‬ها قابل استفاده هستند به قالب زير‪:‬‬
‫{ ‪SelectorStatement‬‬
‫;‪Css Properties & Values‬‬

‫}‬

‫انتخاب تمام برچسب ها ‪* :‬‬
‫انتخاب برچسب هاي خاص‪tagName :‬‬
‫انتخاب برچسبي از زيربرچسب هاي يك برچسب ديگر‪ParentTag DescendantTag :‬‬
‫انتخاب برچسبي از فرزندان يك برچسب ديگر ‪ParentTag > ChildTag :‬‬
‫انتخاب برچسبي بعد از يك برچسب ديگر‪Tag1 + Tag2 :‬‬
‫انتخاب برچسبي با صفتي خاص‪Tag[attrib=“value”] :‬‬
‫آنتخاب يك برچسب در وضعيت هاي خاص‪:‬‬
‫لينك ديده نشده ‪Tag:link‬‬

‫برچسبي كه ماوس رويش است ‪Tag:hover‬‬

‫لينك ديده شده ‪Tag:visited‬‬

‫برچسب درحال كليك ‪Tag:active‬‬
‫برچسب فعال صفحه ‪Tag:focus‬‬

‫•‬

‫همانطور كه قبل ذكر شد‪ ،‬هر بچسب در ‪ HTML‬مي تواند صفات خاص ي را داشته باشد‪ .‬صفاتي كه در‬

‫‪ CSS‬به ما كمك مي كنند‪ ،‬دو صفت ‪ class , id‬هستند‪ .‬با اختصاص دادن اين دو صفت به يك برچسب‬

‫در ‪ HTML‬مي توان ويژگيهاي ‪ CSS‬آنرا به سادگي كنترل كرد‪.‬‬

‫•‬

‫با تعريف يك كلس خاص براي برچسبي ‪ ،‬مي توان آنرا جزو دسته اي قرار داد كه ويژگيهاي ‪CSS‬مشترك‬

‫خاص ي بر روي همگي آنها اعمال شود‪.‬‬

‫•‬

‫با تعريف يك مشخصه منحصره (‪ )Unique Identifier‬براي يك برچسب‪ ،‬مي توان كنترل هاي‬

‫خاص ي از طريق ‪CSS‬و جاوااسكريپت بر روي آن برچسب اعمال كرد‪.‬‬

‫•‬

‫بايد توجه گردد كه ‪ id‬هيچ دو برچسبي در يك سند ‪HTML‬نبايد يكسان باشند‪ ،‬در غير اينصورت نتايج‬

‫قابل پيش بيني نخواهد بود‪.‬‬

*{
font-family: “Tahoma”, “Trebuchet”,”MS Sans Serif”
}
div.Container {
background-color:#777777;
border-width: 1px;
}
P#title {
font-weight:bold;
}
H1 + P {
font-style:italic;
}
input [type=‘button’] {
border-style:none;
}
Body Form > input[type=‘text’] {
text-align:center;
}
DIV P * [title] {
color:#ffffff;
}

‫•‬

‫براي اينكه ‪ CSS‬خاص ي را به چند انتخابگر يكجا اعمال كنيم‪ ،‬مي توانيم آنها را به صورت گروهي قرار‬

‫دهيم‪:‬‬
‫{ ]’‪div.Container , p , input[type=‘text‬‬
‫; ’‪font-family: ‘Tahoma’, ‘Comic Sans MS‬‬
‫}‬

‫•‬
‫• ‪CSS‬با استفاده از عبارات جاوااسكريپت مي تواند مقادير پويا (نسبت به شرايط ‪ )Client‬را به‬
‫در صورتي كه چند دستور يكسان ‪ CSS‬به يك برچسب خاص اعمال شوند‪ ،‬آخرين آنها باقي مي ماند‪.‬‬

‫‪ Property‬ها اعمال كند‪:‬‬
‫;‪Width: expression( document.width /2 )px‬‬

‫مشخصه هاي استاندارد ‪CSS 2‬‬

‫‪o‬‬
‫‪(scroll,fixed)o‬‬

‫‪ : Background‬خلصه اي براي تنظيم تمام مشخصات ‪Background‬‬
‫‪ : Background-Attachement‬وضعيت قرارگيري تصوير در‬

‫‪ ،Background‬در صورتي كه ‪fixed‬باشد‪ ،‬با جابجايي صفحه پشت صفحه آن حركت نخواهد كرد‪.‬‬

‫‪o‬‬
‫‪ :Background-image o‬يا مقدار ‪ none‬مي گيرد و يا با استفاده از )‪URL(adress‬يك آدرس‬
‫)‪ : Background-color (RGB Value‬رنگ پشت صفحه‬

‫فايل تصويري (آدرس وب)‬

‫‪o‬‬
‫‪ :Background-repeato‬در صورتي كه از تصوير استفاده شود‪ ،‬روش تكرار آنرا مشخص مي كند‪.‬‬
‫‪ :Background-position‬مقاديري مانند … ‪top left, center center ,‬‬

‫مقادير مجاز عبارتند از ‪no-repeat, repeat-x,repeat-y,repeat‬‬

‫‪o‬‬
‫‪ :Border-widtho‬عرض حاشيه (ضخامت آن) به عدد‪ ،‬درصد و واحد هاي ديگر اندازه‬
‫‪ :Border-coloro‬رنگ حاشيه به ‪RGB‬‬
‫‪ :Border-styleo‬نوع حاشيه از مقادير ‪none, hidden, dotted, dashed, solid,‬‬
‫‪ :Border‬خلصه اي براي تنظيم مشخصات حاشيه‪ ،‬به ترتيب عرض‪ ،‬نوع و رنگ مي گيرد‪.‬‬

‫‪double, groove, ridge, inset, outset‬‬

‫‪o‬‬

‫براي تغيير تنظيمات مربوط به حاشيه نواحي مختلف (باال‪ ،‬پايين‪ ،‬چپ‪ ،‬راست)مي توانيد از چهار ويژگي باال‬

‫به همراه نام طرف مورد نظر استفاده نماييد‪ ،‬براي مثال‪:‬‬

‫‪o‬‬
‫‪Border-top-coloro‬‬
‫‪Border-bottomo‬‬

‫‪Border-left-width‬‬

o

url(file), auto, ‫ مقادير مجاز عبارتند از‬،‫ شمايل اشاره گر ماوس را معين مي سازد‬:Cursor

crosshair, default, pointer, move, e-resize, ne-resize, nw-resize , nresize, se-resize, sw-resize, s-resize, w-resize , text, wait , help
none, inline, block, list- ‫ مقادير مجاز عبارتند از‬،‫ نحوه نمايش يك برچسب‬:Display

o

item, run-in, compact, marker, table, inline-table , ….

left,

right,

‫ مقادير مجاز عبارتند از‬،‫ گرايش و شناوري يك برچسب به طرفي خاص‬:Float

o

none
Static, Relative, ‫ مقادير مجاز عبارتند از‬،‫ نحوه قرارگيري يك برچسب در يك سند‬:Position

o

Absolute, Fixed

‫‪o‬‬
‫‪ :Line-Heighto‬فاصله بين دو خط متن در سند‬
‫‪ :Max-Heighto‬حداكثر ارتفاعي كه يك برچسب مي تواند داشته باشد‬
‫‪ :Min-Heighto‬حداقل ارتفاع يك برچسب‬
‫‪ :Widtho‬عرض يك برچسب‬
‫‪ :Max-Widtho‬حداكثر عرض يك برچسب‬
‫‪ :Min-Widtho‬حداقل عرض يك برچسب‬
‫‪ :Height‬ارتفاع يك برچسب در سند‪ .‬مشخصه اندازه اي‬

‫‪o‬‬
‫‪ :Font-Familyo‬نام قلم‪ ،‬بهتر است ليستي از قلمها بسته به پشتيباني از سيستم ها انتخاب شود‪.‬‬
‫‪ :Font‬ميانبري براي اعمال مشخصات كامل فونت و قلم‬

‫معموال نوشته هاي فارس ي با قلم ‪ Tahoma‬خوب نمايش داده مي شوند‪.‬‬

‫‪o‬‬

‫‪ :Font-Size‬اندازه قلم‪ .‬هم مي تواند از انواع مقداري قرار داده شود هم مي تواند يكي از مقادير مجاز‬

‫باشد‬

‫‪xx-small, x-small, small, medium, large, x-large, xx-large,‬‬

‫‪smaller, larger‬‬

‫‪o‬‬

‫‪ :Font-Stretch‬كشيدگي فونت (فاصلي افقي مابين حرفهاي آن)يا مقدار عددي يا يكي از مقادير‬

‫‪normal, wider, narrower, ultra-condensed, extra-condensed, condensed,‬‬
‫‪semi-condensed, semi-expanded, expanded, extra-expanded, ultra-expanded‬‬

‫‪o‬‬
‫‪ :Font-Weighto‬يكي از مقادير ‪ normal, bold, bolder, lighter‬و يا مقدار عددي‬
‫‪ :Font-Style‬يكي از مقادير ‪Normal, Italic, Oblique‬‬

o
none , url(file) :List-Style-Imageo
inside, outside :List-style-Positiono
‫ موارد مجاز عبارتند از‬،‫ شكل موارد ليست‬:List-Style-Typeo

‫ موقعيت و تصوير ليست را مي گيرد‬، ‫ نوع‬،‫ به ترتيب‬.‫ ميانبري براي تنظيمات ليست‬:List-Style

none, disc, circle,

square, decimal, decimal-leading-zero, lower-roman, upper-roman,
lower-alpha,

upper-alpha,

lower-greek,

lower-latin,

upper-latin,

hebrew, armenian, georgian, cjk-ideographic, hiragana, katakana,
hiragana-iroha, katakana-iroha

)auto ‫ فاصله علمت از نوشتار (مقدار يا‬:Marker-Offset

o

‫‪o‬‬

‫‪ :Margin‬ميانبري براي تنظيمات كناره‪ .‬به ترتيب اندازه كناره هاي باال‪ ،‬راست‪ ،‬پايين و چپ را مي گيرد‬

‫(ساعتگرد)‬

‫‪o‬‬

‫‪ :Margin-left, Margin-right, Margin-top, Margin-bottom‬مقدار كناره‪ ،‬مقدار يا‬

‫‪auto‬‬

‫‪o‬‬
‫‪ :Padding-left, Padding-right, Padding-top, Padding-bottomo‬مقدار اليي‬
‫‪ :Padding‬ميانبري براي تنظيم مشخصات اليي گذاري‪ ،‬به ترتيب باال‪ ،‬راست‪ ،‬پايين و چپ‬

‫گذاري‪ ،‬مقدار يا ‪auto‬‬

‫‪o‬‬
‫‪ :Outline-coloro‬رنگ خط حاشيه به ‪RGB‬‬
‫‪ :Outline-styleo‬نوع خط حاشيه يك ش يء‪ ،‬انوع مجاز عبارتند از ‪none, dotted, dashed,‬‬
‫‪ :Outline‬ميانبري براي تمام تنظيمات خط حاشيه‪ ،‬به ترتيب رنگ‪ ،‬نوع و عرض‬

‫‪solid , double , groove, ridge, inset, outset‬‬

‫‪o‬‬

‫‪ :Outline-width‬قطوري خط حاشيه‪ ،‬مقدار عددي يا يكي از مقادير ‪thin, thick, medium‬‬

‫‪o‬‬

‫‪ :Overflow‬در صورتي كه محتويات يك برچسب در آن جاي نگيرند‪ ،‬اين مشخصه معين مي سازد كه‬

‫چه اتفاقي بيافتد‪ .‬مقادير مجاز عبارتند از ‪Visible, Hidden, Auto, Scroll‬‬

‫‪o‬‬

‫‪ :Position‬نحوه قرارگيري برچسب نسبت به سند‪ ،‬مقادير مجاز عبارتند از ‪Static, Relative,‬‬

‫‪Absolute, Fixed‬‬

‫‪o‬‬

‫‪ :Vertical-Align‬نحوه قرارگيري عمودي يك برچسب در داخل برچسب پدر خود را مشخص مي كند‪.‬‬

‫مقادير مجاز عبارتند از ‪baseline, sub, super, top, text-top, middle, bottom,‬‬
‫‪ text-bottom‬و يا مقدار عددي‬

‫‪o‬‬

‫‪ :Z-Index‬اولويت قرارگيري در بعد سوم در صفحه (يعني جلو پشت ديگر برچسب ها)‪ Auto .‬يا يك‬

‫عدد‬

‫‪o‬‬

‫‪ :Border-Collapse‬معين مي سازد كه حواش ي جداول جدا باشند و يا يك مجموعه خط بهم‬

‫پيوسته باشند‪ .‬مقادير مجاز ‪Separate , Collapse‬‬

‫‪o‬‬
‫‪ :Empty-Cellsٍo‬مشخص مي كند كه سلول هاي خالي در مدل ‪ Seperate‬نمايش داده شوند و يا‬
‫‪ :Border-Spacing‬فاصله ميان دو حاشيه جدول‪ ،‬تنها در صورتي كه ‪ Seperate‬باشد‪.‬‬

‫خير‪ .‬مقادير مجاز ‪Show/Hide‬‬

‫‪o‬‬

‫‪ :Table Layout‬الگوريتم نحوه نمايش سلولهاي يك جدول‪Auto/Fixed ،‬‬

‫‪o‬‬
‫‪ :Directiono‬جهت متن (و محتويات)يك برچسب را مشخص مي سازد‪ ،‬مقادير مجاز ‪LTR/RTL‬‬
‫‪ :Text-Aligno‬مقادير مجاز ‪Left, Right, Center, Justify‬‬
‫‪ :Text-Decorationo‬افزودن افكتي به متن‪ ،‬مقادير مجاز عبارتند از ‪none, underline,‬‬
‫‪ :Color‬رنگ يك متن را مشخص مي سازد‪RGB ،‬‬

‫‪overline, line-through, blink‬‬

‫‪o‬‬
‫‪ :Word-Spacingo‬فاصله ميان لغات يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Letter-Spacingo‬فاصله ميان حروف يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Text-Indent‬تو رفتگي اولين خط يك متن‪ .‬مقدار عددي‬

‫تسلط كامل بر ‪CSS‬‬

‫‪o‬‬

‫در ‪ CSS‬رنگها را به دو شیوه می توان مشخص کرد‪:‬‬

‫‪o‬‬
‫‪o‬استفاده از نام رنگ‬

‫تعیين مقدار ‪ 24‬بیتی ‪ RGB‬آنها‬

‫‪o‬‬

‫در روش اول ‪ 16‬میلیون رنگ مختلف برای انتخاب وجود دارند‪ ،‬اما در روش دوم حدود ‪ 200‬رنگ با نام‬

‫های مختلف قابل استفاده هستند‪.‬‬

‫‪o‬‬
‫‪o‬برای مشخص کردن رنگ ‪ ،RGB‬پس از قرار دادن علمت ‪ #‬به ترتیب مقدار ‪ R‬و ‪ G‬و ‪ B‬را در مبنای ‪16‬‬
‫برای مشخص کردن رنگ با نام آن‪ ،‬کافیست نام رنگ را بنویسید‪Cyan, Purple :‬‬

‫وارد می کنیم‪#FFFFFF , #00FF00 :‬‬

‫‪o‬‬

‫همچنين می توان برای مشخص کردن رنگ ‪ RGB‬به صورت روبرو عمل کرد‪RGB(100,255,10):‬‬

‫و یا)‪RGB(70%,20%,100%‬‬

‫‪o‬‬

‫تمامی مقادیر اندازه ای در ‪ CSS‬واحد های متفاوتی را می پذیرند‪ .‬پایه ای ترین واحد همان ‪ Pixel‬است‬

‫که با ‪ px‬در انتهای مقدار مشخص می گردد‪ .‬واحدهای دیگر عبارتند از‪:‬‬

‫‪o‬‬
‫‪ :Ino‬اینچ‬
‫‪ :Cmo‬سانتیمتر‬
‫‪ :Mmo‬میلیمتر‬
‫‪ :Emo‬اندازه فونت‬
‫‪ 1/72 :Pto‬اینتچ‬
‫‪pt 12 :Pco‬‬
‫‪ :Pxo‬یک نقطه‬
‫‪ :%‬درصد!‬

‫‪o‬‬

‫شفافیت )‪ (Transparency‬یک عملیات پیچیده برای سیستم هاییست که کارت گرافیکی قدرتمندی‬

‫ندارد و موتور گرافیکی کاوشگر برای پیاده کردن آن بشدت زیر بار قرار می گيرد‪.‬‬

‫‪o‬‬

‫با استفاده از شفافیت می توان جذابیت بصری را بسیار باالتر برد‪ ،‬اما باید دقت داشت که کندی پردازش‬

‫تصویری سایت برای کاربر ایجاد مزاحمت نکند‪.‬‬

‫‪o‬‬
‫‪ o‬برای ایجاد شفافیت در کاوشگرهای استادارد‪ ،‬از ‪ Opacity : .5‬استفاده می شود‪.‬‬
‫‪o‬برای ایجاد شفافیت در ‪ IE‬از )‪ filter:alpha(opacity=50‬استفاده می شود‪.‬‬
‫‪o‬برای اینکه شفافیت در تمامی کاوشگرها درست نمایش داده شود الزم است هردو دستور باال بکار روند‪.‬‬
‫متاسفانه کاوشگر ‪ IE‬برای شفافیت از دستورات خود استفاده می کند که استاندارد نیستند‪.‬‬

‫‪o‬‬

‫کاوشگرهایی مانند ‪ Firefox‬دستورات ‪ CSS‬ویژه ای دارند (البته ‪ IE‬نيز دستورات مخصوص خود را‬

‫داراست) ‪.‬‬

‫‪o‬‬

‫عبارت ‪ –moz-border-radius‬می تواند گوشه های مستطیل ها را از تيزی درآورده و آنها را نرم‬

‫کند‪-moz-border-radius: 5px; :‬‬

‫‪o‬‬

‫استفاده از این عبارت و راه حل های مشابه پیشنهاد نمی شود زیرا این نما تنها در ‪ Firefox‬قابل مشاهده‬

‫خواهد بود‪.‬‬

‫‪o‬‬

‫‪ CSS‬توانایی آنرا داراست که برای رسانه های خاص تفاوت کند! برای مثال می توانید ‪ CSS‬یک سایت‬

‫را طوری تعریف کنید که رنگ نوشته های آن قرمز باشد ولی هنگام پرینت مشکی شود‪.‬‬

‫‪o‬‬

‫برای مشخص کردن اینکه ‪ CSS‬را برای چه رسانه ای می نویسیم‪ ،‬از ‪ @media‬استفاده می کنیم‪:‬‬
‫‪@media screen‬‬
‫};‪* { color:#ff0000‬‬
‫‪@media print‬‬
‫};‪* { color:#000000‬‬

‫رسانه های معمول عبارتند از‪all, braille, handheld, print, projection, screen, tv, :‬‬
‫…‬

‫‪ CSS‬را قورت بده!‬

‫‪o‬‬

‫فایل ‪ HTML‬ای که در تمرینات ‪ HTML‬ساخته اید و تمامی برچسب ها را داراست‪ ،‬با استفاده از تمامی‬

‫برچسب های ‪ CSS‬قالب بندی کنید‪ .‬سعی کنید زیبایی کافی و قالب بندی مناسب برای سند اتفاق بیافتد! در‬

‫داخل سند تنها می توانید برچسبهای ‪ DIV‬و ‪ SPAN‬اضافه کنید و یا به برچسب های موجود ‪ID ,‬‬
‫‪ CLASS‬بیافزایید‪.‬‬

‫‪o‬‬
‫‪o‬آیا می توان با استفاده از ‪ CSS‬منو ساخت؟ اگر بله راه حل را معين کنید‪.‬‬
‫‪o‬مزایا و معایب نوشتن ‪ CSS‬در یک فایل جداگانه را برشمارید‪.‬‬
‫‪o‬با استفاده از ‪ CSS‬یک ‪ taskbar‬برای یک صفحه بسازید که همواره در قسمت پایين پنجره کاوشگر‬
‫بدون استفاده از جداول و تنها با استفاده از ‪ CSS‬یک صفحه سه ستونی (مانند ‪ )SBCE.ir‬بسازید‪.‬‬

‫(نه لزوما انتهای سند) باشد‪.‬‬


Slide 10

‫کارگاه آموزش ی توسعه وب‬
‫بخش دوم ‪CSS -‬‬

‫ارائه‪ :‬عباس نادری‬
‫انجمن علمی دانشجویی‬
‫مهندس ی کامپیوتر‬
‫نسخه ‪1‬‬

‫دانشگاه شهید بهشتی‬

‫‪ CSS‬چیست ؟‬

‫•‬
‫•معمول ترین استفاده ‪ CSS‬برای قالب بندی اسناد وب )‪ (HTML‬منظور می شود‪.‬‬
‫•با پیچیده شدن وب ها‪ ،‬تصمیم بر آن شد تا محتوا از قالب بندی تفکیک شود و توسعه وب تسهیل‬
‫‪ CSS‬یا ‪ Casacading Style Sheets‬یک استاندارد قالب بندی ظاهری اسناد است‪.‬‬

‫گردد‪.‬‬

‫•‬

‫‪ CSS‬سه نسخه اصلی دارد‪:‬‬

‫•‬
‫•‪ :CSS 2‬در سال ‪ 1998‬توسط ‪ W3C‬استاندارد شد و هنوز به عنوان استاندارد بکار می رود‪.‬‬
‫•‪ :CSS 3‬هنوز در دست توسعه توسط ‪ W3C‬است‪.‬‬
‫‪ :CSS 1‬در سال ‪ 1996‬توسط ‪ W3C‬استاندارد شد‪.‬‬

‫•‬

‫‪ CSS‬به دلیل امکان استفاده مجدد‪ ،‬به شدت توسعه وب را ساده و سریع می کند‪ .‬همچنین قالب‬

‫بندی صفحات با استفاده از آن در قالب تیمی مقدور خواهد بود‪.‬‬

‫•‬

‫‪ CSS‬از طریق انتخابگرها قالب بندی را سرعت می بخشد‪ .‬همچنین از موتور انتخابگر ‪ CSS‬در‬

‫کاربردهای دیگر بهره فراوان برده می شود‪.‬‬

‫•‬

‫‪ :Layout Engine‬برنامه ایست در کاوشگرها که سند ‪ HTML‬و فایل ‪ CSS‬را دریافت کرده‪،‬‬

‫خروجی گرافیکی بر روی صفحه تولید می نماید‪.‬‬

‫•‬

‫‪ :Selector Engine‬موتوریست بر روی کاوشگر که زیرمجموعه ای از برچسب های ‪ HTML‬را‬

‫انتخاب می کند‪.‬‬

:‫ با چند مثال آنرا بررس ی می کنیم‬،‫ گرامر بسیار ساده ای دارد‬CSS
Template:
Selection {
Property: value;
Property: value;
//Comment /*Comment */
}
Example:
div.main {
background-color:#777777;
border-width: 1px;
border-style: solid;
font-family: ‘Tahoma’;
}



‫•‬
‫•در سه جای مختلف می توان از ‪ CSS‬استفاده کرد‪:‬‬

‫‪ CSS‬جزئیات گرامری مختلفی نیز دارد که در طی این ارائه با آنها بیشتر آشنا خواهیم شد‪.‬‬

‫•‬
‫•برچسب های ‪ Style‬در داخل فایل ‪ :HTML‬می توان با افزودن برچسب ‪ Style‬در ‪Head‬یا ‪Body‬‬
‫فایل های ‪ :CSS‬می توان ‪ CSS‬را در فایلی جداگانه نوشت و آنرا در ‪ HTML‬افزود‪.‬‬

‫یک سند‪ CSS ،‬تعریف کرد‪.‬‬

‫•‬

‫صفت ‪ Style‬برای برچسب ها‪ :‬می توان در یکی از صفتهای هر برچسب‪ CSS ،‬آنرا تعریف کرد‪ .‬در این‬

‫حالت دیگر انتخابگر مطرح نیست و قالب بندی تنها برای آن برچسب اعمال می شود‪.‬‬

‫•‬
‫•استفاده از حالت سوم (‪ )Inline CSS‬توصیه نمی شود و جدابودن محتوی از قالب را زیر سوال می‬
‫سه نوع تعریف ‪ CSS‬می توانند همزمان باشند‪ .‬اولویت آنها به ترتیب افزایش می یابد‪.‬‬

‫برد‪ ،‬اما در جاهای خاص ی استفاده از آن کار را راحتتر می کند‪.‬‬

:HTML ‫ جدا و استفاده از آن در‬CSS ‫تعریف در فایل‬
//SomeFile.css
input[text] {
width:200px;
background-color:#000000;
border:solid 0px;
}







:HTML ‫ در بدنه سند‬CSS ‫تعریف‬






:‫ در صفت یک برچسب‬CSS ‫تعریف‬


This is some text with tahoma font






‫چگونگی انتخاب برچسبها‬

‫•‬

‫براي مشخص كردن اينكه يك ‪ CSS‬به كدامين اشياء يك صفحه اعمال شود‪ ،‬بايد از انتخابگرها استفاده‬

‫نمود‪ .‬هر انتخاب گر يك يا چند ش يء در يك صفحه ‪ HTML‬را انتخاب مي كند و سپس مي توان قالب هاي‬

‫مورد نظر را به آن اعمال كرد‪.‬‬

‫•‬

‫انتخابگرهاي ‪ CSS‬تنوع و قدرت به سزايي دارند بنابراين در اين بخش در حدي كه نيازهاي اوليه مرتفع‬

‫شوند آنها را بررس ي خواهيم كرد‪.‬‬

‫•‬

‫انتخابگر ها در دو نحوه اوليه تعريف ‪ CSS‬ها قابل استفاده هستند به قالب زير‪:‬‬
‫{ ‪SelectorStatement‬‬
‫;‪Css Properties & Values‬‬

‫}‬

‫انتخاب تمام برچسب ها ‪* :‬‬
‫انتخاب برچسب هاي خاص‪tagName :‬‬
‫انتخاب برچسبي از زيربرچسب هاي يك برچسب ديگر‪ParentTag DescendantTag :‬‬
‫انتخاب برچسبي از فرزندان يك برچسب ديگر ‪ParentTag > ChildTag :‬‬
‫انتخاب برچسبي بعد از يك برچسب ديگر‪Tag1 + Tag2 :‬‬
‫انتخاب برچسبي با صفتي خاص‪Tag[attrib=“value”] :‬‬
‫آنتخاب يك برچسب در وضعيت هاي خاص‪:‬‬
‫لينك ديده نشده ‪Tag:link‬‬

‫برچسبي كه ماوس رويش است ‪Tag:hover‬‬

‫لينك ديده شده ‪Tag:visited‬‬

‫برچسب درحال كليك ‪Tag:active‬‬
‫برچسب فعال صفحه ‪Tag:focus‬‬

‫•‬

‫همانطور كه قبل ذكر شد‪ ،‬هر بچسب در ‪ HTML‬مي تواند صفات خاص ي را داشته باشد‪ .‬صفاتي كه در‬

‫‪ CSS‬به ما كمك مي كنند‪ ،‬دو صفت ‪ class , id‬هستند‪ .‬با اختصاص دادن اين دو صفت به يك برچسب‬

‫در ‪ HTML‬مي توان ويژگيهاي ‪ CSS‬آنرا به سادگي كنترل كرد‪.‬‬

‫•‬

‫با تعريف يك كلس خاص براي برچسبي ‪ ،‬مي توان آنرا جزو دسته اي قرار داد كه ويژگيهاي ‪CSS‬مشترك‬

‫خاص ي بر روي همگي آنها اعمال شود‪.‬‬

‫•‬

‫با تعريف يك مشخصه منحصره (‪ )Unique Identifier‬براي يك برچسب‪ ،‬مي توان كنترل هاي‬

‫خاص ي از طريق ‪CSS‬و جاوااسكريپت بر روي آن برچسب اعمال كرد‪.‬‬

‫•‬

‫بايد توجه گردد كه ‪ id‬هيچ دو برچسبي در يك سند ‪HTML‬نبايد يكسان باشند‪ ،‬در غير اينصورت نتايج‬

‫قابل پيش بيني نخواهد بود‪.‬‬

*{
font-family: “Tahoma”, “Trebuchet”,”MS Sans Serif”
}
div.Container {
background-color:#777777;
border-width: 1px;
}
P#title {
font-weight:bold;
}
H1 + P {
font-style:italic;
}
input [type=‘button’] {
border-style:none;
}
Body Form > input[type=‘text’] {
text-align:center;
}
DIV P * [title] {
color:#ffffff;
}

‫•‬

‫براي اينكه ‪ CSS‬خاص ي را به چند انتخابگر يكجا اعمال كنيم‪ ،‬مي توانيم آنها را به صورت گروهي قرار‬

‫دهيم‪:‬‬
‫{ ]’‪div.Container , p , input[type=‘text‬‬
‫; ’‪font-family: ‘Tahoma’, ‘Comic Sans MS‬‬
‫}‬

‫•‬
‫• ‪CSS‬با استفاده از عبارات جاوااسكريپت مي تواند مقادير پويا (نسبت به شرايط ‪ )Client‬را به‬
‫در صورتي كه چند دستور يكسان ‪ CSS‬به يك برچسب خاص اعمال شوند‪ ،‬آخرين آنها باقي مي ماند‪.‬‬

‫‪ Property‬ها اعمال كند‪:‬‬
‫;‪Width: expression( document.width /2 )px‬‬

‫مشخصه هاي استاندارد ‪CSS 2‬‬

‫‪o‬‬
‫‪(scroll,fixed)o‬‬

‫‪ : Background‬خلصه اي براي تنظيم تمام مشخصات ‪Background‬‬
‫‪ : Background-Attachement‬وضعيت قرارگيري تصوير در‬

‫‪ ،Background‬در صورتي كه ‪fixed‬باشد‪ ،‬با جابجايي صفحه پشت صفحه آن حركت نخواهد كرد‪.‬‬

‫‪o‬‬
‫‪ :Background-image o‬يا مقدار ‪ none‬مي گيرد و يا با استفاده از )‪URL(adress‬يك آدرس‬
‫)‪ : Background-color (RGB Value‬رنگ پشت صفحه‬

‫فايل تصويري (آدرس وب)‬

‫‪o‬‬
‫‪ :Background-repeato‬در صورتي كه از تصوير استفاده شود‪ ،‬روش تكرار آنرا مشخص مي كند‪.‬‬
‫‪ :Background-position‬مقاديري مانند … ‪top left, center center ,‬‬

‫مقادير مجاز عبارتند از ‪no-repeat, repeat-x,repeat-y,repeat‬‬

‫‪o‬‬
‫‪ :Border-widtho‬عرض حاشيه (ضخامت آن) به عدد‪ ،‬درصد و واحد هاي ديگر اندازه‬
‫‪ :Border-coloro‬رنگ حاشيه به ‪RGB‬‬
‫‪ :Border-styleo‬نوع حاشيه از مقادير ‪none, hidden, dotted, dashed, solid,‬‬
‫‪ :Border‬خلصه اي براي تنظيم مشخصات حاشيه‪ ،‬به ترتيب عرض‪ ،‬نوع و رنگ مي گيرد‪.‬‬

‫‪double, groove, ridge, inset, outset‬‬

‫‪o‬‬

‫براي تغيير تنظيمات مربوط به حاشيه نواحي مختلف (باال‪ ،‬پايين‪ ،‬چپ‪ ،‬راست)مي توانيد از چهار ويژگي باال‬

‫به همراه نام طرف مورد نظر استفاده نماييد‪ ،‬براي مثال‪:‬‬

‫‪o‬‬
‫‪Border-top-coloro‬‬
‫‪Border-bottomo‬‬

‫‪Border-left-width‬‬

o

url(file), auto, ‫ مقادير مجاز عبارتند از‬،‫ شمايل اشاره گر ماوس را معين مي سازد‬:Cursor

crosshair, default, pointer, move, e-resize, ne-resize, nw-resize , nresize, se-resize, sw-resize, s-resize, w-resize , text, wait , help
none, inline, block, list- ‫ مقادير مجاز عبارتند از‬،‫ نحوه نمايش يك برچسب‬:Display

o

item, run-in, compact, marker, table, inline-table , ….

left,

right,

‫ مقادير مجاز عبارتند از‬،‫ گرايش و شناوري يك برچسب به طرفي خاص‬:Float

o

none
Static, Relative, ‫ مقادير مجاز عبارتند از‬،‫ نحوه قرارگيري يك برچسب در يك سند‬:Position

o

Absolute, Fixed

‫‪o‬‬
‫‪ :Line-Heighto‬فاصله بين دو خط متن در سند‬
‫‪ :Max-Heighto‬حداكثر ارتفاعي كه يك برچسب مي تواند داشته باشد‬
‫‪ :Min-Heighto‬حداقل ارتفاع يك برچسب‬
‫‪ :Widtho‬عرض يك برچسب‬
‫‪ :Max-Widtho‬حداكثر عرض يك برچسب‬
‫‪ :Min-Widtho‬حداقل عرض يك برچسب‬
‫‪ :Height‬ارتفاع يك برچسب در سند‪ .‬مشخصه اندازه اي‬

‫‪o‬‬
‫‪ :Font-Familyo‬نام قلم‪ ،‬بهتر است ليستي از قلمها بسته به پشتيباني از سيستم ها انتخاب شود‪.‬‬
‫‪ :Font‬ميانبري براي اعمال مشخصات كامل فونت و قلم‬

‫معموال نوشته هاي فارس ي با قلم ‪ Tahoma‬خوب نمايش داده مي شوند‪.‬‬

‫‪o‬‬

‫‪ :Font-Size‬اندازه قلم‪ .‬هم مي تواند از انواع مقداري قرار داده شود هم مي تواند يكي از مقادير مجاز‬

‫باشد‬

‫‪xx-small, x-small, small, medium, large, x-large, xx-large,‬‬

‫‪smaller, larger‬‬

‫‪o‬‬

‫‪ :Font-Stretch‬كشيدگي فونت (فاصلي افقي مابين حرفهاي آن)يا مقدار عددي يا يكي از مقادير‬

‫‪normal, wider, narrower, ultra-condensed, extra-condensed, condensed,‬‬
‫‪semi-condensed, semi-expanded, expanded, extra-expanded, ultra-expanded‬‬

‫‪o‬‬
‫‪ :Font-Weighto‬يكي از مقادير ‪ normal, bold, bolder, lighter‬و يا مقدار عددي‬
‫‪ :Font-Style‬يكي از مقادير ‪Normal, Italic, Oblique‬‬

o
none , url(file) :List-Style-Imageo
inside, outside :List-style-Positiono
‫ موارد مجاز عبارتند از‬،‫ شكل موارد ليست‬:List-Style-Typeo

‫ موقعيت و تصوير ليست را مي گيرد‬، ‫ نوع‬،‫ به ترتيب‬.‫ ميانبري براي تنظيمات ليست‬:List-Style

none, disc, circle,

square, decimal, decimal-leading-zero, lower-roman, upper-roman,
lower-alpha,

upper-alpha,

lower-greek,

lower-latin,

upper-latin,

hebrew, armenian, georgian, cjk-ideographic, hiragana, katakana,
hiragana-iroha, katakana-iroha

)auto ‫ فاصله علمت از نوشتار (مقدار يا‬:Marker-Offset

o

‫‪o‬‬

‫‪ :Margin‬ميانبري براي تنظيمات كناره‪ .‬به ترتيب اندازه كناره هاي باال‪ ،‬راست‪ ،‬پايين و چپ را مي گيرد‬

‫(ساعتگرد)‬

‫‪o‬‬

‫‪ :Margin-left, Margin-right, Margin-top, Margin-bottom‬مقدار كناره‪ ،‬مقدار يا‬

‫‪auto‬‬

‫‪o‬‬
‫‪ :Padding-left, Padding-right, Padding-top, Padding-bottomo‬مقدار اليي‬
‫‪ :Padding‬ميانبري براي تنظيم مشخصات اليي گذاري‪ ،‬به ترتيب باال‪ ،‬راست‪ ،‬پايين و چپ‬

‫گذاري‪ ،‬مقدار يا ‪auto‬‬

‫‪o‬‬
‫‪ :Outline-coloro‬رنگ خط حاشيه به ‪RGB‬‬
‫‪ :Outline-styleo‬نوع خط حاشيه يك ش يء‪ ،‬انوع مجاز عبارتند از ‪none, dotted, dashed,‬‬
‫‪ :Outline‬ميانبري براي تمام تنظيمات خط حاشيه‪ ،‬به ترتيب رنگ‪ ،‬نوع و عرض‬

‫‪solid , double , groove, ridge, inset, outset‬‬

‫‪o‬‬

‫‪ :Outline-width‬قطوري خط حاشيه‪ ،‬مقدار عددي يا يكي از مقادير ‪thin, thick, medium‬‬

‫‪o‬‬

‫‪ :Overflow‬در صورتي كه محتويات يك برچسب در آن جاي نگيرند‪ ،‬اين مشخصه معين مي سازد كه‬

‫چه اتفاقي بيافتد‪ .‬مقادير مجاز عبارتند از ‪Visible, Hidden, Auto, Scroll‬‬

‫‪o‬‬

‫‪ :Position‬نحوه قرارگيري برچسب نسبت به سند‪ ،‬مقادير مجاز عبارتند از ‪Static, Relative,‬‬

‫‪Absolute, Fixed‬‬

‫‪o‬‬

‫‪ :Vertical-Align‬نحوه قرارگيري عمودي يك برچسب در داخل برچسب پدر خود را مشخص مي كند‪.‬‬

‫مقادير مجاز عبارتند از ‪baseline, sub, super, top, text-top, middle, bottom,‬‬
‫‪ text-bottom‬و يا مقدار عددي‬

‫‪o‬‬

‫‪ :Z-Index‬اولويت قرارگيري در بعد سوم در صفحه (يعني جلو پشت ديگر برچسب ها)‪ Auto .‬يا يك‬

‫عدد‬

‫‪o‬‬

‫‪ :Border-Collapse‬معين مي سازد كه حواش ي جداول جدا باشند و يا يك مجموعه خط بهم‬

‫پيوسته باشند‪ .‬مقادير مجاز ‪Separate , Collapse‬‬

‫‪o‬‬
‫‪ :Empty-Cellsٍo‬مشخص مي كند كه سلول هاي خالي در مدل ‪ Seperate‬نمايش داده شوند و يا‬
‫‪ :Border-Spacing‬فاصله ميان دو حاشيه جدول‪ ،‬تنها در صورتي كه ‪ Seperate‬باشد‪.‬‬

‫خير‪ .‬مقادير مجاز ‪Show/Hide‬‬

‫‪o‬‬

‫‪ :Table Layout‬الگوريتم نحوه نمايش سلولهاي يك جدول‪Auto/Fixed ،‬‬

‫‪o‬‬
‫‪ :Directiono‬جهت متن (و محتويات)يك برچسب را مشخص مي سازد‪ ،‬مقادير مجاز ‪LTR/RTL‬‬
‫‪ :Text-Aligno‬مقادير مجاز ‪Left, Right, Center, Justify‬‬
‫‪ :Text-Decorationo‬افزودن افكتي به متن‪ ،‬مقادير مجاز عبارتند از ‪none, underline,‬‬
‫‪ :Color‬رنگ يك متن را مشخص مي سازد‪RGB ،‬‬

‫‪overline, line-through, blink‬‬

‫‪o‬‬
‫‪ :Word-Spacingo‬فاصله ميان لغات يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Letter-Spacingo‬فاصله ميان حروف يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Text-Indent‬تو رفتگي اولين خط يك متن‪ .‬مقدار عددي‬

‫تسلط كامل بر ‪CSS‬‬

‫‪o‬‬

‫در ‪ CSS‬رنگها را به دو شیوه می توان مشخص کرد‪:‬‬

‫‪o‬‬
‫‪o‬استفاده از نام رنگ‬

‫تعیين مقدار ‪ 24‬بیتی ‪ RGB‬آنها‬

‫‪o‬‬

‫در روش اول ‪ 16‬میلیون رنگ مختلف برای انتخاب وجود دارند‪ ،‬اما در روش دوم حدود ‪ 200‬رنگ با نام‬

‫های مختلف قابل استفاده هستند‪.‬‬

‫‪o‬‬
‫‪o‬برای مشخص کردن رنگ ‪ ،RGB‬پس از قرار دادن علمت ‪ #‬به ترتیب مقدار ‪ R‬و ‪ G‬و ‪ B‬را در مبنای ‪16‬‬
‫برای مشخص کردن رنگ با نام آن‪ ،‬کافیست نام رنگ را بنویسید‪Cyan, Purple :‬‬

‫وارد می کنیم‪#FFFFFF , #00FF00 :‬‬

‫‪o‬‬

‫همچنين می توان برای مشخص کردن رنگ ‪ RGB‬به صورت روبرو عمل کرد‪RGB(100,255,10):‬‬

‫و یا)‪RGB(70%,20%,100%‬‬

‫‪o‬‬

‫تمامی مقادیر اندازه ای در ‪ CSS‬واحد های متفاوتی را می پذیرند‪ .‬پایه ای ترین واحد همان ‪ Pixel‬است‬

‫که با ‪ px‬در انتهای مقدار مشخص می گردد‪ .‬واحدهای دیگر عبارتند از‪:‬‬

‫‪o‬‬
‫‪ :Ino‬اینچ‬
‫‪ :Cmo‬سانتیمتر‬
‫‪ :Mmo‬میلیمتر‬
‫‪ :Emo‬اندازه فونت‬
‫‪ 1/72 :Pto‬اینتچ‬
‫‪pt 12 :Pco‬‬
‫‪ :Pxo‬یک نقطه‬
‫‪ :%‬درصد!‬

‫‪o‬‬

‫شفافیت )‪ (Transparency‬یک عملیات پیچیده برای سیستم هاییست که کارت گرافیکی قدرتمندی‬

‫ندارد و موتور گرافیکی کاوشگر برای پیاده کردن آن بشدت زیر بار قرار می گيرد‪.‬‬

‫‪o‬‬

‫با استفاده از شفافیت می توان جذابیت بصری را بسیار باالتر برد‪ ،‬اما باید دقت داشت که کندی پردازش‬

‫تصویری سایت برای کاربر ایجاد مزاحمت نکند‪.‬‬

‫‪o‬‬
‫‪ o‬برای ایجاد شفافیت در کاوشگرهای استادارد‪ ،‬از ‪ Opacity : .5‬استفاده می شود‪.‬‬
‫‪o‬برای ایجاد شفافیت در ‪ IE‬از )‪ filter:alpha(opacity=50‬استفاده می شود‪.‬‬
‫‪o‬برای اینکه شفافیت در تمامی کاوشگرها درست نمایش داده شود الزم است هردو دستور باال بکار روند‪.‬‬
‫متاسفانه کاوشگر ‪ IE‬برای شفافیت از دستورات خود استفاده می کند که استاندارد نیستند‪.‬‬

‫‪o‬‬

‫کاوشگرهایی مانند ‪ Firefox‬دستورات ‪ CSS‬ویژه ای دارند (البته ‪ IE‬نيز دستورات مخصوص خود را‬

‫داراست) ‪.‬‬

‫‪o‬‬

‫عبارت ‪ –moz-border-radius‬می تواند گوشه های مستطیل ها را از تيزی درآورده و آنها را نرم‬

‫کند‪-moz-border-radius: 5px; :‬‬

‫‪o‬‬

‫استفاده از این عبارت و راه حل های مشابه پیشنهاد نمی شود زیرا این نما تنها در ‪ Firefox‬قابل مشاهده‬

‫خواهد بود‪.‬‬

‫‪o‬‬

‫‪ CSS‬توانایی آنرا داراست که برای رسانه های خاص تفاوت کند! برای مثال می توانید ‪ CSS‬یک سایت‬

‫را طوری تعریف کنید که رنگ نوشته های آن قرمز باشد ولی هنگام پرینت مشکی شود‪.‬‬

‫‪o‬‬

‫برای مشخص کردن اینکه ‪ CSS‬را برای چه رسانه ای می نویسیم‪ ،‬از ‪ @media‬استفاده می کنیم‪:‬‬
‫‪@media screen‬‬
‫};‪* { color:#ff0000‬‬
‫‪@media print‬‬
‫};‪* { color:#000000‬‬

‫رسانه های معمول عبارتند از‪all, braille, handheld, print, projection, screen, tv, :‬‬
‫…‬

‫‪ CSS‬را قورت بده!‬

‫‪o‬‬

‫فایل ‪ HTML‬ای که در تمرینات ‪ HTML‬ساخته اید و تمامی برچسب ها را داراست‪ ،‬با استفاده از تمامی‬

‫برچسب های ‪ CSS‬قالب بندی کنید‪ .‬سعی کنید زیبایی کافی و قالب بندی مناسب برای سند اتفاق بیافتد! در‬

‫داخل سند تنها می توانید برچسبهای ‪ DIV‬و ‪ SPAN‬اضافه کنید و یا به برچسب های موجود ‪ID ,‬‬
‫‪ CLASS‬بیافزایید‪.‬‬

‫‪o‬‬
‫‪o‬آیا می توان با استفاده از ‪ CSS‬منو ساخت؟ اگر بله راه حل را معين کنید‪.‬‬
‫‪o‬مزایا و معایب نوشتن ‪ CSS‬در یک فایل جداگانه را برشمارید‪.‬‬
‫‪o‬با استفاده از ‪ CSS‬یک ‪ taskbar‬برای یک صفحه بسازید که همواره در قسمت پایين پنجره کاوشگر‬
‫بدون استفاده از جداول و تنها با استفاده از ‪ CSS‬یک صفحه سه ستونی (مانند ‪ )SBCE.ir‬بسازید‪.‬‬

‫(نه لزوما انتهای سند) باشد‪.‬‬


Slide 11

‫کارگاه آموزش ی توسعه وب‬
‫بخش دوم ‪CSS -‬‬

‫ارائه‪ :‬عباس نادری‬
‫انجمن علمی دانشجویی‬
‫مهندس ی کامپیوتر‬
‫نسخه ‪1‬‬

‫دانشگاه شهید بهشتی‬

‫‪ CSS‬چیست ؟‬

‫•‬
‫•معمول ترین استفاده ‪ CSS‬برای قالب بندی اسناد وب )‪ (HTML‬منظور می شود‪.‬‬
‫•با پیچیده شدن وب ها‪ ،‬تصمیم بر آن شد تا محتوا از قالب بندی تفکیک شود و توسعه وب تسهیل‬
‫‪ CSS‬یا ‪ Casacading Style Sheets‬یک استاندارد قالب بندی ظاهری اسناد است‪.‬‬

‫گردد‪.‬‬

‫•‬

‫‪ CSS‬سه نسخه اصلی دارد‪:‬‬

‫•‬
‫•‪ :CSS 2‬در سال ‪ 1998‬توسط ‪ W3C‬استاندارد شد و هنوز به عنوان استاندارد بکار می رود‪.‬‬
‫•‪ :CSS 3‬هنوز در دست توسعه توسط ‪ W3C‬است‪.‬‬
‫‪ :CSS 1‬در سال ‪ 1996‬توسط ‪ W3C‬استاندارد شد‪.‬‬

‫•‬

‫‪ CSS‬به دلیل امکان استفاده مجدد‪ ،‬به شدت توسعه وب را ساده و سریع می کند‪ .‬همچنین قالب‬

‫بندی صفحات با استفاده از آن در قالب تیمی مقدور خواهد بود‪.‬‬

‫•‬

‫‪ CSS‬از طریق انتخابگرها قالب بندی را سرعت می بخشد‪ .‬همچنین از موتور انتخابگر ‪ CSS‬در‬

‫کاربردهای دیگر بهره فراوان برده می شود‪.‬‬

‫•‬

‫‪ :Layout Engine‬برنامه ایست در کاوشگرها که سند ‪ HTML‬و فایل ‪ CSS‬را دریافت کرده‪،‬‬

‫خروجی گرافیکی بر روی صفحه تولید می نماید‪.‬‬

‫•‬

‫‪ :Selector Engine‬موتوریست بر روی کاوشگر که زیرمجموعه ای از برچسب های ‪ HTML‬را‬

‫انتخاب می کند‪.‬‬

:‫ با چند مثال آنرا بررس ی می کنیم‬،‫ گرامر بسیار ساده ای دارد‬CSS
Template:
Selection {
Property: value;
Property: value;
//Comment /*Comment */
}
Example:
div.main {
background-color:#777777;
border-width: 1px;
border-style: solid;
font-family: ‘Tahoma’;
}



‫•‬
‫•در سه جای مختلف می توان از ‪ CSS‬استفاده کرد‪:‬‬

‫‪ CSS‬جزئیات گرامری مختلفی نیز دارد که در طی این ارائه با آنها بیشتر آشنا خواهیم شد‪.‬‬

‫•‬
‫•برچسب های ‪ Style‬در داخل فایل ‪ :HTML‬می توان با افزودن برچسب ‪ Style‬در ‪Head‬یا ‪Body‬‬
‫فایل های ‪ :CSS‬می توان ‪ CSS‬را در فایلی جداگانه نوشت و آنرا در ‪ HTML‬افزود‪.‬‬

‫یک سند‪ CSS ،‬تعریف کرد‪.‬‬

‫•‬

‫صفت ‪ Style‬برای برچسب ها‪ :‬می توان در یکی از صفتهای هر برچسب‪ CSS ،‬آنرا تعریف کرد‪ .‬در این‬

‫حالت دیگر انتخابگر مطرح نیست و قالب بندی تنها برای آن برچسب اعمال می شود‪.‬‬

‫•‬
‫•استفاده از حالت سوم (‪ )Inline CSS‬توصیه نمی شود و جدابودن محتوی از قالب را زیر سوال می‬
‫سه نوع تعریف ‪ CSS‬می توانند همزمان باشند‪ .‬اولویت آنها به ترتیب افزایش می یابد‪.‬‬

‫برد‪ ،‬اما در جاهای خاص ی استفاده از آن کار را راحتتر می کند‪.‬‬

:HTML ‫ جدا و استفاده از آن در‬CSS ‫تعریف در فایل‬
//SomeFile.css
input[text] {
width:200px;
background-color:#000000;
border:solid 0px;
}







:HTML ‫ در بدنه سند‬CSS ‫تعریف‬






:‫ در صفت یک برچسب‬CSS ‫تعریف‬


This is some text with tahoma font






‫چگونگی انتخاب برچسبها‬

‫•‬

‫براي مشخص كردن اينكه يك ‪ CSS‬به كدامين اشياء يك صفحه اعمال شود‪ ،‬بايد از انتخابگرها استفاده‬

‫نمود‪ .‬هر انتخاب گر يك يا چند ش يء در يك صفحه ‪ HTML‬را انتخاب مي كند و سپس مي توان قالب هاي‬

‫مورد نظر را به آن اعمال كرد‪.‬‬

‫•‬

‫انتخابگرهاي ‪ CSS‬تنوع و قدرت به سزايي دارند بنابراين در اين بخش در حدي كه نيازهاي اوليه مرتفع‬

‫شوند آنها را بررس ي خواهيم كرد‪.‬‬

‫•‬

‫انتخابگر ها در دو نحوه اوليه تعريف ‪ CSS‬ها قابل استفاده هستند به قالب زير‪:‬‬
‫{ ‪SelectorStatement‬‬
‫;‪Css Properties & Values‬‬

‫}‬

‫انتخاب تمام برچسب ها ‪* :‬‬
‫انتخاب برچسب هاي خاص‪tagName :‬‬
‫انتخاب برچسبي از زيربرچسب هاي يك برچسب ديگر‪ParentTag DescendantTag :‬‬
‫انتخاب برچسبي از فرزندان يك برچسب ديگر ‪ParentTag > ChildTag :‬‬
‫انتخاب برچسبي بعد از يك برچسب ديگر‪Tag1 + Tag2 :‬‬
‫انتخاب برچسبي با صفتي خاص‪Tag[attrib=“value”] :‬‬
‫آنتخاب يك برچسب در وضعيت هاي خاص‪:‬‬
‫لينك ديده نشده ‪Tag:link‬‬

‫برچسبي كه ماوس رويش است ‪Tag:hover‬‬

‫لينك ديده شده ‪Tag:visited‬‬

‫برچسب درحال كليك ‪Tag:active‬‬
‫برچسب فعال صفحه ‪Tag:focus‬‬

‫•‬

‫همانطور كه قبل ذكر شد‪ ،‬هر بچسب در ‪ HTML‬مي تواند صفات خاص ي را داشته باشد‪ .‬صفاتي كه در‬

‫‪ CSS‬به ما كمك مي كنند‪ ،‬دو صفت ‪ class , id‬هستند‪ .‬با اختصاص دادن اين دو صفت به يك برچسب‬

‫در ‪ HTML‬مي توان ويژگيهاي ‪ CSS‬آنرا به سادگي كنترل كرد‪.‬‬

‫•‬

‫با تعريف يك كلس خاص براي برچسبي ‪ ،‬مي توان آنرا جزو دسته اي قرار داد كه ويژگيهاي ‪CSS‬مشترك‬

‫خاص ي بر روي همگي آنها اعمال شود‪.‬‬

‫•‬

‫با تعريف يك مشخصه منحصره (‪ )Unique Identifier‬براي يك برچسب‪ ،‬مي توان كنترل هاي‬

‫خاص ي از طريق ‪CSS‬و جاوااسكريپت بر روي آن برچسب اعمال كرد‪.‬‬

‫•‬

‫بايد توجه گردد كه ‪ id‬هيچ دو برچسبي در يك سند ‪HTML‬نبايد يكسان باشند‪ ،‬در غير اينصورت نتايج‬

‫قابل پيش بيني نخواهد بود‪.‬‬

*{
font-family: “Tahoma”, “Trebuchet”,”MS Sans Serif”
}
div.Container {
background-color:#777777;
border-width: 1px;
}
P#title {
font-weight:bold;
}
H1 + P {
font-style:italic;
}
input [type=‘button’] {
border-style:none;
}
Body Form > input[type=‘text’] {
text-align:center;
}
DIV P * [title] {
color:#ffffff;
}

‫•‬

‫براي اينكه ‪ CSS‬خاص ي را به چند انتخابگر يكجا اعمال كنيم‪ ،‬مي توانيم آنها را به صورت گروهي قرار‬

‫دهيم‪:‬‬
‫{ ]’‪div.Container , p , input[type=‘text‬‬
‫; ’‪font-family: ‘Tahoma’, ‘Comic Sans MS‬‬
‫}‬

‫•‬
‫• ‪CSS‬با استفاده از عبارات جاوااسكريپت مي تواند مقادير پويا (نسبت به شرايط ‪ )Client‬را به‬
‫در صورتي كه چند دستور يكسان ‪ CSS‬به يك برچسب خاص اعمال شوند‪ ،‬آخرين آنها باقي مي ماند‪.‬‬

‫‪ Property‬ها اعمال كند‪:‬‬
‫;‪Width: expression( document.width /2 )px‬‬

‫مشخصه هاي استاندارد ‪CSS 2‬‬

‫‪o‬‬
‫‪(scroll,fixed)o‬‬

‫‪ : Background‬خلصه اي براي تنظيم تمام مشخصات ‪Background‬‬
‫‪ : Background-Attachement‬وضعيت قرارگيري تصوير در‬

‫‪ ،Background‬در صورتي كه ‪fixed‬باشد‪ ،‬با جابجايي صفحه پشت صفحه آن حركت نخواهد كرد‪.‬‬

‫‪o‬‬
‫‪ :Background-image o‬يا مقدار ‪ none‬مي گيرد و يا با استفاده از )‪URL(adress‬يك آدرس‬
‫)‪ : Background-color (RGB Value‬رنگ پشت صفحه‬

‫فايل تصويري (آدرس وب)‬

‫‪o‬‬
‫‪ :Background-repeato‬در صورتي كه از تصوير استفاده شود‪ ،‬روش تكرار آنرا مشخص مي كند‪.‬‬
‫‪ :Background-position‬مقاديري مانند … ‪top left, center center ,‬‬

‫مقادير مجاز عبارتند از ‪no-repeat, repeat-x,repeat-y,repeat‬‬

‫‪o‬‬
‫‪ :Border-widtho‬عرض حاشيه (ضخامت آن) به عدد‪ ،‬درصد و واحد هاي ديگر اندازه‬
‫‪ :Border-coloro‬رنگ حاشيه به ‪RGB‬‬
‫‪ :Border-styleo‬نوع حاشيه از مقادير ‪none, hidden, dotted, dashed, solid,‬‬
‫‪ :Border‬خلصه اي براي تنظيم مشخصات حاشيه‪ ،‬به ترتيب عرض‪ ،‬نوع و رنگ مي گيرد‪.‬‬

‫‪double, groove, ridge, inset, outset‬‬

‫‪o‬‬

‫براي تغيير تنظيمات مربوط به حاشيه نواحي مختلف (باال‪ ،‬پايين‪ ،‬چپ‪ ،‬راست)مي توانيد از چهار ويژگي باال‬

‫به همراه نام طرف مورد نظر استفاده نماييد‪ ،‬براي مثال‪:‬‬

‫‪o‬‬
‫‪Border-top-coloro‬‬
‫‪Border-bottomo‬‬

‫‪Border-left-width‬‬

o

url(file), auto, ‫ مقادير مجاز عبارتند از‬،‫ شمايل اشاره گر ماوس را معين مي سازد‬:Cursor

crosshair, default, pointer, move, e-resize, ne-resize, nw-resize , nresize, se-resize, sw-resize, s-resize, w-resize , text, wait , help
none, inline, block, list- ‫ مقادير مجاز عبارتند از‬،‫ نحوه نمايش يك برچسب‬:Display

o

item, run-in, compact, marker, table, inline-table , ….

left,

right,

‫ مقادير مجاز عبارتند از‬،‫ گرايش و شناوري يك برچسب به طرفي خاص‬:Float

o

none
Static, Relative, ‫ مقادير مجاز عبارتند از‬،‫ نحوه قرارگيري يك برچسب در يك سند‬:Position

o

Absolute, Fixed

‫‪o‬‬
‫‪ :Line-Heighto‬فاصله بين دو خط متن در سند‬
‫‪ :Max-Heighto‬حداكثر ارتفاعي كه يك برچسب مي تواند داشته باشد‬
‫‪ :Min-Heighto‬حداقل ارتفاع يك برچسب‬
‫‪ :Widtho‬عرض يك برچسب‬
‫‪ :Max-Widtho‬حداكثر عرض يك برچسب‬
‫‪ :Min-Widtho‬حداقل عرض يك برچسب‬
‫‪ :Height‬ارتفاع يك برچسب در سند‪ .‬مشخصه اندازه اي‬

‫‪o‬‬
‫‪ :Font-Familyo‬نام قلم‪ ،‬بهتر است ليستي از قلمها بسته به پشتيباني از سيستم ها انتخاب شود‪.‬‬
‫‪ :Font‬ميانبري براي اعمال مشخصات كامل فونت و قلم‬

‫معموال نوشته هاي فارس ي با قلم ‪ Tahoma‬خوب نمايش داده مي شوند‪.‬‬

‫‪o‬‬

‫‪ :Font-Size‬اندازه قلم‪ .‬هم مي تواند از انواع مقداري قرار داده شود هم مي تواند يكي از مقادير مجاز‬

‫باشد‬

‫‪xx-small, x-small, small, medium, large, x-large, xx-large,‬‬

‫‪smaller, larger‬‬

‫‪o‬‬

‫‪ :Font-Stretch‬كشيدگي فونت (فاصلي افقي مابين حرفهاي آن)يا مقدار عددي يا يكي از مقادير‬

‫‪normal, wider, narrower, ultra-condensed, extra-condensed, condensed,‬‬
‫‪semi-condensed, semi-expanded, expanded, extra-expanded, ultra-expanded‬‬

‫‪o‬‬
‫‪ :Font-Weighto‬يكي از مقادير ‪ normal, bold, bolder, lighter‬و يا مقدار عددي‬
‫‪ :Font-Style‬يكي از مقادير ‪Normal, Italic, Oblique‬‬

o
none , url(file) :List-Style-Imageo
inside, outside :List-style-Positiono
‫ موارد مجاز عبارتند از‬،‫ شكل موارد ليست‬:List-Style-Typeo

‫ موقعيت و تصوير ليست را مي گيرد‬، ‫ نوع‬،‫ به ترتيب‬.‫ ميانبري براي تنظيمات ليست‬:List-Style

none, disc, circle,

square, decimal, decimal-leading-zero, lower-roman, upper-roman,
lower-alpha,

upper-alpha,

lower-greek,

lower-latin,

upper-latin,

hebrew, armenian, georgian, cjk-ideographic, hiragana, katakana,
hiragana-iroha, katakana-iroha

)auto ‫ فاصله علمت از نوشتار (مقدار يا‬:Marker-Offset

o

‫‪o‬‬

‫‪ :Margin‬ميانبري براي تنظيمات كناره‪ .‬به ترتيب اندازه كناره هاي باال‪ ،‬راست‪ ،‬پايين و چپ را مي گيرد‬

‫(ساعتگرد)‬

‫‪o‬‬

‫‪ :Margin-left, Margin-right, Margin-top, Margin-bottom‬مقدار كناره‪ ،‬مقدار يا‬

‫‪auto‬‬

‫‪o‬‬
‫‪ :Padding-left, Padding-right, Padding-top, Padding-bottomo‬مقدار اليي‬
‫‪ :Padding‬ميانبري براي تنظيم مشخصات اليي گذاري‪ ،‬به ترتيب باال‪ ،‬راست‪ ،‬پايين و چپ‬

‫گذاري‪ ،‬مقدار يا ‪auto‬‬

‫‪o‬‬
‫‪ :Outline-coloro‬رنگ خط حاشيه به ‪RGB‬‬
‫‪ :Outline-styleo‬نوع خط حاشيه يك ش يء‪ ،‬انوع مجاز عبارتند از ‪none, dotted, dashed,‬‬
‫‪ :Outline‬ميانبري براي تمام تنظيمات خط حاشيه‪ ،‬به ترتيب رنگ‪ ،‬نوع و عرض‬

‫‪solid , double , groove, ridge, inset, outset‬‬

‫‪o‬‬

‫‪ :Outline-width‬قطوري خط حاشيه‪ ،‬مقدار عددي يا يكي از مقادير ‪thin, thick, medium‬‬

‫‪o‬‬

‫‪ :Overflow‬در صورتي كه محتويات يك برچسب در آن جاي نگيرند‪ ،‬اين مشخصه معين مي سازد كه‬

‫چه اتفاقي بيافتد‪ .‬مقادير مجاز عبارتند از ‪Visible, Hidden, Auto, Scroll‬‬

‫‪o‬‬

‫‪ :Position‬نحوه قرارگيري برچسب نسبت به سند‪ ،‬مقادير مجاز عبارتند از ‪Static, Relative,‬‬

‫‪Absolute, Fixed‬‬

‫‪o‬‬

‫‪ :Vertical-Align‬نحوه قرارگيري عمودي يك برچسب در داخل برچسب پدر خود را مشخص مي كند‪.‬‬

‫مقادير مجاز عبارتند از ‪baseline, sub, super, top, text-top, middle, bottom,‬‬
‫‪ text-bottom‬و يا مقدار عددي‬

‫‪o‬‬

‫‪ :Z-Index‬اولويت قرارگيري در بعد سوم در صفحه (يعني جلو پشت ديگر برچسب ها)‪ Auto .‬يا يك‬

‫عدد‬

‫‪o‬‬

‫‪ :Border-Collapse‬معين مي سازد كه حواش ي جداول جدا باشند و يا يك مجموعه خط بهم‬

‫پيوسته باشند‪ .‬مقادير مجاز ‪Separate , Collapse‬‬

‫‪o‬‬
‫‪ :Empty-Cellsٍo‬مشخص مي كند كه سلول هاي خالي در مدل ‪ Seperate‬نمايش داده شوند و يا‬
‫‪ :Border-Spacing‬فاصله ميان دو حاشيه جدول‪ ،‬تنها در صورتي كه ‪ Seperate‬باشد‪.‬‬

‫خير‪ .‬مقادير مجاز ‪Show/Hide‬‬

‫‪o‬‬

‫‪ :Table Layout‬الگوريتم نحوه نمايش سلولهاي يك جدول‪Auto/Fixed ،‬‬

‫‪o‬‬
‫‪ :Directiono‬جهت متن (و محتويات)يك برچسب را مشخص مي سازد‪ ،‬مقادير مجاز ‪LTR/RTL‬‬
‫‪ :Text-Aligno‬مقادير مجاز ‪Left, Right, Center, Justify‬‬
‫‪ :Text-Decorationo‬افزودن افكتي به متن‪ ،‬مقادير مجاز عبارتند از ‪none, underline,‬‬
‫‪ :Color‬رنگ يك متن را مشخص مي سازد‪RGB ،‬‬

‫‪overline, line-through, blink‬‬

‫‪o‬‬
‫‪ :Word-Spacingo‬فاصله ميان لغات يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Letter-Spacingo‬فاصله ميان حروف يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Text-Indent‬تو رفتگي اولين خط يك متن‪ .‬مقدار عددي‬

‫تسلط كامل بر ‪CSS‬‬

‫‪o‬‬

‫در ‪ CSS‬رنگها را به دو شیوه می توان مشخص کرد‪:‬‬

‫‪o‬‬
‫‪o‬استفاده از نام رنگ‬

‫تعیين مقدار ‪ 24‬بیتی ‪ RGB‬آنها‬

‫‪o‬‬

‫در روش اول ‪ 16‬میلیون رنگ مختلف برای انتخاب وجود دارند‪ ،‬اما در روش دوم حدود ‪ 200‬رنگ با نام‬

‫های مختلف قابل استفاده هستند‪.‬‬

‫‪o‬‬
‫‪o‬برای مشخص کردن رنگ ‪ ،RGB‬پس از قرار دادن علمت ‪ #‬به ترتیب مقدار ‪ R‬و ‪ G‬و ‪ B‬را در مبنای ‪16‬‬
‫برای مشخص کردن رنگ با نام آن‪ ،‬کافیست نام رنگ را بنویسید‪Cyan, Purple :‬‬

‫وارد می کنیم‪#FFFFFF , #00FF00 :‬‬

‫‪o‬‬

‫همچنين می توان برای مشخص کردن رنگ ‪ RGB‬به صورت روبرو عمل کرد‪RGB(100,255,10):‬‬

‫و یا)‪RGB(70%,20%,100%‬‬

‫‪o‬‬

‫تمامی مقادیر اندازه ای در ‪ CSS‬واحد های متفاوتی را می پذیرند‪ .‬پایه ای ترین واحد همان ‪ Pixel‬است‬

‫که با ‪ px‬در انتهای مقدار مشخص می گردد‪ .‬واحدهای دیگر عبارتند از‪:‬‬

‫‪o‬‬
‫‪ :Ino‬اینچ‬
‫‪ :Cmo‬سانتیمتر‬
‫‪ :Mmo‬میلیمتر‬
‫‪ :Emo‬اندازه فونت‬
‫‪ 1/72 :Pto‬اینتچ‬
‫‪pt 12 :Pco‬‬
‫‪ :Pxo‬یک نقطه‬
‫‪ :%‬درصد!‬

‫‪o‬‬

‫شفافیت )‪ (Transparency‬یک عملیات پیچیده برای سیستم هاییست که کارت گرافیکی قدرتمندی‬

‫ندارد و موتور گرافیکی کاوشگر برای پیاده کردن آن بشدت زیر بار قرار می گيرد‪.‬‬

‫‪o‬‬

‫با استفاده از شفافیت می توان جذابیت بصری را بسیار باالتر برد‪ ،‬اما باید دقت داشت که کندی پردازش‬

‫تصویری سایت برای کاربر ایجاد مزاحمت نکند‪.‬‬

‫‪o‬‬
‫‪ o‬برای ایجاد شفافیت در کاوشگرهای استادارد‪ ،‬از ‪ Opacity : .5‬استفاده می شود‪.‬‬
‫‪o‬برای ایجاد شفافیت در ‪ IE‬از )‪ filter:alpha(opacity=50‬استفاده می شود‪.‬‬
‫‪o‬برای اینکه شفافیت در تمامی کاوشگرها درست نمایش داده شود الزم است هردو دستور باال بکار روند‪.‬‬
‫متاسفانه کاوشگر ‪ IE‬برای شفافیت از دستورات خود استفاده می کند که استاندارد نیستند‪.‬‬

‫‪o‬‬

‫کاوشگرهایی مانند ‪ Firefox‬دستورات ‪ CSS‬ویژه ای دارند (البته ‪ IE‬نيز دستورات مخصوص خود را‬

‫داراست) ‪.‬‬

‫‪o‬‬

‫عبارت ‪ –moz-border-radius‬می تواند گوشه های مستطیل ها را از تيزی درآورده و آنها را نرم‬

‫کند‪-moz-border-radius: 5px; :‬‬

‫‪o‬‬

‫استفاده از این عبارت و راه حل های مشابه پیشنهاد نمی شود زیرا این نما تنها در ‪ Firefox‬قابل مشاهده‬

‫خواهد بود‪.‬‬

‫‪o‬‬

‫‪ CSS‬توانایی آنرا داراست که برای رسانه های خاص تفاوت کند! برای مثال می توانید ‪ CSS‬یک سایت‬

‫را طوری تعریف کنید که رنگ نوشته های آن قرمز باشد ولی هنگام پرینت مشکی شود‪.‬‬

‫‪o‬‬

‫برای مشخص کردن اینکه ‪ CSS‬را برای چه رسانه ای می نویسیم‪ ،‬از ‪ @media‬استفاده می کنیم‪:‬‬
‫‪@media screen‬‬
‫};‪* { color:#ff0000‬‬
‫‪@media print‬‬
‫};‪* { color:#000000‬‬

‫رسانه های معمول عبارتند از‪all, braille, handheld, print, projection, screen, tv, :‬‬
‫…‬

‫‪ CSS‬را قورت بده!‬

‫‪o‬‬

‫فایل ‪ HTML‬ای که در تمرینات ‪ HTML‬ساخته اید و تمامی برچسب ها را داراست‪ ،‬با استفاده از تمامی‬

‫برچسب های ‪ CSS‬قالب بندی کنید‪ .‬سعی کنید زیبایی کافی و قالب بندی مناسب برای سند اتفاق بیافتد! در‬

‫داخل سند تنها می توانید برچسبهای ‪ DIV‬و ‪ SPAN‬اضافه کنید و یا به برچسب های موجود ‪ID ,‬‬
‫‪ CLASS‬بیافزایید‪.‬‬

‫‪o‬‬
‫‪o‬آیا می توان با استفاده از ‪ CSS‬منو ساخت؟ اگر بله راه حل را معين کنید‪.‬‬
‫‪o‬مزایا و معایب نوشتن ‪ CSS‬در یک فایل جداگانه را برشمارید‪.‬‬
‫‪o‬با استفاده از ‪ CSS‬یک ‪ taskbar‬برای یک صفحه بسازید که همواره در قسمت پایين پنجره کاوشگر‬
‫بدون استفاده از جداول و تنها با استفاده از ‪ CSS‬یک صفحه سه ستونی (مانند ‪ )SBCE.ir‬بسازید‪.‬‬

‫(نه لزوما انتهای سند) باشد‪.‬‬


Slide 12

‫کارگاه آموزش ی توسعه وب‬
‫بخش دوم ‪CSS -‬‬

‫ارائه‪ :‬عباس نادری‬
‫انجمن علمی دانشجویی‬
‫مهندس ی کامپیوتر‬
‫نسخه ‪1‬‬

‫دانشگاه شهید بهشتی‬

‫‪ CSS‬چیست ؟‬

‫•‬
‫•معمول ترین استفاده ‪ CSS‬برای قالب بندی اسناد وب )‪ (HTML‬منظور می شود‪.‬‬
‫•با پیچیده شدن وب ها‪ ،‬تصمیم بر آن شد تا محتوا از قالب بندی تفکیک شود و توسعه وب تسهیل‬
‫‪ CSS‬یا ‪ Casacading Style Sheets‬یک استاندارد قالب بندی ظاهری اسناد است‪.‬‬

‫گردد‪.‬‬

‫•‬

‫‪ CSS‬سه نسخه اصلی دارد‪:‬‬

‫•‬
‫•‪ :CSS 2‬در سال ‪ 1998‬توسط ‪ W3C‬استاندارد شد و هنوز به عنوان استاندارد بکار می رود‪.‬‬
‫•‪ :CSS 3‬هنوز در دست توسعه توسط ‪ W3C‬است‪.‬‬
‫‪ :CSS 1‬در سال ‪ 1996‬توسط ‪ W3C‬استاندارد شد‪.‬‬

‫•‬

‫‪ CSS‬به دلیل امکان استفاده مجدد‪ ،‬به شدت توسعه وب را ساده و سریع می کند‪ .‬همچنین قالب‬

‫بندی صفحات با استفاده از آن در قالب تیمی مقدور خواهد بود‪.‬‬

‫•‬

‫‪ CSS‬از طریق انتخابگرها قالب بندی را سرعت می بخشد‪ .‬همچنین از موتور انتخابگر ‪ CSS‬در‬

‫کاربردهای دیگر بهره فراوان برده می شود‪.‬‬

‫•‬

‫‪ :Layout Engine‬برنامه ایست در کاوشگرها که سند ‪ HTML‬و فایل ‪ CSS‬را دریافت کرده‪،‬‬

‫خروجی گرافیکی بر روی صفحه تولید می نماید‪.‬‬

‫•‬

‫‪ :Selector Engine‬موتوریست بر روی کاوشگر که زیرمجموعه ای از برچسب های ‪ HTML‬را‬

‫انتخاب می کند‪.‬‬

:‫ با چند مثال آنرا بررس ی می کنیم‬،‫ گرامر بسیار ساده ای دارد‬CSS
Template:
Selection {
Property: value;
Property: value;
//Comment /*Comment */
}
Example:
div.main {
background-color:#777777;
border-width: 1px;
border-style: solid;
font-family: ‘Tahoma’;
}



‫•‬
‫•در سه جای مختلف می توان از ‪ CSS‬استفاده کرد‪:‬‬

‫‪ CSS‬جزئیات گرامری مختلفی نیز دارد که در طی این ارائه با آنها بیشتر آشنا خواهیم شد‪.‬‬

‫•‬
‫•برچسب های ‪ Style‬در داخل فایل ‪ :HTML‬می توان با افزودن برچسب ‪ Style‬در ‪Head‬یا ‪Body‬‬
‫فایل های ‪ :CSS‬می توان ‪ CSS‬را در فایلی جداگانه نوشت و آنرا در ‪ HTML‬افزود‪.‬‬

‫یک سند‪ CSS ،‬تعریف کرد‪.‬‬

‫•‬

‫صفت ‪ Style‬برای برچسب ها‪ :‬می توان در یکی از صفتهای هر برچسب‪ CSS ،‬آنرا تعریف کرد‪ .‬در این‬

‫حالت دیگر انتخابگر مطرح نیست و قالب بندی تنها برای آن برچسب اعمال می شود‪.‬‬

‫•‬
‫•استفاده از حالت سوم (‪ )Inline CSS‬توصیه نمی شود و جدابودن محتوی از قالب را زیر سوال می‬
‫سه نوع تعریف ‪ CSS‬می توانند همزمان باشند‪ .‬اولویت آنها به ترتیب افزایش می یابد‪.‬‬

‫برد‪ ،‬اما در جاهای خاص ی استفاده از آن کار را راحتتر می کند‪.‬‬

:HTML ‫ جدا و استفاده از آن در‬CSS ‫تعریف در فایل‬
//SomeFile.css
input[text] {
width:200px;
background-color:#000000;
border:solid 0px;
}







:HTML ‫ در بدنه سند‬CSS ‫تعریف‬






:‫ در صفت یک برچسب‬CSS ‫تعریف‬


This is some text with tahoma font






‫چگونگی انتخاب برچسبها‬

‫•‬

‫براي مشخص كردن اينكه يك ‪ CSS‬به كدامين اشياء يك صفحه اعمال شود‪ ،‬بايد از انتخابگرها استفاده‬

‫نمود‪ .‬هر انتخاب گر يك يا چند ش يء در يك صفحه ‪ HTML‬را انتخاب مي كند و سپس مي توان قالب هاي‬

‫مورد نظر را به آن اعمال كرد‪.‬‬

‫•‬

‫انتخابگرهاي ‪ CSS‬تنوع و قدرت به سزايي دارند بنابراين در اين بخش در حدي كه نيازهاي اوليه مرتفع‬

‫شوند آنها را بررس ي خواهيم كرد‪.‬‬

‫•‬

‫انتخابگر ها در دو نحوه اوليه تعريف ‪ CSS‬ها قابل استفاده هستند به قالب زير‪:‬‬
‫{ ‪SelectorStatement‬‬
‫;‪Css Properties & Values‬‬

‫}‬

‫انتخاب تمام برچسب ها ‪* :‬‬
‫انتخاب برچسب هاي خاص‪tagName :‬‬
‫انتخاب برچسبي از زيربرچسب هاي يك برچسب ديگر‪ParentTag DescendantTag :‬‬
‫انتخاب برچسبي از فرزندان يك برچسب ديگر ‪ParentTag > ChildTag :‬‬
‫انتخاب برچسبي بعد از يك برچسب ديگر‪Tag1 + Tag2 :‬‬
‫انتخاب برچسبي با صفتي خاص‪Tag[attrib=“value”] :‬‬
‫آنتخاب يك برچسب در وضعيت هاي خاص‪:‬‬
‫لينك ديده نشده ‪Tag:link‬‬

‫برچسبي كه ماوس رويش است ‪Tag:hover‬‬

‫لينك ديده شده ‪Tag:visited‬‬

‫برچسب درحال كليك ‪Tag:active‬‬
‫برچسب فعال صفحه ‪Tag:focus‬‬

‫•‬

‫همانطور كه قبل ذكر شد‪ ،‬هر بچسب در ‪ HTML‬مي تواند صفات خاص ي را داشته باشد‪ .‬صفاتي كه در‬

‫‪ CSS‬به ما كمك مي كنند‪ ،‬دو صفت ‪ class , id‬هستند‪ .‬با اختصاص دادن اين دو صفت به يك برچسب‬

‫در ‪ HTML‬مي توان ويژگيهاي ‪ CSS‬آنرا به سادگي كنترل كرد‪.‬‬

‫•‬

‫با تعريف يك كلس خاص براي برچسبي ‪ ،‬مي توان آنرا جزو دسته اي قرار داد كه ويژگيهاي ‪CSS‬مشترك‬

‫خاص ي بر روي همگي آنها اعمال شود‪.‬‬

‫•‬

‫با تعريف يك مشخصه منحصره (‪ )Unique Identifier‬براي يك برچسب‪ ،‬مي توان كنترل هاي‬

‫خاص ي از طريق ‪CSS‬و جاوااسكريپت بر روي آن برچسب اعمال كرد‪.‬‬

‫•‬

‫بايد توجه گردد كه ‪ id‬هيچ دو برچسبي در يك سند ‪HTML‬نبايد يكسان باشند‪ ،‬در غير اينصورت نتايج‬

‫قابل پيش بيني نخواهد بود‪.‬‬

*{
font-family: “Tahoma”, “Trebuchet”,”MS Sans Serif”
}
div.Container {
background-color:#777777;
border-width: 1px;
}
P#title {
font-weight:bold;
}
H1 + P {
font-style:italic;
}
input [type=‘button’] {
border-style:none;
}
Body Form > input[type=‘text’] {
text-align:center;
}
DIV P * [title] {
color:#ffffff;
}

‫•‬

‫براي اينكه ‪ CSS‬خاص ي را به چند انتخابگر يكجا اعمال كنيم‪ ،‬مي توانيم آنها را به صورت گروهي قرار‬

‫دهيم‪:‬‬
‫{ ]’‪div.Container , p , input[type=‘text‬‬
‫; ’‪font-family: ‘Tahoma’, ‘Comic Sans MS‬‬
‫}‬

‫•‬
‫• ‪CSS‬با استفاده از عبارات جاوااسكريپت مي تواند مقادير پويا (نسبت به شرايط ‪ )Client‬را به‬
‫در صورتي كه چند دستور يكسان ‪ CSS‬به يك برچسب خاص اعمال شوند‪ ،‬آخرين آنها باقي مي ماند‪.‬‬

‫‪ Property‬ها اعمال كند‪:‬‬
‫;‪Width: expression( document.width /2 )px‬‬

‫مشخصه هاي استاندارد ‪CSS 2‬‬

‫‪o‬‬
‫‪(scroll,fixed)o‬‬

‫‪ : Background‬خلصه اي براي تنظيم تمام مشخصات ‪Background‬‬
‫‪ : Background-Attachement‬وضعيت قرارگيري تصوير در‬

‫‪ ،Background‬در صورتي كه ‪fixed‬باشد‪ ،‬با جابجايي صفحه پشت صفحه آن حركت نخواهد كرد‪.‬‬

‫‪o‬‬
‫‪ :Background-image o‬يا مقدار ‪ none‬مي گيرد و يا با استفاده از )‪URL(adress‬يك آدرس‬
‫)‪ : Background-color (RGB Value‬رنگ پشت صفحه‬

‫فايل تصويري (آدرس وب)‬

‫‪o‬‬
‫‪ :Background-repeato‬در صورتي كه از تصوير استفاده شود‪ ،‬روش تكرار آنرا مشخص مي كند‪.‬‬
‫‪ :Background-position‬مقاديري مانند … ‪top left, center center ,‬‬

‫مقادير مجاز عبارتند از ‪no-repeat, repeat-x,repeat-y,repeat‬‬

‫‪o‬‬
‫‪ :Border-widtho‬عرض حاشيه (ضخامت آن) به عدد‪ ،‬درصد و واحد هاي ديگر اندازه‬
‫‪ :Border-coloro‬رنگ حاشيه به ‪RGB‬‬
‫‪ :Border-styleo‬نوع حاشيه از مقادير ‪none, hidden, dotted, dashed, solid,‬‬
‫‪ :Border‬خلصه اي براي تنظيم مشخصات حاشيه‪ ،‬به ترتيب عرض‪ ،‬نوع و رنگ مي گيرد‪.‬‬

‫‪double, groove, ridge, inset, outset‬‬

‫‪o‬‬

‫براي تغيير تنظيمات مربوط به حاشيه نواحي مختلف (باال‪ ،‬پايين‪ ،‬چپ‪ ،‬راست)مي توانيد از چهار ويژگي باال‬

‫به همراه نام طرف مورد نظر استفاده نماييد‪ ،‬براي مثال‪:‬‬

‫‪o‬‬
‫‪Border-top-coloro‬‬
‫‪Border-bottomo‬‬

‫‪Border-left-width‬‬

o

url(file), auto, ‫ مقادير مجاز عبارتند از‬،‫ شمايل اشاره گر ماوس را معين مي سازد‬:Cursor

crosshair, default, pointer, move, e-resize, ne-resize, nw-resize , nresize, se-resize, sw-resize, s-resize, w-resize , text, wait , help
none, inline, block, list- ‫ مقادير مجاز عبارتند از‬،‫ نحوه نمايش يك برچسب‬:Display

o

item, run-in, compact, marker, table, inline-table , ….

left,

right,

‫ مقادير مجاز عبارتند از‬،‫ گرايش و شناوري يك برچسب به طرفي خاص‬:Float

o

none
Static, Relative, ‫ مقادير مجاز عبارتند از‬،‫ نحوه قرارگيري يك برچسب در يك سند‬:Position

o

Absolute, Fixed

‫‪o‬‬
‫‪ :Line-Heighto‬فاصله بين دو خط متن در سند‬
‫‪ :Max-Heighto‬حداكثر ارتفاعي كه يك برچسب مي تواند داشته باشد‬
‫‪ :Min-Heighto‬حداقل ارتفاع يك برچسب‬
‫‪ :Widtho‬عرض يك برچسب‬
‫‪ :Max-Widtho‬حداكثر عرض يك برچسب‬
‫‪ :Min-Widtho‬حداقل عرض يك برچسب‬
‫‪ :Height‬ارتفاع يك برچسب در سند‪ .‬مشخصه اندازه اي‬

‫‪o‬‬
‫‪ :Font-Familyo‬نام قلم‪ ،‬بهتر است ليستي از قلمها بسته به پشتيباني از سيستم ها انتخاب شود‪.‬‬
‫‪ :Font‬ميانبري براي اعمال مشخصات كامل فونت و قلم‬

‫معموال نوشته هاي فارس ي با قلم ‪ Tahoma‬خوب نمايش داده مي شوند‪.‬‬

‫‪o‬‬

‫‪ :Font-Size‬اندازه قلم‪ .‬هم مي تواند از انواع مقداري قرار داده شود هم مي تواند يكي از مقادير مجاز‬

‫باشد‬

‫‪xx-small, x-small, small, medium, large, x-large, xx-large,‬‬

‫‪smaller, larger‬‬

‫‪o‬‬

‫‪ :Font-Stretch‬كشيدگي فونت (فاصلي افقي مابين حرفهاي آن)يا مقدار عددي يا يكي از مقادير‬

‫‪normal, wider, narrower, ultra-condensed, extra-condensed, condensed,‬‬
‫‪semi-condensed, semi-expanded, expanded, extra-expanded, ultra-expanded‬‬

‫‪o‬‬
‫‪ :Font-Weighto‬يكي از مقادير ‪ normal, bold, bolder, lighter‬و يا مقدار عددي‬
‫‪ :Font-Style‬يكي از مقادير ‪Normal, Italic, Oblique‬‬

o
none , url(file) :List-Style-Imageo
inside, outside :List-style-Positiono
‫ موارد مجاز عبارتند از‬،‫ شكل موارد ليست‬:List-Style-Typeo

‫ موقعيت و تصوير ليست را مي گيرد‬، ‫ نوع‬،‫ به ترتيب‬.‫ ميانبري براي تنظيمات ليست‬:List-Style

none, disc, circle,

square, decimal, decimal-leading-zero, lower-roman, upper-roman,
lower-alpha,

upper-alpha,

lower-greek,

lower-latin,

upper-latin,

hebrew, armenian, georgian, cjk-ideographic, hiragana, katakana,
hiragana-iroha, katakana-iroha

)auto ‫ فاصله علمت از نوشتار (مقدار يا‬:Marker-Offset

o

‫‪o‬‬

‫‪ :Margin‬ميانبري براي تنظيمات كناره‪ .‬به ترتيب اندازه كناره هاي باال‪ ،‬راست‪ ،‬پايين و چپ را مي گيرد‬

‫(ساعتگرد)‬

‫‪o‬‬

‫‪ :Margin-left, Margin-right, Margin-top, Margin-bottom‬مقدار كناره‪ ،‬مقدار يا‬

‫‪auto‬‬

‫‪o‬‬
‫‪ :Padding-left, Padding-right, Padding-top, Padding-bottomo‬مقدار اليي‬
‫‪ :Padding‬ميانبري براي تنظيم مشخصات اليي گذاري‪ ،‬به ترتيب باال‪ ،‬راست‪ ،‬پايين و چپ‬

‫گذاري‪ ،‬مقدار يا ‪auto‬‬

‫‪o‬‬
‫‪ :Outline-coloro‬رنگ خط حاشيه به ‪RGB‬‬
‫‪ :Outline-styleo‬نوع خط حاشيه يك ش يء‪ ،‬انوع مجاز عبارتند از ‪none, dotted, dashed,‬‬
‫‪ :Outline‬ميانبري براي تمام تنظيمات خط حاشيه‪ ،‬به ترتيب رنگ‪ ،‬نوع و عرض‬

‫‪solid , double , groove, ridge, inset, outset‬‬

‫‪o‬‬

‫‪ :Outline-width‬قطوري خط حاشيه‪ ،‬مقدار عددي يا يكي از مقادير ‪thin, thick, medium‬‬

‫‪o‬‬

‫‪ :Overflow‬در صورتي كه محتويات يك برچسب در آن جاي نگيرند‪ ،‬اين مشخصه معين مي سازد كه‬

‫چه اتفاقي بيافتد‪ .‬مقادير مجاز عبارتند از ‪Visible, Hidden, Auto, Scroll‬‬

‫‪o‬‬

‫‪ :Position‬نحوه قرارگيري برچسب نسبت به سند‪ ،‬مقادير مجاز عبارتند از ‪Static, Relative,‬‬

‫‪Absolute, Fixed‬‬

‫‪o‬‬

‫‪ :Vertical-Align‬نحوه قرارگيري عمودي يك برچسب در داخل برچسب پدر خود را مشخص مي كند‪.‬‬

‫مقادير مجاز عبارتند از ‪baseline, sub, super, top, text-top, middle, bottom,‬‬
‫‪ text-bottom‬و يا مقدار عددي‬

‫‪o‬‬

‫‪ :Z-Index‬اولويت قرارگيري در بعد سوم در صفحه (يعني جلو پشت ديگر برچسب ها)‪ Auto .‬يا يك‬

‫عدد‬

‫‪o‬‬

‫‪ :Border-Collapse‬معين مي سازد كه حواش ي جداول جدا باشند و يا يك مجموعه خط بهم‬

‫پيوسته باشند‪ .‬مقادير مجاز ‪Separate , Collapse‬‬

‫‪o‬‬
‫‪ :Empty-Cellsٍo‬مشخص مي كند كه سلول هاي خالي در مدل ‪ Seperate‬نمايش داده شوند و يا‬
‫‪ :Border-Spacing‬فاصله ميان دو حاشيه جدول‪ ،‬تنها در صورتي كه ‪ Seperate‬باشد‪.‬‬

‫خير‪ .‬مقادير مجاز ‪Show/Hide‬‬

‫‪o‬‬

‫‪ :Table Layout‬الگوريتم نحوه نمايش سلولهاي يك جدول‪Auto/Fixed ،‬‬

‫‪o‬‬
‫‪ :Directiono‬جهت متن (و محتويات)يك برچسب را مشخص مي سازد‪ ،‬مقادير مجاز ‪LTR/RTL‬‬
‫‪ :Text-Aligno‬مقادير مجاز ‪Left, Right, Center, Justify‬‬
‫‪ :Text-Decorationo‬افزودن افكتي به متن‪ ،‬مقادير مجاز عبارتند از ‪none, underline,‬‬
‫‪ :Color‬رنگ يك متن را مشخص مي سازد‪RGB ،‬‬

‫‪overline, line-through, blink‬‬

‫‪o‬‬
‫‪ :Word-Spacingo‬فاصله ميان لغات يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Letter-Spacingo‬فاصله ميان حروف يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Text-Indent‬تو رفتگي اولين خط يك متن‪ .‬مقدار عددي‬

‫تسلط كامل بر ‪CSS‬‬

‫‪o‬‬

‫در ‪ CSS‬رنگها را به دو شیوه می توان مشخص کرد‪:‬‬

‫‪o‬‬
‫‪o‬استفاده از نام رنگ‬

‫تعیين مقدار ‪ 24‬بیتی ‪ RGB‬آنها‬

‫‪o‬‬

‫در روش اول ‪ 16‬میلیون رنگ مختلف برای انتخاب وجود دارند‪ ،‬اما در روش دوم حدود ‪ 200‬رنگ با نام‬

‫های مختلف قابل استفاده هستند‪.‬‬

‫‪o‬‬
‫‪o‬برای مشخص کردن رنگ ‪ ،RGB‬پس از قرار دادن علمت ‪ #‬به ترتیب مقدار ‪ R‬و ‪ G‬و ‪ B‬را در مبنای ‪16‬‬
‫برای مشخص کردن رنگ با نام آن‪ ،‬کافیست نام رنگ را بنویسید‪Cyan, Purple :‬‬

‫وارد می کنیم‪#FFFFFF , #00FF00 :‬‬

‫‪o‬‬

‫همچنين می توان برای مشخص کردن رنگ ‪ RGB‬به صورت روبرو عمل کرد‪RGB(100,255,10):‬‬

‫و یا)‪RGB(70%,20%,100%‬‬

‫‪o‬‬

‫تمامی مقادیر اندازه ای در ‪ CSS‬واحد های متفاوتی را می پذیرند‪ .‬پایه ای ترین واحد همان ‪ Pixel‬است‬

‫که با ‪ px‬در انتهای مقدار مشخص می گردد‪ .‬واحدهای دیگر عبارتند از‪:‬‬

‫‪o‬‬
‫‪ :Ino‬اینچ‬
‫‪ :Cmo‬سانتیمتر‬
‫‪ :Mmo‬میلیمتر‬
‫‪ :Emo‬اندازه فونت‬
‫‪ 1/72 :Pto‬اینتچ‬
‫‪pt 12 :Pco‬‬
‫‪ :Pxo‬یک نقطه‬
‫‪ :%‬درصد!‬

‫‪o‬‬

‫شفافیت )‪ (Transparency‬یک عملیات پیچیده برای سیستم هاییست که کارت گرافیکی قدرتمندی‬

‫ندارد و موتور گرافیکی کاوشگر برای پیاده کردن آن بشدت زیر بار قرار می گيرد‪.‬‬

‫‪o‬‬

‫با استفاده از شفافیت می توان جذابیت بصری را بسیار باالتر برد‪ ،‬اما باید دقت داشت که کندی پردازش‬

‫تصویری سایت برای کاربر ایجاد مزاحمت نکند‪.‬‬

‫‪o‬‬
‫‪ o‬برای ایجاد شفافیت در کاوشگرهای استادارد‪ ،‬از ‪ Opacity : .5‬استفاده می شود‪.‬‬
‫‪o‬برای ایجاد شفافیت در ‪ IE‬از )‪ filter:alpha(opacity=50‬استفاده می شود‪.‬‬
‫‪o‬برای اینکه شفافیت در تمامی کاوشگرها درست نمایش داده شود الزم است هردو دستور باال بکار روند‪.‬‬
‫متاسفانه کاوشگر ‪ IE‬برای شفافیت از دستورات خود استفاده می کند که استاندارد نیستند‪.‬‬

‫‪o‬‬

‫کاوشگرهایی مانند ‪ Firefox‬دستورات ‪ CSS‬ویژه ای دارند (البته ‪ IE‬نيز دستورات مخصوص خود را‬

‫داراست) ‪.‬‬

‫‪o‬‬

‫عبارت ‪ –moz-border-radius‬می تواند گوشه های مستطیل ها را از تيزی درآورده و آنها را نرم‬

‫کند‪-moz-border-radius: 5px; :‬‬

‫‪o‬‬

‫استفاده از این عبارت و راه حل های مشابه پیشنهاد نمی شود زیرا این نما تنها در ‪ Firefox‬قابل مشاهده‬

‫خواهد بود‪.‬‬

‫‪o‬‬

‫‪ CSS‬توانایی آنرا داراست که برای رسانه های خاص تفاوت کند! برای مثال می توانید ‪ CSS‬یک سایت‬

‫را طوری تعریف کنید که رنگ نوشته های آن قرمز باشد ولی هنگام پرینت مشکی شود‪.‬‬

‫‪o‬‬

‫برای مشخص کردن اینکه ‪ CSS‬را برای چه رسانه ای می نویسیم‪ ،‬از ‪ @media‬استفاده می کنیم‪:‬‬
‫‪@media screen‬‬
‫};‪* { color:#ff0000‬‬
‫‪@media print‬‬
‫};‪* { color:#000000‬‬

‫رسانه های معمول عبارتند از‪all, braille, handheld, print, projection, screen, tv, :‬‬
‫…‬

‫‪ CSS‬را قورت بده!‬

‫‪o‬‬

‫فایل ‪ HTML‬ای که در تمرینات ‪ HTML‬ساخته اید و تمامی برچسب ها را داراست‪ ،‬با استفاده از تمامی‬

‫برچسب های ‪ CSS‬قالب بندی کنید‪ .‬سعی کنید زیبایی کافی و قالب بندی مناسب برای سند اتفاق بیافتد! در‬

‫داخل سند تنها می توانید برچسبهای ‪ DIV‬و ‪ SPAN‬اضافه کنید و یا به برچسب های موجود ‪ID ,‬‬
‫‪ CLASS‬بیافزایید‪.‬‬

‫‪o‬‬
‫‪o‬آیا می توان با استفاده از ‪ CSS‬منو ساخت؟ اگر بله راه حل را معين کنید‪.‬‬
‫‪o‬مزایا و معایب نوشتن ‪ CSS‬در یک فایل جداگانه را برشمارید‪.‬‬
‫‪o‬با استفاده از ‪ CSS‬یک ‪ taskbar‬برای یک صفحه بسازید که همواره در قسمت پایين پنجره کاوشگر‬
‫بدون استفاده از جداول و تنها با استفاده از ‪ CSS‬یک صفحه سه ستونی (مانند ‪ )SBCE.ir‬بسازید‪.‬‬

‫(نه لزوما انتهای سند) باشد‪.‬‬


Slide 13

‫کارگاه آموزش ی توسعه وب‬
‫بخش دوم ‪CSS -‬‬

‫ارائه‪ :‬عباس نادری‬
‫انجمن علمی دانشجویی‬
‫مهندس ی کامپیوتر‬
‫نسخه ‪1‬‬

‫دانشگاه شهید بهشتی‬

‫‪ CSS‬چیست ؟‬

‫•‬
‫•معمول ترین استفاده ‪ CSS‬برای قالب بندی اسناد وب )‪ (HTML‬منظور می شود‪.‬‬
‫•با پیچیده شدن وب ها‪ ،‬تصمیم بر آن شد تا محتوا از قالب بندی تفکیک شود و توسعه وب تسهیل‬
‫‪ CSS‬یا ‪ Casacading Style Sheets‬یک استاندارد قالب بندی ظاهری اسناد است‪.‬‬

‫گردد‪.‬‬

‫•‬

‫‪ CSS‬سه نسخه اصلی دارد‪:‬‬

‫•‬
‫•‪ :CSS 2‬در سال ‪ 1998‬توسط ‪ W3C‬استاندارد شد و هنوز به عنوان استاندارد بکار می رود‪.‬‬
‫•‪ :CSS 3‬هنوز در دست توسعه توسط ‪ W3C‬است‪.‬‬
‫‪ :CSS 1‬در سال ‪ 1996‬توسط ‪ W3C‬استاندارد شد‪.‬‬

‫•‬

‫‪ CSS‬به دلیل امکان استفاده مجدد‪ ،‬به شدت توسعه وب را ساده و سریع می کند‪ .‬همچنین قالب‬

‫بندی صفحات با استفاده از آن در قالب تیمی مقدور خواهد بود‪.‬‬

‫•‬

‫‪ CSS‬از طریق انتخابگرها قالب بندی را سرعت می بخشد‪ .‬همچنین از موتور انتخابگر ‪ CSS‬در‬

‫کاربردهای دیگر بهره فراوان برده می شود‪.‬‬

‫•‬

‫‪ :Layout Engine‬برنامه ایست در کاوشگرها که سند ‪ HTML‬و فایل ‪ CSS‬را دریافت کرده‪،‬‬

‫خروجی گرافیکی بر روی صفحه تولید می نماید‪.‬‬

‫•‬

‫‪ :Selector Engine‬موتوریست بر روی کاوشگر که زیرمجموعه ای از برچسب های ‪ HTML‬را‬

‫انتخاب می کند‪.‬‬

:‫ با چند مثال آنرا بررس ی می کنیم‬،‫ گرامر بسیار ساده ای دارد‬CSS
Template:
Selection {
Property: value;
Property: value;
//Comment /*Comment */
}
Example:
div.main {
background-color:#777777;
border-width: 1px;
border-style: solid;
font-family: ‘Tahoma’;
}



‫•‬
‫•در سه جای مختلف می توان از ‪ CSS‬استفاده کرد‪:‬‬

‫‪ CSS‬جزئیات گرامری مختلفی نیز دارد که در طی این ارائه با آنها بیشتر آشنا خواهیم شد‪.‬‬

‫•‬
‫•برچسب های ‪ Style‬در داخل فایل ‪ :HTML‬می توان با افزودن برچسب ‪ Style‬در ‪Head‬یا ‪Body‬‬
‫فایل های ‪ :CSS‬می توان ‪ CSS‬را در فایلی جداگانه نوشت و آنرا در ‪ HTML‬افزود‪.‬‬

‫یک سند‪ CSS ،‬تعریف کرد‪.‬‬

‫•‬

‫صفت ‪ Style‬برای برچسب ها‪ :‬می توان در یکی از صفتهای هر برچسب‪ CSS ،‬آنرا تعریف کرد‪ .‬در این‬

‫حالت دیگر انتخابگر مطرح نیست و قالب بندی تنها برای آن برچسب اعمال می شود‪.‬‬

‫•‬
‫•استفاده از حالت سوم (‪ )Inline CSS‬توصیه نمی شود و جدابودن محتوی از قالب را زیر سوال می‬
‫سه نوع تعریف ‪ CSS‬می توانند همزمان باشند‪ .‬اولویت آنها به ترتیب افزایش می یابد‪.‬‬

‫برد‪ ،‬اما در جاهای خاص ی استفاده از آن کار را راحتتر می کند‪.‬‬

:HTML ‫ جدا و استفاده از آن در‬CSS ‫تعریف در فایل‬
//SomeFile.css
input[text] {
width:200px;
background-color:#000000;
border:solid 0px;
}







:HTML ‫ در بدنه سند‬CSS ‫تعریف‬






:‫ در صفت یک برچسب‬CSS ‫تعریف‬


This is some text with tahoma font






‫چگونگی انتخاب برچسبها‬

‫•‬

‫براي مشخص كردن اينكه يك ‪ CSS‬به كدامين اشياء يك صفحه اعمال شود‪ ،‬بايد از انتخابگرها استفاده‬

‫نمود‪ .‬هر انتخاب گر يك يا چند ش يء در يك صفحه ‪ HTML‬را انتخاب مي كند و سپس مي توان قالب هاي‬

‫مورد نظر را به آن اعمال كرد‪.‬‬

‫•‬

‫انتخابگرهاي ‪ CSS‬تنوع و قدرت به سزايي دارند بنابراين در اين بخش در حدي كه نيازهاي اوليه مرتفع‬

‫شوند آنها را بررس ي خواهيم كرد‪.‬‬

‫•‬

‫انتخابگر ها در دو نحوه اوليه تعريف ‪ CSS‬ها قابل استفاده هستند به قالب زير‪:‬‬
‫{ ‪SelectorStatement‬‬
‫;‪Css Properties & Values‬‬

‫}‬

‫انتخاب تمام برچسب ها ‪* :‬‬
‫انتخاب برچسب هاي خاص‪tagName :‬‬
‫انتخاب برچسبي از زيربرچسب هاي يك برچسب ديگر‪ParentTag DescendantTag :‬‬
‫انتخاب برچسبي از فرزندان يك برچسب ديگر ‪ParentTag > ChildTag :‬‬
‫انتخاب برچسبي بعد از يك برچسب ديگر‪Tag1 + Tag2 :‬‬
‫انتخاب برچسبي با صفتي خاص‪Tag[attrib=“value”] :‬‬
‫آنتخاب يك برچسب در وضعيت هاي خاص‪:‬‬
‫لينك ديده نشده ‪Tag:link‬‬

‫برچسبي كه ماوس رويش است ‪Tag:hover‬‬

‫لينك ديده شده ‪Tag:visited‬‬

‫برچسب درحال كليك ‪Tag:active‬‬
‫برچسب فعال صفحه ‪Tag:focus‬‬

‫•‬

‫همانطور كه قبل ذكر شد‪ ،‬هر بچسب در ‪ HTML‬مي تواند صفات خاص ي را داشته باشد‪ .‬صفاتي كه در‬

‫‪ CSS‬به ما كمك مي كنند‪ ،‬دو صفت ‪ class , id‬هستند‪ .‬با اختصاص دادن اين دو صفت به يك برچسب‬

‫در ‪ HTML‬مي توان ويژگيهاي ‪ CSS‬آنرا به سادگي كنترل كرد‪.‬‬

‫•‬

‫با تعريف يك كلس خاص براي برچسبي ‪ ،‬مي توان آنرا جزو دسته اي قرار داد كه ويژگيهاي ‪CSS‬مشترك‬

‫خاص ي بر روي همگي آنها اعمال شود‪.‬‬

‫•‬

‫با تعريف يك مشخصه منحصره (‪ )Unique Identifier‬براي يك برچسب‪ ،‬مي توان كنترل هاي‬

‫خاص ي از طريق ‪CSS‬و جاوااسكريپت بر روي آن برچسب اعمال كرد‪.‬‬

‫•‬

‫بايد توجه گردد كه ‪ id‬هيچ دو برچسبي در يك سند ‪HTML‬نبايد يكسان باشند‪ ،‬در غير اينصورت نتايج‬

‫قابل پيش بيني نخواهد بود‪.‬‬

*{
font-family: “Tahoma”, “Trebuchet”,”MS Sans Serif”
}
div.Container {
background-color:#777777;
border-width: 1px;
}
P#title {
font-weight:bold;
}
H1 + P {
font-style:italic;
}
input [type=‘button’] {
border-style:none;
}
Body Form > input[type=‘text’] {
text-align:center;
}
DIV P * [title] {
color:#ffffff;
}

‫•‬

‫براي اينكه ‪ CSS‬خاص ي را به چند انتخابگر يكجا اعمال كنيم‪ ،‬مي توانيم آنها را به صورت گروهي قرار‬

‫دهيم‪:‬‬
‫{ ]’‪div.Container , p , input[type=‘text‬‬
‫; ’‪font-family: ‘Tahoma’, ‘Comic Sans MS‬‬
‫}‬

‫•‬
‫• ‪CSS‬با استفاده از عبارات جاوااسكريپت مي تواند مقادير پويا (نسبت به شرايط ‪ )Client‬را به‬
‫در صورتي كه چند دستور يكسان ‪ CSS‬به يك برچسب خاص اعمال شوند‪ ،‬آخرين آنها باقي مي ماند‪.‬‬

‫‪ Property‬ها اعمال كند‪:‬‬
‫;‪Width: expression( document.width /2 )px‬‬

‫مشخصه هاي استاندارد ‪CSS 2‬‬

‫‪o‬‬
‫‪(scroll,fixed)o‬‬

‫‪ : Background‬خلصه اي براي تنظيم تمام مشخصات ‪Background‬‬
‫‪ : Background-Attachement‬وضعيت قرارگيري تصوير در‬

‫‪ ،Background‬در صورتي كه ‪fixed‬باشد‪ ،‬با جابجايي صفحه پشت صفحه آن حركت نخواهد كرد‪.‬‬

‫‪o‬‬
‫‪ :Background-image o‬يا مقدار ‪ none‬مي گيرد و يا با استفاده از )‪URL(adress‬يك آدرس‬
‫)‪ : Background-color (RGB Value‬رنگ پشت صفحه‬

‫فايل تصويري (آدرس وب)‬

‫‪o‬‬
‫‪ :Background-repeato‬در صورتي كه از تصوير استفاده شود‪ ،‬روش تكرار آنرا مشخص مي كند‪.‬‬
‫‪ :Background-position‬مقاديري مانند … ‪top left, center center ,‬‬

‫مقادير مجاز عبارتند از ‪no-repeat, repeat-x,repeat-y,repeat‬‬

‫‪o‬‬
‫‪ :Border-widtho‬عرض حاشيه (ضخامت آن) به عدد‪ ،‬درصد و واحد هاي ديگر اندازه‬
‫‪ :Border-coloro‬رنگ حاشيه به ‪RGB‬‬
‫‪ :Border-styleo‬نوع حاشيه از مقادير ‪none, hidden, dotted, dashed, solid,‬‬
‫‪ :Border‬خلصه اي براي تنظيم مشخصات حاشيه‪ ،‬به ترتيب عرض‪ ،‬نوع و رنگ مي گيرد‪.‬‬

‫‪double, groove, ridge, inset, outset‬‬

‫‪o‬‬

‫براي تغيير تنظيمات مربوط به حاشيه نواحي مختلف (باال‪ ،‬پايين‪ ،‬چپ‪ ،‬راست)مي توانيد از چهار ويژگي باال‬

‫به همراه نام طرف مورد نظر استفاده نماييد‪ ،‬براي مثال‪:‬‬

‫‪o‬‬
‫‪Border-top-coloro‬‬
‫‪Border-bottomo‬‬

‫‪Border-left-width‬‬

o

url(file), auto, ‫ مقادير مجاز عبارتند از‬،‫ شمايل اشاره گر ماوس را معين مي سازد‬:Cursor

crosshair, default, pointer, move, e-resize, ne-resize, nw-resize , nresize, se-resize, sw-resize, s-resize, w-resize , text, wait , help
none, inline, block, list- ‫ مقادير مجاز عبارتند از‬،‫ نحوه نمايش يك برچسب‬:Display

o

item, run-in, compact, marker, table, inline-table , ….

left,

right,

‫ مقادير مجاز عبارتند از‬،‫ گرايش و شناوري يك برچسب به طرفي خاص‬:Float

o

none
Static, Relative, ‫ مقادير مجاز عبارتند از‬،‫ نحوه قرارگيري يك برچسب در يك سند‬:Position

o

Absolute, Fixed

‫‪o‬‬
‫‪ :Line-Heighto‬فاصله بين دو خط متن در سند‬
‫‪ :Max-Heighto‬حداكثر ارتفاعي كه يك برچسب مي تواند داشته باشد‬
‫‪ :Min-Heighto‬حداقل ارتفاع يك برچسب‬
‫‪ :Widtho‬عرض يك برچسب‬
‫‪ :Max-Widtho‬حداكثر عرض يك برچسب‬
‫‪ :Min-Widtho‬حداقل عرض يك برچسب‬
‫‪ :Height‬ارتفاع يك برچسب در سند‪ .‬مشخصه اندازه اي‬

‫‪o‬‬
‫‪ :Font-Familyo‬نام قلم‪ ،‬بهتر است ليستي از قلمها بسته به پشتيباني از سيستم ها انتخاب شود‪.‬‬
‫‪ :Font‬ميانبري براي اعمال مشخصات كامل فونت و قلم‬

‫معموال نوشته هاي فارس ي با قلم ‪ Tahoma‬خوب نمايش داده مي شوند‪.‬‬

‫‪o‬‬

‫‪ :Font-Size‬اندازه قلم‪ .‬هم مي تواند از انواع مقداري قرار داده شود هم مي تواند يكي از مقادير مجاز‬

‫باشد‬

‫‪xx-small, x-small, small, medium, large, x-large, xx-large,‬‬

‫‪smaller, larger‬‬

‫‪o‬‬

‫‪ :Font-Stretch‬كشيدگي فونت (فاصلي افقي مابين حرفهاي آن)يا مقدار عددي يا يكي از مقادير‬

‫‪normal, wider, narrower, ultra-condensed, extra-condensed, condensed,‬‬
‫‪semi-condensed, semi-expanded, expanded, extra-expanded, ultra-expanded‬‬

‫‪o‬‬
‫‪ :Font-Weighto‬يكي از مقادير ‪ normal, bold, bolder, lighter‬و يا مقدار عددي‬
‫‪ :Font-Style‬يكي از مقادير ‪Normal, Italic, Oblique‬‬

o
none , url(file) :List-Style-Imageo
inside, outside :List-style-Positiono
‫ موارد مجاز عبارتند از‬،‫ شكل موارد ليست‬:List-Style-Typeo

‫ موقعيت و تصوير ليست را مي گيرد‬، ‫ نوع‬،‫ به ترتيب‬.‫ ميانبري براي تنظيمات ليست‬:List-Style

none, disc, circle,

square, decimal, decimal-leading-zero, lower-roman, upper-roman,
lower-alpha,

upper-alpha,

lower-greek,

lower-latin,

upper-latin,

hebrew, armenian, georgian, cjk-ideographic, hiragana, katakana,
hiragana-iroha, katakana-iroha

)auto ‫ فاصله علمت از نوشتار (مقدار يا‬:Marker-Offset

o

‫‪o‬‬

‫‪ :Margin‬ميانبري براي تنظيمات كناره‪ .‬به ترتيب اندازه كناره هاي باال‪ ،‬راست‪ ،‬پايين و چپ را مي گيرد‬

‫(ساعتگرد)‬

‫‪o‬‬

‫‪ :Margin-left, Margin-right, Margin-top, Margin-bottom‬مقدار كناره‪ ،‬مقدار يا‬

‫‪auto‬‬

‫‪o‬‬
‫‪ :Padding-left, Padding-right, Padding-top, Padding-bottomo‬مقدار اليي‬
‫‪ :Padding‬ميانبري براي تنظيم مشخصات اليي گذاري‪ ،‬به ترتيب باال‪ ،‬راست‪ ،‬پايين و چپ‬

‫گذاري‪ ،‬مقدار يا ‪auto‬‬

‫‪o‬‬
‫‪ :Outline-coloro‬رنگ خط حاشيه به ‪RGB‬‬
‫‪ :Outline-styleo‬نوع خط حاشيه يك ش يء‪ ،‬انوع مجاز عبارتند از ‪none, dotted, dashed,‬‬
‫‪ :Outline‬ميانبري براي تمام تنظيمات خط حاشيه‪ ،‬به ترتيب رنگ‪ ،‬نوع و عرض‬

‫‪solid , double , groove, ridge, inset, outset‬‬

‫‪o‬‬

‫‪ :Outline-width‬قطوري خط حاشيه‪ ،‬مقدار عددي يا يكي از مقادير ‪thin, thick, medium‬‬

‫‪o‬‬

‫‪ :Overflow‬در صورتي كه محتويات يك برچسب در آن جاي نگيرند‪ ،‬اين مشخصه معين مي سازد كه‬

‫چه اتفاقي بيافتد‪ .‬مقادير مجاز عبارتند از ‪Visible, Hidden, Auto, Scroll‬‬

‫‪o‬‬

‫‪ :Position‬نحوه قرارگيري برچسب نسبت به سند‪ ،‬مقادير مجاز عبارتند از ‪Static, Relative,‬‬

‫‪Absolute, Fixed‬‬

‫‪o‬‬

‫‪ :Vertical-Align‬نحوه قرارگيري عمودي يك برچسب در داخل برچسب پدر خود را مشخص مي كند‪.‬‬

‫مقادير مجاز عبارتند از ‪baseline, sub, super, top, text-top, middle, bottom,‬‬
‫‪ text-bottom‬و يا مقدار عددي‬

‫‪o‬‬

‫‪ :Z-Index‬اولويت قرارگيري در بعد سوم در صفحه (يعني جلو پشت ديگر برچسب ها)‪ Auto .‬يا يك‬

‫عدد‬

‫‪o‬‬

‫‪ :Border-Collapse‬معين مي سازد كه حواش ي جداول جدا باشند و يا يك مجموعه خط بهم‬

‫پيوسته باشند‪ .‬مقادير مجاز ‪Separate , Collapse‬‬

‫‪o‬‬
‫‪ :Empty-Cellsٍo‬مشخص مي كند كه سلول هاي خالي در مدل ‪ Seperate‬نمايش داده شوند و يا‬
‫‪ :Border-Spacing‬فاصله ميان دو حاشيه جدول‪ ،‬تنها در صورتي كه ‪ Seperate‬باشد‪.‬‬

‫خير‪ .‬مقادير مجاز ‪Show/Hide‬‬

‫‪o‬‬

‫‪ :Table Layout‬الگوريتم نحوه نمايش سلولهاي يك جدول‪Auto/Fixed ،‬‬

‫‪o‬‬
‫‪ :Directiono‬جهت متن (و محتويات)يك برچسب را مشخص مي سازد‪ ،‬مقادير مجاز ‪LTR/RTL‬‬
‫‪ :Text-Aligno‬مقادير مجاز ‪Left, Right, Center, Justify‬‬
‫‪ :Text-Decorationo‬افزودن افكتي به متن‪ ،‬مقادير مجاز عبارتند از ‪none, underline,‬‬
‫‪ :Color‬رنگ يك متن را مشخص مي سازد‪RGB ،‬‬

‫‪overline, line-through, blink‬‬

‫‪o‬‬
‫‪ :Word-Spacingo‬فاصله ميان لغات يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Letter-Spacingo‬فاصله ميان حروف يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Text-Indent‬تو رفتگي اولين خط يك متن‪ .‬مقدار عددي‬

‫تسلط كامل بر ‪CSS‬‬

‫‪o‬‬

‫در ‪ CSS‬رنگها را به دو شیوه می توان مشخص کرد‪:‬‬

‫‪o‬‬
‫‪o‬استفاده از نام رنگ‬

‫تعیين مقدار ‪ 24‬بیتی ‪ RGB‬آنها‬

‫‪o‬‬

‫در روش اول ‪ 16‬میلیون رنگ مختلف برای انتخاب وجود دارند‪ ،‬اما در روش دوم حدود ‪ 200‬رنگ با نام‬

‫های مختلف قابل استفاده هستند‪.‬‬

‫‪o‬‬
‫‪o‬برای مشخص کردن رنگ ‪ ،RGB‬پس از قرار دادن علمت ‪ #‬به ترتیب مقدار ‪ R‬و ‪ G‬و ‪ B‬را در مبنای ‪16‬‬
‫برای مشخص کردن رنگ با نام آن‪ ،‬کافیست نام رنگ را بنویسید‪Cyan, Purple :‬‬

‫وارد می کنیم‪#FFFFFF , #00FF00 :‬‬

‫‪o‬‬

‫همچنين می توان برای مشخص کردن رنگ ‪ RGB‬به صورت روبرو عمل کرد‪RGB(100,255,10):‬‬

‫و یا)‪RGB(70%,20%,100%‬‬

‫‪o‬‬

‫تمامی مقادیر اندازه ای در ‪ CSS‬واحد های متفاوتی را می پذیرند‪ .‬پایه ای ترین واحد همان ‪ Pixel‬است‬

‫که با ‪ px‬در انتهای مقدار مشخص می گردد‪ .‬واحدهای دیگر عبارتند از‪:‬‬

‫‪o‬‬
‫‪ :Ino‬اینچ‬
‫‪ :Cmo‬سانتیمتر‬
‫‪ :Mmo‬میلیمتر‬
‫‪ :Emo‬اندازه فونت‬
‫‪ 1/72 :Pto‬اینتچ‬
‫‪pt 12 :Pco‬‬
‫‪ :Pxo‬یک نقطه‬
‫‪ :%‬درصد!‬

‫‪o‬‬

‫شفافیت )‪ (Transparency‬یک عملیات پیچیده برای سیستم هاییست که کارت گرافیکی قدرتمندی‬

‫ندارد و موتور گرافیکی کاوشگر برای پیاده کردن آن بشدت زیر بار قرار می گيرد‪.‬‬

‫‪o‬‬

‫با استفاده از شفافیت می توان جذابیت بصری را بسیار باالتر برد‪ ،‬اما باید دقت داشت که کندی پردازش‬

‫تصویری سایت برای کاربر ایجاد مزاحمت نکند‪.‬‬

‫‪o‬‬
‫‪ o‬برای ایجاد شفافیت در کاوشگرهای استادارد‪ ،‬از ‪ Opacity : .5‬استفاده می شود‪.‬‬
‫‪o‬برای ایجاد شفافیت در ‪ IE‬از )‪ filter:alpha(opacity=50‬استفاده می شود‪.‬‬
‫‪o‬برای اینکه شفافیت در تمامی کاوشگرها درست نمایش داده شود الزم است هردو دستور باال بکار روند‪.‬‬
‫متاسفانه کاوشگر ‪ IE‬برای شفافیت از دستورات خود استفاده می کند که استاندارد نیستند‪.‬‬

‫‪o‬‬

‫کاوشگرهایی مانند ‪ Firefox‬دستورات ‪ CSS‬ویژه ای دارند (البته ‪ IE‬نيز دستورات مخصوص خود را‬

‫داراست) ‪.‬‬

‫‪o‬‬

‫عبارت ‪ –moz-border-radius‬می تواند گوشه های مستطیل ها را از تيزی درآورده و آنها را نرم‬

‫کند‪-moz-border-radius: 5px; :‬‬

‫‪o‬‬

‫استفاده از این عبارت و راه حل های مشابه پیشنهاد نمی شود زیرا این نما تنها در ‪ Firefox‬قابل مشاهده‬

‫خواهد بود‪.‬‬

‫‪o‬‬

‫‪ CSS‬توانایی آنرا داراست که برای رسانه های خاص تفاوت کند! برای مثال می توانید ‪ CSS‬یک سایت‬

‫را طوری تعریف کنید که رنگ نوشته های آن قرمز باشد ولی هنگام پرینت مشکی شود‪.‬‬

‫‪o‬‬

‫برای مشخص کردن اینکه ‪ CSS‬را برای چه رسانه ای می نویسیم‪ ،‬از ‪ @media‬استفاده می کنیم‪:‬‬
‫‪@media screen‬‬
‫};‪* { color:#ff0000‬‬
‫‪@media print‬‬
‫};‪* { color:#000000‬‬

‫رسانه های معمول عبارتند از‪all, braille, handheld, print, projection, screen, tv, :‬‬
‫…‬

‫‪ CSS‬را قورت بده!‬

‫‪o‬‬

‫فایل ‪ HTML‬ای که در تمرینات ‪ HTML‬ساخته اید و تمامی برچسب ها را داراست‪ ،‬با استفاده از تمامی‬

‫برچسب های ‪ CSS‬قالب بندی کنید‪ .‬سعی کنید زیبایی کافی و قالب بندی مناسب برای سند اتفاق بیافتد! در‬

‫داخل سند تنها می توانید برچسبهای ‪ DIV‬و ‪ SPAN‬اضافه کنید و یا به برچسب های موجود ‪ID ,‬‬
‫‪ CLASS‬بیافزایید‪.‬‬

‫‪o‬‬
‫‪o‬آیا می توان با استفاده از ‪ CSS‬منو ساخت؟ اگر بله راه حل را معين کنید‪.‬‬
‫‪o‬مزایا و معایب نوشتن ‪ CSS‬در یک فایل جداگانه را برشمارید‪.‬‬
‫‪o‬با استفاده از ‪ CSS‬یک ‪ taskbar‬برای یک صفحه بسازید که همواره در قسمت پایين پنجره کاوشگر‬
‫بدون استفاده از جداول و تنها با استفاده از ‪ CSS‬یک صفحه سه ستونی (مانند ‪ )SBCE.ir‬بسازید‪.‬‬

‫(نه لزوما انتهای سند) باشد‪.‬‬


Slide 14

‫کارگاه آموزش ی توسعه وب‬
‫بخش دوم ‪CSS -‬‬

‫ارائه‪ :‬عباس نادری‬
‫انجمن علمی دانشجویی‬
‫مهندس ی کامپیوتر‬
‫نسخه ‪1‬‬

‫دانشگاه شهید بهشتی‬

‫‪ CSS‬چیست ؟‬

‫•‬
‫•معمول ترین استفاده ‪ CSS‬برای قالب بندی اسناد وب )‪ (HTML‬منظور می شود‪.‬‬
‫•با پیچیده شدن وب ها‪ ،‬تصمیم بر آن شد تا محتوا از قالب بندی تفکیک شود و توسعه وب تسهیل‬
‫‪ CSS‬یا ‪ Casacading Style Sheets‬یک استاندارد قالب بندی ظاهری اسناد است‪.‬‬

‫گردد‪.‬‬

‫•‬

‫‪ CSS‬سه نسخه اصلی دارد‪:‬‬

‫•‬
‫•‪ :CSS 2‬در سال ‪ 1998‬توسط ‪ W3C‬استاندارد شد و هنوز به عنوان استاندارد بکار می رود‪.‬‬
‫•‪ :CSS 3‬هنوز در دست توسعه توسط ‪ W3C‬است‪.‬‬
‫‪ :CSS 1‬در سال ‪ 1996‬توسط ‪ W3C‬استاندارد شد‪.‬‬

‫•‬

‫‪ CSS‬به دلیل امکان استفاده مجدد‪ ،‬به شدت توسعه وب را ساده و سریع می کند‪ .‬همچنین قالب‬

‫بندی صفحات با استفاده از آن در قالب تیمی مقدور خواهد بود‪.‬‬

‫•‬

‫‪ CSS‬از طریق انتخابگرها قالب بندی را سرعت می بخشد‪ .‬همچنین از موتور انتخابگر ‪ CSS‬در‬

‫کاربردهای دیگر بهره فراوان برده می شود‪.‬‬

‫•‬

‫‪ :Layout Engine‬برنامه ایست در کاوشگرها که سند ‪ HTML‬و فایل ‪ CSS‬را دریافت کرده‪،‬‬

‫خروجی گرافیکی بر روی صفحه تولید می نماید‪.‬‬

‫•‬

‫‪ :Selector Engine‬موتوریست بر روی کاوشگر که زیرمجموعه ای از برچسب های ‪ HTML‬را‬

‫انتخاب می کند‪.‬‬

:‫ با چند مثال آنرا بررس ی می کنیم‬،‫ گرامر بسیار ساده ای دارد‬CSS
Template:
Selection {
Property: value;
Property: value;
//Comment /*Comment */
}
Example:
div.main {
background-color:#777777;
border-width: 1px;
border-style: solid;
font-family: ‘Tahoma’;
}



‫•‬
‫•در سه جای مختلف می توان از ‪ CSS‬استفاده کرد‪:‬‬

‫‪ CSS‬جزئیات گرامری مختلفی نیز دارد که در طی این ارائه با آنها بیشتر آشنا خواهیم شد‪.‬‬

‫•‬
‫•برچسب های ‪ Style‬در داخل فایل ‪ :HTML‬می توان با افزودن برچسب ‪ Style‬در ‪Head‬یا ‪Body‬‬
‫فایل های ‪ :CSS‬می توان ‪ CSS‬را در فایلی جداگانه نوشت و آنرا در ‪ HTML‬افزود‪.‬‬

‫یک سند‪ CSS ،‬تعریف کرد‪.‬‬

‫•‬

‫صفت ‪ Style‬برای برچسب ها‪ :‬می توان در یکی از صفتهای هر برچسب‪ CSS ،‬آنرا تعریف کرد‪ .‬در این‬

‫حالت دیگر انتخابگر مطرح نیست و قالب بندی تنها برای آن برچسب اعمال می شود‪.‬‬

‫•‬
‫•استفاده از حالت سوم (‪ )Inline CSS‬توصیه نمی شود و جدابودن محتوی از قالب را زیر سوال می‬
‫سه نوع تعریف ‪ CSS‬می توانند همزمان باشند‪ .‬اولویت آنها به ترتیب افزایش می یابد‪.‬‬

‫برد‪ ،‬اما در جاهای خاص ی استفاده از آن کار را راحتتر می کند‪.‬‬

:HTML ‫ جدا و استفاده از آن در‬CSS ‫تعریف در فایل‬
//SomeFile.css
input[text] {
width:200px;
background-color:#000000;
border:solid 0px;
}







:HTML ‫ در بدنه سند‬CSS ‫تعریف‬






:‫ در صفت یک برچسب‬CSS ‫تعریف‬


This is some text with tahoma font






‫چگونگی انتخاب برچسبها‬

‫•‬

‫براي مشخص كردن اينكه يك ‪ CSS‬به كدامين اشياء يك صفحه اعمال شود‪ ،‬بايد از انتخابگرها استفاده‬

‫نمود‪ .‬هر انتخاب گر يك يا چند ش يء در يك صفحه ‪ HTML‬را انتخاب مي كند و سپس مي توان قالب هاي‬

‫مورد نظر را به آن اعمال كرد‪.‬‬

‫•‬

‫انتخابگرهاي ‪ CSS‬تنوع و قدرت به سزايي دارند بنابراين در اين بخش در حدي كه نيازهاي اوليه مرتفع‬

‫شوند آنها را بررس ي خواهيم كرد‪.‬‬

‫•‬

‫انتخابگر ها در دو نحوه اوليه تعريف ‪ CSS‬ها قابل استفاده هستند به قالب زير‪:‬‬
‫{ ‪SelectorStatement‬‬
‫;‪Css Properties & Values‬‬

‫}‬

‫انتخاب تمام برچسب ها ‪* :‬‬
‫انتخاب برچسب هاي خاص‪tagName :‬‬
‫انتخاب برچسبي از زيربرچسب هاي يك برچسب ديگر‪ParentTag DescendantTag :‬‬
‫انتخاب برچسبي از فرزندان يك برچسب ديگر ‪ParentTag > ChildTag :‬‬
‫انتخاب برچسبي بعد از يك برچسب ديگر‪Tag1 + Tag2 :‬‬
‫انتخاب برچسبي با صفتي خاص‪Tag[attrib=“value”] :‬‬
‫آنتخاب يك برچسب در وضعيت هاي خاص‪:‬‬
‫لينك ديده نشده ‪Tag:link‬‬

‫برچسبي كه ماوس رويش است ‪Tag:hover‬‬

‫لينك ديده شده ‪Tag:visited‬‬

‫برچسب درحال كليك ‪Tag:active‬‬
‫برچسب فعال صفحه ‪Tag:focus‬‬

‫•‬

‫همانطور كه قبل ذكر شد‪ ،‬هر بچسب در ‪ HTML‬مي تواند صفات خاص ي را داشته باشد‪ .‬صفاتي كه در‬

‫‪ CSS‬به ما كمك مي كنند‪ ،‬دو صفت ‪ class , id‬هستند‪ .‬با اختصاص دادن اين دو صفت به يك برچسب‬

‫در ‪ HTML‬مي توان ويژگيهاي ‪ CSS‬آنرا به سادگي كنترل كرد‪.‬‬

‫•‬

‫با تعريف يك كلس خاص براي برچسبي ‪ ،‬مي توان آنرا جزو دسته اي قرار داد كه ويژگيهاي ‪CSS‬مشترك‬

‫خاص ي بر روي همگي آنها اعمال شود‪.‬‬

‫•‬

‫با تعريف يك مشخصه منحصره (‪ )Unique Identifier‬براي يك برچسب‪ ،‬مي توان كنترل هاي‬

‫خاص ي از طريق ‪CSS‬و جاوااسكريپت بر روي آن برچسب اعمال كرد‪.‬‬

‫•‬

‫بايد توجه گردد كه ‪ id‬هيچ دو برچسبي در يك سند ‪HTML‬نبايد يكسان باشند‪ ،‬در غير اينصورت نتايج‬

‫قابل پيش بيني نخواهد بود‪.‬‬

*{
font-family: “Tahoma”, “Trebuchet”,”MS Sans Serif”
}
div.Container {
background-color:#777777;
border-width: 1px;
}
P#title {
font-weight:bold;
}
H1 + P {
font-style:italic;
}
input [type=‘button’] {
border-style:none;
}
Body Form > input[type=‘text’] {
text-align:center;
}
DIV P * [title] {
color:#ffffff;
}

‫•‬

‫براي اينكه ‪ CSS‬خاص ي را به چند انتخابگر يكجا اعمال كنيم‪ ،‬مي توانيم آنها را به صورت گروهي قرار‬

‫دهيم‪:‬‬
‫{ ]’‪div.Container , p , input[type=‘text‬‬
‫; ’‪font-family: ‘Tahoma’, ‘Comic Sans MS‬‬
‫}‬

‫•‬
‫• ‪CSS‬با استفاده از عبارات جاوااسكريپت مي تواند مقادير پويا (نسبت به شرايط ‪ )Client‬را به‬
‫در صورتي كه چند دستور يكسان ‪ CSS‬به يك برچسب خاص اعمال شوند‪ ،‬آخرين آنها باقي مي ماند‪.‬‬

‫‪ Property‬ها اعمال كند‪:‬‬
‫;‪Width: expression( document.width /2 )px‬‬

‫مشخصه هاي استاندارد ‪CSS 2‬‬

‫‪o‬‬
‫‪(scroll,fixed)o‬‬

‫‪ : Background‬خلصه اي براي تنظيم تمام مشخصات ‪Background‬‬
‫‪ : Background-Attachement‬وضعيت قرارگيري تصوير در‬

‫‪ ،Background‬در صورتي كه ‪fixed‬باشد‪ ،‬با جابجايي صفحه پشت صفحه آن حركت نخواهد كرد‪.‬‬

‫‪o‬‬
‫‪ :Background-image o‬يا مقدار ‪ none‬مي گيرد و يا با استفاده از )‪URL(adress‬يك آدرس‬
‫)‪ : Background-color (RGB Value‬رنگ پشت صفحه‬

‫فايل تصويري (آدرس وب)‬

‫‪o‬‬
‫‪ :Background-repeato‬در صورتي كه از تصوير استفاده شود‪ ،‬روش تكرار آنرا مشخص مي كند‪.‬‬
‫‪ :Background-position‬مقاديري مانند … ‪top left, center center ,‬‬

‫مقادير مجاز عبارتند از ‪no-repeat, repeat-x,repeat-y,repeat‬‬

‫‪o‬‬
‫‪ :Border-widtho‬عرض حاشيه (ضخامت آن) به عدد‪ ،‬درصد و واحد هاي ديگر اندازه‬
‫‪ :Border-coloro‬رنگ حاشيه به ‪RGB‬‬
‫‪ :Border-styleo‬نوع حاشيه از مقادير ‪none, hidden, dotted, dashed, solid,‬‬
‫‪ :Border‬خلصه اي براي تنظيم مشخصات حاشيه‪ ،‬به ترتيب عرض‪ ،‬نوع و رنگ مي گيرد‪.‬‬

‫‪double, groove, ridge, inset, outset‬‬

‫‪o‬‬

‫براي تغيير تنظيمات مربوط به حاشيه نواحي مختلف (باال‪ ،‬پايين‪ ،‬چپ‪ ،‬راست)مي توانيد از چهار ويژگي باال‬

‫به همراه نام طرف مورد نظر استفاده نماييد‪ ،‬براي مثال‪:‬‬

‫‪o‬‬
‫‪Border-top-coloro‬‬
‫‪Border-bottomo‬‬

‫‪Border-left-width‬‬

o

url(file), auto, ‫ مقادير مجاز عبارتند از‬،‫ شمايل اشاره گر ماوس را معين مي سازد‬:Cursor

crosshair, default, pointer, move, e-resize, ne-resize, nw-resize , nresize, se-resize, sw-resize, s-resize, w-resize , text, wait , help
none, inline, block, list- ‫ مقادير مجاز عبارتند از‬،‫ نحوه نمايش يك برچسب‬:Display

o

item, run-in, compact, marker, table, inline-table , ….

left,

right,

‫ مقادير مجاز عبارتند از‬،‫ گرايش و شناوري يك برچسب به طرفي خاص‬:Float

o

none
Static, Relative, ‫ مقادير مجاز عبارتند از‬،‫ نحوه قرارگيري يك برچسب در يك سند‬:Position

o

Absolute, Fixed

‫‪o‬‬
‫‪ :Line-Heighto‬فاصله بين دو خط متن در سند‬
‫‪ :Max-Heighto‬حداكثر ارتفاعي كه يك برچسب مي تواند داشته باشد‬
‫‪ :Min-Heighto‬حداقل ارتفاع يك برچسب‬
‫‪ :Widtho‬عرض يك برچسب‬
‫‪ :Max-Widtho‬حداكثر عرض يك برچسب‬
‫‪ :Min-Widtho‬حداقل عرض يك برچسب‬
‫‪ :Height‬ارتفاع يك برچسب در سند‪ .‬مشخصه اندازه اي‬

‫‪o‬‬
‫‪ :Font-Familyo‬نام قلم‪ ،‬بهتر است ليستي از قلمها بسته به پشتيباني از سيستم ها انتخاب شود‪.‬‬
‫‪ :Font‬ميانبري براي اعمال مشخصات كامل فونت و قلم‬

‫معموال نوشته هاي فارس ي با قلم ‪ Tahoma‬خوب نمايش داده مي شوند‪.‬‬

‫‪o‬‬

‫‪ :Font-Size‬اندازه قلم‪ .‬هم مي تواند از انواع مقداري قرار داده شود هم مي تواند يكي از مقادير مجاز‬

‫باشد‬

‫‪xx-small, x-small, small, medium, large, x-large, xx-large,‬‬

‫‪smaller, larger‬‬

‫‪o‬‬

‫‪ :Font-Stretch‬كشيدگي فونت (فاصلي افقي مابين حرفهاي آن)يا مقدار عددي يا يكي از مقادير‬

‫‪normal, wider, narrower, ultra-condensed, extra-condensed, condensed,‬‬
‫‪semi-condensed, semi-expanded, expanded, extra-expanded, ultra-expanded‬‬

‫‪o‬‬
‫‪ :Font-Weighto‬يكي از مقادير ‪ normal, bold, bolder, lighter‬و يا مقدار عددي‬
‫‪ :Font-Style‬يكي از مقادير ‪Normal, Italic, Oblique‬‬

o
none , url(file) :List-Style-Imageo
inside, outside :List-style-Positiono
‫ موارد مجاز عبارتند از‬،‫ شكل موارد ليست‬:List-Style-Typeo

‫ موقعيت و تصوير ليست را مي گيرد‬، ‫ نوع‬،‫ به ترتيب‬.‫ ميانبري براي تنظيمات ليست‬:List-Style

none, disc, circle,

square, decimal, decimal-leading-zero, lower-roman, upper-roman,
lower-alpha,

upper-alpha,

lower-greek,

lower-latin,

upper-latin,

hebrew, armenian, georgian, cjk-ideographic, hiragana, katakana,
hiragana-iroha, katakana-iroha

)auto ‫ فاصله علمت از نوشتار (مقدار يا‬:Marker-Offset

o

‫‪o‬‬

‫‪ :Margin‬ميانبري براي تنظيمات كناره‪ .‬به ترتيب اندازه كناره هاي باال‪ ،‬راست‪ ،‬پايين و چپ را مي گيرد‬

‫(ساعتگرد)‬

‫‪o‬‬

‫‪ :Margin-left, Margin-right, Margin-top, Margin-bottom‬مقدار كناره‪ ،‬مقدار يا‬

‫‪auto‬‬

‫‪o‬‬
‫‪ :Padding-left, Padding-right, Padding-top, Padding-bottomo‬مقدار اليي‬
‫‪ :Padding‬ميانبري براي تنظيم مشخصات اليي گذاري‪ ،‬به ترتيب باال‪ ،‬راست‪ ،‬پايين و چپ‬

‫گذاري‪ ،‬مقدار يا ‪auto‬‬

‫‪o‬‬
‫‪ :Outline-coloro‬رنگ خط حاشيه به ‪RGB‬‬
‫‪ :Outline-styleo‬نوع خط حاشيه يك ش يء‪ ،‬انوع مجاز عبارتند از ‪none, dotted, dashed,‬‬
‫‪ :Outline‬ميانبري براي تمام تنظيمات خط حاشيه‪ ،‬به ترتيب رنگ‪ ،‬نوع و عرض‬

‫‪solid , double , groove, ridge, inset, outset‬‬

‫‪o‬‬

‫‪ :Outline-width‬قطوري خط حاشيه‪ ،‬مقدار عددي يا يكي از مقادير ‪thin, thick, medium‬‬

‫‪o‬‬

‫‪ :Overflow‬در صورتي كه محتويات يك برچسب در آن جاي نگيرند‪ ،‬اين مشخصه معين مي سازد كه‬

‫چه اتفاقي بيافتد‪ .‬مقادير مجاز عبارتند از ‪Visible, Hidden, Auto, Scroll‬‬

‫‪o‬‬

‫‪ :Position‬نحوه قرارگيري برچسب نسبت به سند‪ ،‬مقادير مجاز عبارتند از ‪Static, Relative,‬‬

‫‪Absolute, Fixed‬‬

‫‪o‬‬

‫‪ :Vertical-Align‬نحوه قرارگيري عمودي يك برچسب در داخل برچسب پدر خود را مشخص مي كند‪.‬‬

‫مقادير مجاز عبارتند از ‪baseline, sub, super, top, text-top, middle, bottom,‬‬
‫‪ text-bottom‬و يا مقدار عددي‬

‫‪o‬‬

‫‪ :Z-Index‬اولويت قرارگيري در بعد سوم در صفحه (يعني جلو پشت ديگر برچسب ها)‪ Auto .‬يا يك‬

‫عدد‬

‫‪o‬‬

‫‪ :Border-Collapse‬معين مي سازد كه حواش ي جداول جدا باشند و يا يك مجموعه خط بهم‬

‫پيوسته باشند‪ .‬مقادير مجاز ‪Separate , Collapse‬‬

‫‪o‬‬
‫‪ :Empty-Cellsٍo‬مشخص مي كند كه سلول هاي خالي در مدل ‪ Seperate‬نمايش داده شوند و يا‬
‫‪ :Border-Spacing‬فاصله ميان دو حاشيه جدول‪ ،‬تنها در صورتي كه ‪ Seperate‬باشد‪.‬‬

‫خير‪ .‬مقادير مجاز ‪Show/Hide‬‬

‫‪o‬‬

‫‪ :Table Layout‬الگوريتم نحوه نمايش سلولهاي يك جدول‪Auto/Fixed ،‬‬

‫‪o‬‬
‫‪ :Directiono‬جهت متن (و محتويات)يك برچسب را مشخص مي سازد‪ ،‬مقادير مجاز ‪LTR/RTL‬‬
‫‪ :Text-Aligno‬مقادير مجاز ‪Left, Right, Center, Justify‬‬
‫‪ :Text-Decorationo‬افزودن افكتي به متن‪ ،‬مقادير مجاز عبارتند از ‪none, underline,‬‬
‫‪ :Color‬رنگ يك متن را مشخص مي سازد‪RGB ،‬‬

‫‪overline, line-through, blink‬‬

‫‪o‬‬
‫‪ :Word-Spacingo‬فاصله ميان لغات يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Letter-Spacingo‬فاصله ميان حروف يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Text-Indent‬تو رفتگي اولين خط يك متن‪ .‬مقدار عددي‬

‫تسلط كامل بر ‪CSS‬‬

‫‪o‬‬

‫در ‪ CSS‬رنگها را به دو شیوه می توان مشخص کرد‪:‬‬

‫‪o‬‬
‫‪o‬استفاده از نام رنگ‬

‫تعیين مقدار ‪ 24‬بیتی ‪ RGB‬آنها‬

‫‪o‬‬

‫در روش اول ‪ 16‬میلیون رنگ مختلف برای انتخاب وجود دارند‪ ،‬اما در روش دوم حدود ‪ 200‬رنگ با نام‬

‫های مختلف قابل استفاده هستند‪.‬‬

‫‪o‬‬
‫‪o‬برای مشخص کردن رنگ ‪ ،RGB‬پس از قرار دادن علمت ‪ #‬به ترتیب مقدار ‪ R‬و ‪ G‬و ‪ B‬را در مبنای ‪16‬‬
‫برای مشخص کردن رنگ با نام آن‪ ،‬کافیست نام رنگ را بنویسید‪Cyan, Purple :‬‬

‫وارد می کنیم‪#FFFFFF , #00FF00 :‬‬

‫‪o‬‬

‫همچنين می توان برای مشخص کردن رنگ ‪ RGB‬به صورت روبرو عمل کرد‪RGB(100,255,10):‬‬

‫و یا)‪RGB(70%,20%,100%‬‬

‫‪o‬‬

‫تمامی مقادیر اندازه ای در ‪ CSS‬واحد های متفاوتی را می پذیرند‪ .‬پایه ای ترین واحد همان ‪ Pixel‬است‬

‫که با ‪ px‬در انتهای مقدار مشخص می گردد‪ .‬واحدهای دیگر عبارتند از‪:‬‬

‫‪o‬‬
‫‪ :Ino‬اینچ‬
‫‪ :Cmo‬سانتیمتر‬
‫‪ :Mmo‬میلیمتر‬
‫‪ :Emo‬اندازه فونت‬
‫‪ 1/72 :Pto‬اینتچ‬
‫‪pt 12 :Pco‬‬
‫‪ :Pxo‬یک نقطه‬
‫‪ :%‬درصد!‬

‫‪o‬‬

‫شفافیت )‪ (Transparency‬یک عملیات پیچیده برای سیستم هاییست که کارت گرافیکی قدرتمندی‬

‫ندارد و موتور گرافیکی کاوشگر برای پیاده کردن آن بشدت زیر بار قرار می گيرد‪.‬‬

‫‪o‬‬

‫با استفاده از شفافیت می توان جذابیت بصری را بسیار باالتر برد‪ ،‬اما باید دقت داشت که کندی پردازش‬

‫تصویری سایت برای کاربر ایجاد مزاحمت نکند‪.‬‬

‫‪o‬‬
‫‪ o‬برای ایجاد شفافیت در کاوشگرهای استادارد‪ ،‬از ‪ Opacity : .5‬استفاده می شود‪.‬‬
‫‪o‬برای ایجاد شفافیت در ‪ IE‬از )‪ filter:alpha(opacity=50‬استفاده می شود‪.‬‬
‫‪o‬برای اینکه شفافیت در تمامی کاوشگرها درست نمایش داده شود الزم است هردو دستور باال بکار روند‪.‬‬
‫متاسفانه کاوشگر ‪ IE‬برای شفافیت از دستورات خود استفاده می کند که استاندارد نیستند‪.‬‬

‫‪o‬‬

‫کاوشگرهایی مانند ‪ Firefox‬دستورات ‪ CSS‬ویژه ای دارند (البته ‪ IE‬نيز دستورات مخصوص خود را‬

‫داراست) ‪.‬‬

‫‪o‬‬

‫عبارت ‪ –moz-border-radius‬می تواند گوشه های مستطیل ها را از تيزی درآورده و آنها را نرم‬

‫کند‪-moz-border-radius: 5px; :‬‬

‫‪o‬‬

‫استفاده از این عبارت و راه حل های مشابه پیشنهاد نمی شود زیرا این نما تنها در ‪ Firefox‬قابل مشاهده‬

‫خواهد بود‪.‬‬

‫‪o‬‬

‫‪ CSS‬توانایی آنرا داراست که برای رسانه های خاص تفاوت کند! برای مثال می توانید ‪ CSS‬یک سایت‬

‫را طوری تعریف کنید که رنگ نوشته های آن قرمز باشد ولی هنگام پرینت مشکی شود‪.‬‬

‫‪o‬‬

‫برای مشخص کردن اینکه ‪ CSS‬را برای چه رسانه ای می نویسیم‪ ،‬از ‪ @media‬استفاده می کنیم‪:‬‬
‫‪@media screen‬‬
‫};‪* { color:#ff0000‬‬
‫‪@media print‬‬
‫};‪* { color:#000000‬‬

‫رسانه های معمول عبارتند از‪all, braille, handheld, print, projection, screen, tv, :‬‬
‫…‬

‫‪ CSS‬را قورت بده!‬

‫‪o‬‬

‫فایل ‪ HTML‬ای که در تمرینات ‪ HTML‬ساخته اید و تمامی برچسب ها را داراست‪ ،‬با استفاده از تمامی‬

‫برچسب های ‪ CSS‬قالب بندی کنید‪ .‬سعی کنید زیبایی کافی و قالب بندی مناسب برای سند اتفاق بیافتد! در‬

‫داخل سند تنها می توانید برچسبهای ‪ DIV‬و ‪ SPAN‬اضافه کنید و یا به برچسب های موجود ‪ID ,‬‬
‫‪ CLASS‬بیافزایید‪.‬‬

‫‪o‬‬
‫‪o‬آیا می توان با استفاده از ‪ CSS‬منو ساخت؟ اگر بله راه حل را معين کنید‪.‬‬
‫‪o‬مزایا و معایب نوشتن ‪ CSS‬در یک فایل جداگانه را برشمارید‪.‬‬
‫‪o‬با استفاده از ‪ CSS‬یک ‪ taskbar‬برای یک صفحه بسازید که همواره در قسمت پایين پنجره کاوشگر‬
‫بدون استفاده از جداول و تنها با استفاده از ‪ CSS‬یک صفحه سه ستونی (مانند ‪ )SBCE.ir‬بسازید‪.‬‬

‫(نه لزوما انتهای سند) باشد‪.‬‬


Slide 15

‫کارگاه آموزش ی توسعه وب‬
‫بخش دوم ‪CSS -‬‬

‫ارائه‪ :‬عباس نادری‬
‫انجمن علمی دانشجویی‬
‫مهندس ی کامپیوتر‬
‫نسخه ‪1‬‬

‫دانشگاه شهید بهشتی‬

‫‪ CSS‬چیست ؟‬

‫•‬
‫•معمول ترین استفاده ‪ CSS‬برای قالب بندی اسناد وب )‪ (HTML‬منظور می شود‪.‬‬
‫•با پیچیده شدن وب ها‪ ،‬تصمیم بر آن شد تا محتوا از قالب بندی تفکیک شود و توسعه وب تسهیل‬
‫‪ CSS‬یا ‪ Casacading Style Sheets‬یک استاندارد قالب بندی ظاهری اسناد است‪.‬‬

‫گردد‪.‬‬

‫•‬

‫‪ CSS‬سه نسخه اصلی دارد‪:‬‬

‫•‬
‫•‪ :CSS 2‬در سال ‪ 1998‬توسط ‪ W3C‬استاندارد شد و هنوز به عنوان استاندارد بکار می رود‪.‬‬
‫•‪ :CSS 3‬هنوز در دست توسعه توسط ‪ W3C‬است‪.‬‬
‫‪ :CSS 1‬در سال ‪ 1996‬توسط ‪ W3C‬استاندارد شد‪.‬‬

‫•‬

‫‪ CSS‬به دلیل امکان استفاده مجدد‪ ،‬به شدت توسعه وب را ساده و سریع می کند‪ .‬همچنین قالب‬

‫بندی صفحات با استفاده از آن در قالب تیمی مقدور خواهد بود‪.‬‬

‫•‬

‫‪ CSS‬از طریق انتخابگرها قالب بندی را سرعت می بخشد‪ .‬همچنین از موتور انتخابگر ‪ CSS‬در‬

‫کاربردهای دیگر بهره فراوان برده می شود‪.‬‬

‫•‬

‫‪ :Layout Engine‬برنامه ایست در کاوشگرها که سند ‪ HTML‬و فایل ‪ CSS‬را دریافت کرده‪،‬‬

‫خروجی گرافیکی بر روی صفحه تولید می نماید‪.‬‬

‫•‬

‫‪ :Selector Engine‬موتوریست بر روی کاوشگر که زیرمجموعه ای از برچسب های ‪ HTML‬را‬

‫انتخاب می کند‪.‬‬

:‫ با چند مثال آنرا بررس ی می کنیم‬،‫ گرامر بسیار ساده ای دارد‬CSS
Template:
Selection {
Property: value;
Property: value;
//Comment /*Comment */
}
Example:
div.main {
background-color:#777777;
border-width: 1px;
border-style: solid;
font-family: ‘Tahoma’;
}



‫•‬
‫•در سه جای مختلف می توان از ‪ CSS‬استفاده کرد‪:‬‬

‫‪ CSS‬جزئیات گرامری مختلفی نیز دارد که در طی این ارائه با آنها بیشتر آشنا خواهیم شد‪.‬‬

‫•‬
‫•برچسب های ‪ Style‬در داخل فایل ‪ :HTML‬می توان با افزودن برچسب ‪ Style‬در ‪Head‬یا ‪Body‬‬
‫فایل های ‪ :CSS‬می توان ‪ CSS‬را در فایلی جداگانه نوشت و آنرا در ‪ HTML‬افزود‪.‬‬

‫یک سند‪ CSS ،‬تعریف کرد‪.‬‬

‫•‬

‫صفت ‪ Style‬برای برچسب ها‪ :‬می توان در یکی از صفتهای هر برچسب‪ CSS ،‬آنرا تعریف کرد‪ .‬در این‬

‫حالت دیگر انتخابگر مطرح نیست و قالب بندی تنها برای آن برچسب اعمال می شود‪.‬‬

‫•‬
‫•استفاده از حالت سوم (‪ )Inline CSS‬توصیه نمی شود و جدابودن محتوی از قالب را زیر سوال می‬
‫سه نوع تعریف ‪ CSS‬می توانند همزمان باشند‪ .‬اولویت آنها به ترتیب افزایش می یابد‪.‬‬

‫برد‪ ،‬اما در جاهای خاص ی استفاده از آن کار را راحتتر می کند‪.‬‬

:HTML ‫ جدا و استفاده از آن در‬CSS ‫تعریف در فایل‬
//SomeFile.css
input[text] {
width:200px;
background-color:#000000;
border:solid 0px;
}







:HTML ‫ در بدنه سند‬CSS ‫تعریف‬






:‫ در صفت یک برچسب‬CSS ‫تعریف‬


This is some text with tahoma font






‫چگونگی انتخاب برچسبها‬

‫•‬

‫براي مشخص كردن اينكه يك ‪ CSS‬به كدامين اشياء يك صفحه اعمال شود‪ ،‬بايد از انتخابگرها استفاده‬

‫نمود‪ .‬هر انتخاب گر يك يا چند ش يء در يك صفحه ‪ HTML‬را انتخاب مي كند و سپس مي توان قالب هاي‬

‫مورد نظر را به آن اعمال كرد‪.‬‬

‫•‬

‫انتخابگرهاي ‪ CSS‬تنوع و قدرت به سزايي دارند بنابراين در اين بخش در حدي كه نيازهاي اوليه مرتفع‬

‫شوند آنها را بررس ي خواهيم كرد‪.‬‬

‫•‬

‫انتخابگر ها در دو نحوه اوليه تعريف ‪ CSS‬ها قابل استفاده هستند به قالب زير‪:‬‬
‫{ ‪SelectorStatement‬‬
‫;‪Css Properties & Values‬‬

‫}‬

‫انتخاب تمام برچسب ها ‪* :‬‬
‫انتخاب برچسب هاي خاص‪tagName :‬‬
‫انتخاب برچسبي از زيربرچسب هاي يك برچسب ديگر‪ParentTag DescendantTag :‬‬
‫انتخاب برچسبي از فرزندان يك برچسب ديگر ‪ParentTag > ChildTag :‬‬
‫انتخاب برچسبي بعد از يك برچسب ديگر‪Tag1 + Tag2 :‬‬
‫انتخاب برچسبي با صفتي خاص‪Tag[attrib=“value”] :‬‬
‫آنتخاب يك برچسب در وضعيت هاي خاص‪:‬‬
‫لينك ديده نشده ‪Tag:link‬‬

‫برچسبي كه ماوس رويش است ‪Tag:hover‬‬

‫لينك ديده شده ‪Tag:visited‬‬

‫برچسب درحال كليك ‪Tag:active‬‬
‫برچسب فعال صفحه ‪Tag:focus‬‬

‫•‬

‫همانطور كه قبل ذكر شد‪ ،‬هر بچسب در ‪ HTML‬مي تواند صفات خاص ي را داشته باشد‪ .‬صفاتي كه در‬

‫‪ CSS‬به ما كمك مي كنند‪ ،‬دو صفت ‪ class , id‬هستند‪ .‬با اختصاص دادن اين دو صفت به يك برچسب‬

‫در ‪ HTML‬مي توان ويژگيهاي ‪ CSS‬آنرا به سادگي كنترل كرد‪.‬‬

‫•‬

‫با تعريف يك كلس خاص براي برچسبي ‪ ،‬مي توان آنرا جزو دسته اي قرار داد كه ويژگيهاي ‪CSS‬مشترك‬

‫خاص ي بر روي همگي آنها اعمال شود‪.‬‬

‫•‬

‫با تعريف يك مشخصه منحصره (‪ )Unique Identifier‬براي يك برچسب‪ ،‬مي توان كنترل هاي‬

‫خاص ي از طريق ‪CSS‬و جاوااسكريپت بر روي آن برچسب اعمال كرد‪.‬‬

‫•‬

‫بايد توجه گردد كه ‪ id‬هيچ دو برچسبي در يك سند ‪HTML‬نبايد يكسان باشند‪ ،‬در غير اينصورت نتايج‬

‫قابل پيش بيني نخواهد بود‪.‬‬

*{
font-family: “Tahoma”, “Trebuchet”,”MS Sans Serif”
}
div.Container {
background-color:#777777;
border-width: 1px;
}
P#title {
font-weight:bold;
}
H1 + P {
font-style:italic;
}
input [type=‘button’] {
border-style:none;
}
Body Form > input[type=‘text’] {
text-align:center;
}
DIV P * [title] {
color:#ffffff;
}

‫•‬

‫براي اينكه ‪ CSS‬خاص ي را به چند انتخابگر يكجا اعمال كنيم‪ ،‬مي توانيم آنها را به صورت گروهي قرار‬

‫دهيم‪:‬‬
‫{ ]’‪div.Container , p , input[type=‘text‬‬
‫; ’‪font-family: ‘Tahoma’, ‘Comic Sans MS‬‬
‫}‬

‫•‬
‫• ‪CSS‬با استفاده از عبارات جاوااسكريپت مي تواند مقادير پويا (نسبت به شرايط ‪ )Client‬را به‬
‫در صورتي كه چند دستور يكسان ‪ CSS‬به يك برچسب خاص اعمال شوند‪ ،‬آخرين آنها باقي مي ماند‪.‬‬

‫‪ Property‬ها اعمال كند‪:‬‬
‫;‪Width: expression( document.width /2 )px‬‬

‫مشخصه هاي استاندارد ‪CSS 2‬‬

‫‪o‬‬
‫‪(scroll,fixed)o‬‬

‫‪ : Background‬خلصه اي براي تنظيم تمام مشخصات ‪Background‬‬
‫‪ : Background-Attachement‬وضعيت قرارگيري تصوير در‬

‫‪ ،Background‬در صورتي كه ‪fixed‬باشد‪ ،‬با جابجايي صفحه پشت صفحه آن حركت نخواهد كرد‪.‬‬

‫‪o‬‬
‫‪ :Background-image o‬يا مقدار ‪ none‬مي گيرد و يا با استفاده از )‪URL(adress‬يك آدرس‬
‫)‪ : Background-color (RGB Value‬رنگ پشت صفحه‬

‫فايل تصويري (آدرس وب)‬

‫‪o‬‬
‫‪ :Background-repeato‬در صورتي كه از تصوير استفاده شود‪ ،‬روش تكرار آنرا مشخص مي كند‪.‬‬
‫‪ :Background-position‬مقاديري مانند … ‪top left, center center ,‬‬

‫مقادير مجاز عبارتند از ‪no-repeat, repeat-x,repeat-y,repeat‬‬

‫‪o‬‬
‫‪ :Border-widtho‬عرض حاشيه (ضخامت آن) به عدد‪ ،‬درصد و واحد هاي ديگر اندازه‬
‫‪ :Border-coloro‬رنگ حاشيه به ‪RGB‬‬
‫‪ :Border-styleo‬نوع حاشيه از مقادير ‪none, hidden, dotted, dashed, solid,‬‬
‫‪ :Border‬خلصه اي براي تنظيم مشخصات حاشيه‪ ،‬به ترتيب عرض‪ ،‬نوع و رنگ مي گيرد‪.‬‬

‫‪double, groove, ridge, inset, outset‬‬

‫‪o‬‬

‫براي تغيير تنظيمات مربوط به حاشيه نواحي مختلف (باال‪ ،‬پايين‪ ،‬چپ‪ ،‬راست)مي توانيد از چهار ويژگي باال‬

‫به همراه نام طرف مورد نظر استفاده نماييد‪ ،‬براي مثال‪:‬‬

‫‪o‬‬
‫‪Border-top-coloro‬‬
‫‪Border-bottomo‬‬

‫‪Border-left-width‬‬

o

url(file), auto, ‫ مقادير مجاز عبارتند از‬،‫ شمايل اشاره گر ماوس را معين مي سازد‬:Cursor

crosshair, default, pointer, move, e-resize, ne-resize, nw-resize , nresize, se-resize, sw-resize, s-resize, w-resize , text, wait , help
none, inline, block, list- ‫ مقادير مجاز عبارتند از‬،‫ نحوه نمايش يك برچسب‬:Display

o

item, run-in, compact, marker, table, inline-table , ….

left,

right,

‫ مقادير مجاز عبارتند از‬،‫ گرايش و شناوري يك برچسب به طرفي خاص‬:Float

o

none
Static, Relative, ‫ مقادير مجاز عبارتند از‬،‫ نحوه قرارگيري يك برچسب در يك سند‬:Position

o

Absolute, Fixed

‫‪o‬‬
‫‪ :Line-Heighto‬فاصله بين دو خط متن در سند‬
‫‪ :Max-Heighto‬حداكثر ارتفاعي كه يك برچسب مي تواند داشته باشد‬
‫‪ :Min-Heighto‬حداقل ارتفاع يك برچسب‬
‫‪ :Widtho‬عرض يك برچسب‬
‫‪ :Max-Widtho‬حداكثر عرض يك برچسب‬
‫‪ :Min-Widtho‬حداقل عرض يك برچسب‬
‫‪ :Height‬ارتفاع يك برچسب در سند‪ .‬مشخصه اندازه اي‬

‫‪o‬‬
‫‪ :Font-Familyo‬نام قلم‪ ،‬بهتر است ليستي از قلمها بسته به پشتيباني از سيستم ها انتخاب شود‪.‬‬
‫‪ :Font‬ميانبري براي اعمال مشخصات كامل فونت و قلم‬

‫معموال نوشته هاي فارس ي با قلم ‪ Tahoma‬خوب نمايش داده مي شوند‪.‬‬

‫‪o‬‬

‫‪ :Font-Size‬اندازه قلم‪ .‬هم مي تواند از انواع مقداري قرار داده شود هم مي تواند يكي از مقادير مجاز‬

‫باشد‬

‫‪xx-small, x-small, small, medium, large, x-large, xx-large,‬‬

‫‪smaller, larger‬‬

‫‪o‬‬

‫‪ :Font-Stretch‬كشيدگي فونت (فاصلي افقي مابين حرفهاي آن)يا مقدار عددي يا يكي از مقادير‬

‫‪normal, wider, narrower, ultra-condensed, extra-condensed, condensed,‬‬
‫‪semi-condensed, semi-expanded, expanded, extra-expanded, ultra-expanded‬‬

‫‪o‬‬
‫‪ :Font-Weighto‬يكي از مقادير ‪ normal, bold, bolder, lighter‬و يا مقدار عددي‬
‫‪ :Font-Style‬يكي از مقادير ‪Normal, Italic, Oblique‬‬

o
none , url(file) :List-Style-Imageo
inside, outside :List-style-Positiono
‫ موارد مجاز عبارتند از‬،‫ شكل موارد ليست‬:List-Style-Typeo

‫ موقعيت و تصوير ليست را مي گيرد‬، ‫ نوع‬،‫ به ترتيب‬.‫ ميانبري براي تنظيمات ليست‬:List-Style

none, disc, circle,

square, decimal, decimal-leading-zero, lower-roman, upper-roman,
lower-alpha,

upper-alpha,

lower-greek,

lower-latin,

upper-latin,

hebrew, armenian, georgian, cjk-ideographic, hiragana, katakana,
hiragana-iroha, katakana-iroha

)auto ‫ فاصله علمت از نوشتار (مقدار يا‬:Marker-Offset

o

‫‪o‬‬

‫‪ :Margin‬ميانبري براي تنظيمات كناره‪ .‬به ترتيب اندازه كناره هاي باال‪ ،‬راست‪ ،‬پايين و چپ را مي گيرد‬

‫(ساعتگرد)‬

‫‪o‬‬

‫‪ :Margin-left, Margin-right, Margin-top, Margin-bottom‬مقدار كناره‪ ،‬مقدار يا‬

‫‪auto‬‬

‫‪o‬‬
‫‪ :Padding-left, Padding-right, Padding-top, Padding-bottomo‬مقدار اليي‬
‫‪ :Padding‬ميانبري براي تنظيم مشخصات اليي گذاري‪ ،‬به ترتيب باال‪ ،‬راست‪ ،‬پايين و چپ‬

‫گذاري‪ ،‬مقدار يا ‪auto‬‬

‫‪o‬‬
‫‪ :Outline-coloro‬رنگ خط حاشيه به ‪RGB‬‬
‫‪ :Outline-styleo‬نوع خط حاشيه يك ش يء‪ ،‬انوع مجاز عبارتند از ‪none, dotted, dashed,‬‬
‫‪ :Outline‬ميانبري براي تمام تنظيمات خط حاشيه‪ ،‬به ترتيب رنگ‪ ،‬نوع و عرض‬

‫‪solid , double , groove, ridge, inset, outset‬‬

‫‪o‬‬

‫‪ :Outline-width‬قطوري خط حاشيه‪ ،‬مقدار عددي يا يكي از مقادير ‪thin, thick, medium‬‬

‫‪o‬‬

‫‪ :Overflow‬در صورتي كه محتويات يك برچسب در آن جاي نگيرند‪ ،‬اين مشخصه معين مي سازد كه‬

‫چه اتفاقي بيافتد‪ .‬مقادير مجاز عبارتند از ‪Visible, Hidden, Auto, Scroll‬‬

‫‪o‬‬

‫‪ :Position‬نحوه قرارگيري برچسب نسبت به سند‪ ،‬مقادير مجاز عبارتند از ‪Static, Relative,‬‬

‫‪Absolute, Fixed‬‬

‫‪o‬‬

‫‪ :Vertical-Align‬نحوه قرارگيري عمودي يك برچسب در داخل برچسب پدر خود را مشخص مي كند‪.‬‬

‫مقادير مجاز عبارتند از ‪baseline, sub, super, top, text-top, middle, bottom,‬‬
‫‪ text-bottom‬و يا مقدار عددي‬

‫‪o‬‬

‫‪ :Z-Index‬اولويت قرارگيري در بعد سوم در صفحه (يعني جلو پشت ديگر برچسب ها)‪ Auto .‬يا يك‬

‫عدد‬

‫‪o‬‬

‫‪ :Border-Collapse‬معين مي سازد كه حواش ي جداول جدا باشند و يا يك مجموعه خط بهم‬

‫پيوسته باشند‪ .‬مقادير مجاز ‪Separate , Collapse‬‬

‫‪o‬‬
‫‪ :Empty-Cellsٍo‬مشخص مي كند كه سلول هاي خالي در مدل ‪ Seperate‬نمايش داده شوند و يا‬
‫‪ :Border-Spacing‬فاصله ميان دو حاشيه جدول‪ ،‬تنها در صورتي كه ‪ Seperate‬باشد‪.‬‬

‫خير‪ .‬مقادير مجاز ‪Show/Hide‬‬

‫‪o‬‬

‫‪ :Table Layout‬الگوريتم نحوه نمايش سلولهاي يك جدول‪Auto/Fixed ،‬‬

‫‪o‬‬
‫‪ :Directiono‬جهت متن (و محتويات)يك برچسب را مشخص مي سازد‪ ،‬مقادير مجاز ‪LTR/RTL‬‬
‫‪ :Text-Aligno‬مقادير مجاز ‪Left, Right, Center, Justify‬‬
‫‪ :Text-Decorationo‬افزودن افكتي به متن‪ ،‬مقادير مجاز عبارتند از ‪none, underline,‬‬
‫‪ :Color‬رنگ يك متن را مشخص مي سازد‪RGB ،‬‬

‫‪overline, line-through, blink‬‬

‫‪o‬‬
‫‪ :Word-Spacingo‬فاصله ميان لغات يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Letter-Spacingo‬فاصله ميان حروف يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Text-Indent‬تو رفتگي اولين خط يك متن‪ .‬مقدار عددي‬

‫تسلط كامل بر ‪CSS‬‬

‫‪o‬‬

‫در ‪ CSS‬رنگها را به دو شیوه می توان مشخص کرد‪:‬‬

‫‪o‬‬
‫‪o‬استفاده از نام رنگ‬

‫تعیين مقدار ‪ 24‬بیتی ‪ RGB‬آنها‬

‫‪o‬‬

‫در روش اول ‪ 16‬میلیون رنگ مختلف برای انتخاب وجود دارند‪ ،‬اما در روش دوم حدود ‪ 200‬رنگ با نام‬

‫های مختلف قابل استفاده هستند‪.‬‬

‫‪o‬‬
‫‪o‬برای مشخص کردن رنگ ‪ ،RGB‬پس از قرار دادن علمت ‪ #‬به ترتیب مقدار ‪ R‬و ‪ G‬و ‪ B‬را در مبنای ‪16‬‬
‫برای مشخص کردن رنگ با نام آن‪ ،‬کافیست نام رنگ را بنویسید‪Cyan, Purple :‬‬

‫وارد می کنیم‪#FFFFFF , #00FF00 :‬‬

‫‪o‬‬

‫همچنين می توان برای مشخص کردن رنگ ‪ RGB‬به صورت روبرو عمل کرد‪RGB(100,255,10):‬‬

‫و یا)‪RGB(70%,20%,100%‬‬

‫‪o‬‬

‫تمامی مقادیر اندازه ای در ‪ CSS‬واحد های متفاوتی را می پذیرند‪ .‬پایه ای ترین واحد همان ‪ Pixel‬است‬

‫که با ‪ px‬در انتهای مقدار مشخص می گردد‪ .‬واحدهای دیگر عبارتند از‪:‬‬

‫‪o‬‬
‫‪ :Ino‬اینچ‬
‫‪ :Cmo‬سانتیمتر‬
‫‪ :Mmo‬میلیمتر‬
‫‪ :Emo‬اندازه فونت‬
‫‪ 1/72 :Pto‬اینتچ‬
‫‪pt 12 :Pco‬‬
‫‪ :Pxo‬یک نقطه‬
‫‪ :%‬درصد!‬

‫‪o‬‬

‫شفافیت )‪ (Transparency‬یک عملیات پیچیده برای سیستم هاییست که کارت گرافیکی قدرتمندی‬

‫ندارد و موتور گرافیکی کاوشگر برای پیاده کردن آن بشدت زیر بار قرار می گيرد‪.‬‬

‫‪o‬‬

‫با استفاده از شفافیت می توان جذابیت بصری را بسیار باالتر برد‪ ،‬اما باید دقت داشت که کندی پردازش‬

‫تصویری سایت برای کاربر ایجاد مزاحمت نکند‪.‬‬

‫‪o‬‬
‫‪ o‬برای ایجاد شفافیت در کاوشگرهای استادارد‪ ،‬از ‪ Opacity : .5‬استفاده می شود‪.‬‬
‫‪o‬برای ایجاد شفافیت در ‪ IE‬از )‪ filter:alpha(opacity=50‬استفاده می شود‪.‬‬
‫‪o‬برای اینکه شفافیت در تمامی کاوشگرها درست نمایش داده شود الزم است هردو دستور باال بکار روند‪.‬‬
‫متاسفانه کاوشگر ‪ IE‬برای شفافیت از دستورات خود استفاده می کند که استاندارد نیستند‪.‬‬

‫‪o‬‬

‫کاوشگرهایی مانند ‪ Firefox‬دستورات ‪ CSS‬ویژه ای دارند (البته ‪ IE‬نيز دستورات مخصوص خود را‬

‫داراست) ‪.‬‬

‫‪o‬‬

‫عبارت ‪ –moz-border-radius‬می تواند گوشه های مستطیل ها را از تيزی درآورده و آنها را نرم‬

‫کند‪-moz-border-radius: 5px; :‬‬

‫‪o‬‬

‫استفاده از این عبارت و راه حل های مشابه پیشنهاد نمی شود زیرا این نما تنها در ‪ Firefox‬قابل مشاهده‬

‫خواهد بود‪.‬‬

‫‪o‬‬

‫‪ CSS‬توانایی آنرا داراست که برای رسانه های خاص تفاوت کند! برای مثال می توانید ‪ CSS‬یک سایت‬

‫را طوری تعریف کنید که رنگ نوشته های آن قرمز باشد ولی هنگام پرینت مشکی شود‪.‬‬

‫‪o‬‬

‫برای مشخص کردن اینکه ‪ CSS‬را برای چه رسانه ای می نویسیم‪ ،‬از ‪ @media‬استفاده می کنیم‪:‬‬
‫‪@media screen‬‬
‫};‪* { color:#ff0000‬‬
‫‪@media print‬‬
‫};‪* { color:#000000‬‬

‫رسانه های معمول عبارتند از‪all, braille, handheld, print, projection, screen, tv, :‬‬
‫…‬

‫‪ CSS‬را قورت بده!‬

‫‪o‬‬

‫فایل ‪ HTML‬ای که در تمرینات ‪ HTML‬ساخته اید و تمامی برچسب ها را داراست‪ ،‬با استفاده از تمامی‬

‫برچسب های ‪ CSS‬قالب بندی کنید‪ .‬سعی کنید زیبایی کافی و قالب بندی مناسب برای سند اتفاق بیافتد! در‬

‫داخل سند تنها می توانید برچسبهای ‪ DIV‬و ‪ SPAN‬اضافه کنید و یا به برچسب های موجود ‪ID ,‬‬
‫‪ CLASS‬بیافزایید‪.‬‬

‫‪o‬‬
‫‪o‬آیا می توان با استفاده از ‪ CSS‬منو ساخت؟ اگر بله راه حل را معين کنید‪.‬‬
‫‪o‬مزایا و معایب نوشتن ‪ CSS‬در یک فایل جداگانه را برشمارید‪.‬‬
‫‪o‬با استفاده از ‪ CSS‬یک ‪ taskbar‬برای یک صفحه بسازید که همواره در قسمت پایين پنجره کاوشگر‬
‫بدون استفاده از جداول و تنها با استفاده از ‪ CSS‬یک صفحه سه ستونی (مانند ‪ )SBCE.ir‬بسازید‪.‬‬

‫(نه لزوما انتهای سند) باشد‪.‬‬


Slide 16

‫کارگاه آموزش ی توسعه وب‬
‫بخش دوم ‪CSS -‬‬

‫ارائه‪ :‬عباس نادری‬
‫انجمن علمی دانشجویی‬
‫مهندس ی کامپیوتر‬
‫نسخه ‪1‬‬

‫دانشگاه شهید بهشتی‬

‫‪ CSS‬چیست ؟‬

‫•‬
‫•معمول ترین استفاده ‪ CSS‬برای قالب بندی اسناد وب )‪ (HTML‬منظور می شود‪.‬‬
‫•با پیچیده شدن وب ها‪ ،‬تصمیم بر آن شد تا محتوا از قالب بندی تفکیک شود و توسعه وب تسهیل‬
‫‪ CSS‬یا ‪ Casacading Style Sheets‬یک استاندارد قالب بندی ظاهری اسناد است‪.‬‬

‫گردد‪.‬‬

‫•‬

‫‪ CSS‬سه نسخه اصلی دارد‪:‬‬

‫•‬
‫•‪ :CSS 2‬در سال ‪ 1998‬توسط ‪ W3C‬استاندارد شد و هنوز به عنوان استاندارد بکار می رود‪.‬‬
‫•‪ :CSS 3‬هنوز در دست توسعه توسط ‪ W3C‬است‪.‬‬
‫‪ :CSS 1‬در سال ‪ 1996‬توسط ‪ W3C‬استاندارد شد‪.‬‬

‫•‬

‫‪ CSS‬به دلیل امکان استفاده مجدد‪ ،‬به شدت توسعه وب را ساده و سریع می کند‪ .‬همچنین قالب‬

‫بندی صفحات با استفاده از آن در قالب تیمی مقدور خواهد بود‪.‬‬

‫•‬

‫‪ CSS‬از طریق انتخابگرها قالب بندی را سرعت می بخشد‪ .‬همچنین از موتور انتخابگر ‪ CSS‬در‬

‫کاربردهای دیگر بهره فراوان برده می شود‪.‬‬

‫•‬

‫‪ :Layout Engine‬برنامه ایست در کاوشگرها که سند ‪ HTML‬و فایل ‪ CSS‬را دریافت کرده‪،‬‬

‫خروجی گرافیکی بر روی صفحه تولید می نماید‪.‬‬

‫•‬

‫‪ :Selector Engine‬موتوریست بر روی کاوشگر که زیرمجموعه ای از برچسب های ‪ HTML‬را‬

‫انتخاب می کند‪.‬‬

:‫ با چند مثال آنرا بررس ی می کنیم‬،‫ گرامر بسیار ساده ای دارد‬CSS
Template:
Selection {
Property: value;
Property: value;
//Comment /*Comment */
}
Example:
div.main {
background-color:#777777;
border-width: 1px;
border-style: solid;
font-family: ‘Tahoma’;
}



‫•‬
‫•در سه جای مختلف می توان از ‪ CSS‬استفاده کرد‪:‬‬

‫‪ CSS‬جزئیات گرامری مختلفی نیز دارد که در طی این ارائه با آنها بیشتر آشنا خواهیم شد‪.‬‬

‫•‬
‫•برچسب های ‪ Style‬در داخل فایل ‪ :HTML‬می توان با افزودن برچسب ‪ Style‬در ‪Head‬یا ‪Body‬‬
‫فایل های ‪ :CSS‬می توان ‪ CSS‬را در فایلی جداگانه نوشت و آنرا در ‪ HTML‬افزود‪.‬‬

‫یک سند‪ CSS ،‬تعریف کرد‪.‬‬

‫•‬

‫صفت ‪ Style‬برای برچسب ها‪ :‬می توان در یکی از صفتهای هر برچسب‪ CSS ،‬آنرا تعریف کرد‪ .‬در این‬

‫حالت دیگر انتخابگر مطرح نیست و قالب بندی تنها برای آن برچسب اعمال می شود‪.‬‬

‫•‬
‫•استفاده از حالت سوم (‪ )Inline CSS‬توصیه نمی شود و جدابودن محتوی از قالب را زیر سوال می‬
‫سه نوع تعریف ‪ CSS‬می توانند همزمان باشند‪ .‬اولویت آنها به ترتیب افزایش می یابد‪.‬‬

‫برد‪ ،‬اما در جاهای خاص ی استفاده از آن کار را راحتتر می کند‪.‬‬

:HTML ‫ جدا و استفاده از آن در‬CSS ‫تعریف در فایل‬
//SomeFile.css
input[text] {
width:200px;
background-color:#000000;
border:solid 0px;
}







:HTML ‫ در بدنه سند‬CSS ‫تعریف‬






:‫ در صفت یک برچسب‬CSS ‫تعریف‬


This is some text with tahoma font






‫چگونگی انتخاب برچسبها‬

‫•‬

‫براي مشخص كردن اينكه يك ‪ CSS‬به كدامين اشياء يك صفحه اعمال شود‪ ،‬بايد از انتخابگرها استفاده‬

‫نمود‪ .‬هر انتخاب گر يك يا چند ش يء در يك صفحه ‪ HTML‬را انتخاب مي كند و سپس مي توان قالب هاي‬

‫مورد نظر را به آن اعمال كرد‪.‬‬

‫•‬

‫انتخابگرهاي ‪ CSS‬تنوع و قدرت به سزايي دارند بنابراين در اين بخش در حدي كه نيازهاي اوليه مرتفع‬

‫شوند آنها را بررس ي خواهيم كرد‪.‬‬

‫•‬

‫انتخابگر ها در دو نحوه اوليه تعريف ‪ CSS‬ها قابل استفاده هستند به قالب زير‪:‬‬
‫{ ‪SelectorStatement‬‬
‫;‪Css Properties & Values‬‬

‫}‬

‫انتخاب تمام برچسب ها ‪* :‬‬
‫انتخاب برچسب هاي خاص‪tagName :‬‬
‫انتخاب برچسبي از زيربرچسب هاي يك برچسب ديگر‪ParentTag DescendantTag :‬‬
‫انتخاب برچسبي از فرزندان يك برچسب ديگر ‪ParentTag > ChildTag :‬‬
‫انتخاب برچسبي بعد از يك برچسب ديگر‪Tag1 + Tag2 :‬‬
‫انتخاب برچسبي با صفتي خاص‪Tag[attrib=“value”] :‬‬
‫آنتخاب يك برچسب در وضعيت هاي خاص‪:‬‬
‫لينك ديده نشده ‪Tag:link‬‬

‫برچسبي كه ماوس رويش است ‪Tag:hover‬‬

‫لينك ديده شده ‪Tag:visited‬‬

‫برچسب درحال كليك ‪Tag:active‬‬
‫برچسب فعال صفحه ‪Tag:focus‬‬

‫•‬

‫همانطور كه قبل ذكر شد‪ ،‬هر بچسب در ‪ HTML‬مي تواند صفات خاص ي را داشته باشد‪ .‬صفاتي كه در‬

‫‪ CSS‬به ما كمك مي كنند‪ ،‬دو صفت ‪ class , id‬هستند‪ .‬با اختصاص دادن اين دو صفت به يك برچسب‬

‫در ‪ HTML‬مي توان ويژگيهاي ‪ CSS‬آنرا به سادگي كنترل كرد‪.‬‬

‫•‬

‫با تعريف يك كلس خاص براي برچسبي ‪ ،‬مي توان آنرا جزو دسته اي قرار داد كه ويژگيهاي ‪CSS‬مشترك‬

‫خاص ي بر روي همگي آنها اعمال شود‪.‬‬

‫•‬

‫با تعريف يك مشخصه منحصره (‪ )Unique Identifier‬براي يك برچسب‪ ،‬مي توان كنترل هاي‬

‫خاص ي از طريق ‪CSS‬و جاوااسكريپت بر روي آن برچسب اعمال كرد‪.‬‬

‫•‬

‫بايد توجه گردد كه ‪ id‬هيچ دو برچسبي در يك سند ‪HTML‬نبايد يكسان باشند‪ ،‬در غير اينصورت نتايج‬

‫قابل پيش بيني نخواهد بود‪.‬‬

*{
font-family: “Tahoma”, “Trebuchet”,”MS Sans Serif”
}
div.Container {
background-color:#777777;
border-width: 1px;
}
P#title {
font-weight:bold;
}
H1 + P {
font-style:italic;
}
input [type=‘button’] {
border-style:none;
}
Body Form > input[type=‘text’] {
text-align:center;
}
DIV P * [title] {
color:#ffffff;
}

‫•‬

‫براي اينكه ‪ CSS‬خاص ي را به چند انتخابگر يكجا اعمال كنيم‪ ،‬مي توانيم آنها را به صورت گروهي قرار‬

‫دهيم‪:‬‬
‫{ ]’‪div.Container , p , input[type=‘text‬‬
‫; ’‪font-family: ‘Tahoma’, ‘Comic Sans MS‬‬
‫}‬

‫•‬
‫• ‪CSS‬با استفاده از عبارات جاوااسكريپت مي تواند مقادير پويا (نسبت به شرايط ‪ )Client‬را به‬
‫در صورتي كه چند دستور يكسان ‪ CSS‬به يك برچسب خاص اعمال شوند‪ ،‬آخرين آنها باقي مي ماند‪.‬‬

‫‪ Property‬ها اعمال كند‪:‬‬
‫;‪Width: expression( document.width /2 )px‬‬

‫مشخصه هاي استاندارد ‪CSS 2‬‬

‫‪o‬‬
‫‪(scroll,fixed)o‬‬

‫‪ : Background‬خلصه اي براي تنظيم تمام مشخصات ‪Background‬‬
‫‪ : Background-Attachement‬وضعيت قرارگيري تصوير در‬

‫‪ ،Background‬در صورتي كه ‪fixed‬باشد‪ ،‬با جابجايي صفحه پشت صفحه آن حركت نخواهد كرد‪.‬‬

‫‪o‬‬
‫‪ :Background-image o‬يا مقدار ‪ none‬مي گيرد و يا با استفاده از )‪URL(adress‬يك آدرس‬
‫)‪ : Background-color (RGB Value‬رنگ پشت صفحه‬

‫فايل تصويري (آدرس وب)‬

‫‪o‬‬
‫‪ :Background-repeato‬در صورتي كه از تصوير استفاده شود‪ ،‬روش تكرار آنرا مشخص مي كند‪.‬‬
‫‪ :Background-position‬مقاديري مانند … ‪top left, center center ,‬‬

‫مقادير مجاز عبارتند از ‪no-repeat, repeat-x,repeat-y,repeat‬‬

‫‪o‬‬
‫‪ :Border-widtho‬عرض حاشيه (ضخامت آن) به عدد‪ ،‬درصد و واحد هاي ديگر اندازه‬
‫‪ :Border-coloro‬رنگ حاشيه به ‪RGB‬‬
‫‪ :Border-styleo‬نوع حاشيه از مقادير ‪none, hidden, dotted, dashed, solid,‬‬
‫‪ :Border‬خلصه اي براي تنظيم مشخصات حاشيه‪ ،‬به ترتيب عرض‪ ،‬نوع و رنگ مي گيرد‪.‬‬

‫‪double, groove, ridge, inset, outset‬‬

‫‪o‬‬

‫براي تغيير تنظيمات مربوط به حاشيه نواحي مختلف (باال‪ ،‬پايين‪ ،‬چپ‪ ،‬راست)مي توانيد از چهار ويژگي باال‬

‫به همراه نام طرف مورد نظر استفاده نماييد‪ ،‬براي مثال‪:‬‬

‫‪o‬‬
‫‪Border-top-coloro‬‬
‫‪Border-bottomo‬‬

‫‪Border-left-width‬‬

o

url(file), auto, ‫ مقادير مجاز عبارتند از‬،‫ شمايل اشاره گر ماوس را معين مي سازد‬:Cursor

crosshair, default, pointer, move, e-resize, ne-resize, nw-resize , nresize, se-resize, sw-resize, s-resize, w-resize , text, wait , help
none, inline, block, list- ‫ مقادير مجاز عبارتند از‬،‫ نحوه نمايش يك برچسب‬:Display

o

item, run-in, compact, marker, table, inline-table , ….

left,

right,

‫ مقادير مجاز عبارتند از‬،‫ گرايش و شناوري يك برچسب به طرفي خاص‬:Float

o

none
Static, Relative, ‫ مقادير مجاز عبارتند از‬،‫ نحوه قرارگيري يك برچسب در يك سند‬:Position

o

Absolute, Fixed

‫‪o‬‬
‫‪ :Line-Heighto‬فاصله بين دو خط متن در سند‬
‫‪ :Max-Heighto‬حداكثر ارتفاعي كه يك برچسب مي تواند داشته باشد‬
‫‪ :Min-Heighto‬حداقل ارتفاع يك برچسب‬
‫‪ :Widtho‬عرض يك برچسب‬
‫‪ :Max-Widtho‬حداكثر عرض يك برچسب‬
‫‪ :Min-Widtho‬حداقل عرض يك برچسب‬
‫‪ :Height‬ارتفاع يك برچسب در سند‪ .‬مشخصه اندازه اي‬

‫‪o‬‬
‫‪ :Font-Familyo‬نام قلم‪ ،‬بهتر است ليستي از قلمها بسته به پشتيباني از سيستم ها انتخاب شود‪.‬‬
‫‪ :Font‬ميانبري براي اعمال مشخصات كامل فونت و قلم‬

‫معموال نوشته هاي فارس ي با قلم ‪ Tahoma‬خوب نمايش داده مي شوند‪.‬‬

‫‪o‬‬

‫‪ :Font-Size‬اندازه قلم‪ .‬هم مي تواند از انواع مقداري قرار داده شود هم مي تواند يكي از مقادير مجاز‬

‫باشد‬

‫‪xx-small, x-small, small, medium, large, x-large, xx-large,‬‬

‫‪smaller, larger‬‬

‫‪o‬‬

‫‪ :Font-Stretch‬كشيدگي فونت (فاصلي افقي مابين حرفهاي آن)يا مقدار عددي يا يكي از مقادير‬

‫‪normal, wider, narrower, ultra-condensed, extra-condensed, condensed,‬‬
‫‪semi-condensed, semi-expanded, expanded, extra-expanded, ultra-expanded‬‬

‫‪o‬‬
‫‪ :Font-Weighto‬يكي از مقادير ‪ normal, bold, bolder, lighter‬و يا مقدار عددي‬
‫‪ :Font-Style‬يكي از مقادير ‪Normal, Italic, Oblique‬‬

o
none , url(file) :List-Style-Imageo
inside, outside :List-style-Positiono
‫ موارد مجاز عبارتند از‬،‫ شكل موارد ليست‬:List-Style-Typeo

‫ موقعيت و تصوير ليست را مي گيرد‬، ‫ نوع‬،‫ به ترتيب‬.‫ ميانبري براي تنظيمات ليست‬:List-Style

none, disc, circle,

square, decimal, decimal-leading-zero, lower-roman, upper-roman,
lower-alpha,

upper-alpha,

lower-greek,

lower-latin,

upper-latin,

hebrew, armenian, georgian, cjk-ideographic, hiragana, katakana,
hiragana-iroha, katakana-iroha

)auto ‫ فاصله علمت از نوشتار (مقدار يا‬:Marker-Offset

o

‫‪o‬‬

‫‪ :Margin‬ميانبري براي تنظيمات كناره‪ .‬به ترتيب اندازه كناره هاي باال‪ ،‬راست‪ ،‬پايين و چپ را مي گيرد‬

‫(ساعتگرد)‬

‫‪o‬‬

‫‪ :Margin-left, Margin-right, Margin-top, Margin-bottom‬مقدار كناره‪ ،‬مقدار يا‬

‫‪auto‬‬

‫‪o‬‬
‫‪ :Padding-left, Padding-right, Padding-top, Padding-bottomo‬مقدار اليي‬
‫‪ :Padding‬ميانبري براي تنظيم مشخصات اليي گذاري‪ ،‬به ترتيب باال‪ ،‬راست‪ ،‬پايين و چپ‬

‫گذاري‪ ،‬مقدار يا ‪auto‬‬

‫‪o‬‬
‫‪ :Outline-coloro‬رنگ خط حاشيه به ‪RGB‬‬
‫‪ :Outline-styleo‬نوع خط حاشيه يك ش يء‪ ،‬انوع مجاز عبارتند از ‪none, dotted, dashed,‬‬
‫‪ :Outline‬ميانبري براي تمام تنظيمات خط حاشيه‪ ،‬به ترتيب رنگ‪ ،‬نوع و عرض‬

‫‪solid , double , groove, ridge, inset, outset‬‬

‫‪o‬‬

‫‪ :Outline-width‬قطوري خط حاشيه‪ ،‬مقدار عددي يا يكي از مقادير ‪thin, thick, medium‬‬

‫‪o‬‬

‫‪ :Overflow‬در صورتي كه محتويات يك برچسب در آن جاي نگيرند‪ ،‬اين مشخصه معين مي سازد كه‬

‫چه اتفاقي بيافتد‪ .‬مقادير مجاز عبارتند از ‪Visible, Hidden, Auto, Scroll‬‬

‫‪o‬‬

‫‪ :Position‬نحوه قرارگيري برچسب نسبت به سند‪ ،‬مقادير مجاز عبارتند از ‪Static, Relative,‬‬

‫‪Absolute, Fixed‬‬

‫‪o‬‬

‫‪ :Vertical-Align‬نحوه قرارگيري عمودي يك برچسب در داخل برچسب پدر خود را مشخص مي كند‪.‬‬

‫مقادير مجاز عبارتند از ‪baseline, sub, super, top, text-top, middle, bottom,‬‬
‫‪ text-bottom‬و يا مقدار عددي‬

‫‪o‬‬

‫‪ :Z-Index‬اولويت قرارگيري در بعد سوم در صفحه (يعني جلو پشت ديگر برچسب ها)‪ Auto .‬يا يك‬

‫عدد‬

‫‪o‬‬

‫‪ :Border-Collapse‬معين مي سازد كه حواش ي جداول جدا باشند و يا يك مجموعه خط بهم‬

‫پيوسته باشند‪ .‬مقادير مجاز ‪Separate , Collapse‬‬

‫‪o‬‬
‫‪ :Empty-Cellsٍo‬مشخص مي كند كه سلول هاي خالي در مدل ‪ Seperate‬نمايش داده شوند و يا‬
‫‪ :Border-Spacing‬فاصله ميان دو حاشيه جدول‪ ،‬تنها در صورتي كه ‪ Seperate‬باشد‪.‬‬

‫خير‪ .‬مقادير مجاز ‪Show/Hide‬‬

‫‪o‬‬

‫‪ :Table Layout‬الگوريتم نحوه نمايش سلولهاي يك جدول‪Auto/Fixed ،‬‬

‫‪o‬‬
‫‪ :Directiono‬جهت متن (و محتويات)يك برچسب را مشخص مي سازد‪ ،‬مقادير مجاز ‪LTR/RTL‬‬
‫‪ :Text-Aligno‬مقادير مجاز ‪Left, Right, Center, Justify‬‬
‫‪ :Text-Decorationo‬افزودن افكتي به متن‪ ،‬مقادير مجاز عبارتند از ‪none, underline,‬‬
‫‪ :Color‬رنگ يك متن را مشخص مي سازد‪RGB ،‬‬

‫‪overline, line-through, blink‬‬

‫‪o‬‬
‫‪ :Word-Spacingo‬فاصله ميان لغات يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Letter-Spacingo‬فاصله ميان حروف يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Text-Indent‬تو رفتگي اولين خط يك متن‪ .‬مقدار عددي‬

‫تسلط كامل بر ‪CSS‬‬

‫‪o‬‬

‫در ‪ CSS‬رنگها را به دو شیوه می توان مشخص کرد‪:‬‬

‫‪o‬‬
‫‪o‬استفاده از نام رنگ‬

‫تعیين مقدار ‪ 24‬بیتی ‪ RGB‬آنها‬

‫‪o‬‬

‫در روش اول ‪ 16‬میلیون رنگ مختلف برای انتخاب وجود دارند‪ ،‬اما در روش دوم حدود ‪ 200‬رنگ با نام‬

‫های مختلف قابل استفاده هستند‪.‬‬

‫‪o‬‬
‫‪o‬برای مشخص کردن رنگ ‪ ،RGB‬پس از قرار دادن علمت ‪ #‬به ترتیب مقدار ‪ R‬و ‪ G‬و ‪ B‬را در مبنای ‪16‬‬
‫برای مشخص کردن رنگ با نام آن‪ ،‬کافیست نام رنگ را بنویسید‪Cyan, Purple :‬‬

‫وارد می کنیم‪#FFFFFF , #00FF00 :‬‬

‫‪o‬‬

‫همچنين می توان برای مشخص کردن رنگ ‪ RGB‬به صورت روبرو عمل کرد‪RGB(100,255,10):‬‬

‫و یا)‪RGB(70%,20%,100%‬‬

‫‪o‬‬

‫تمامی مقادیر اندازه ای در ‪ CSS‬واحد های متفاوتی را می پذیرند‪ .‬پایه ای ترین واحد همان ‪ Pixel‬است‬

‫که با ‪ px‬در انتهای مقدار مشخص می گردد‪ .‬واحدهای دیگر عبارتند از‪:‬‬

‫‪o‬‬
‫‪ :Ino‬اینچ‬
‫‪ :Cmo‬سانتیمتر‬
‫‪ :Mmo‬میلیمتر‬
‫‪ :Emo‬اندازه فونت‬
‫‪ 1/72 :Pto‬اینتچ‬
‫‪pt 12 :Pco‬‬
‫‪ :Pxo‬یک نقطه‬
‫‪ :%‬درصد!‬

‫‪o‬‬

‫شفافیت )‪ (Transparency‬یک عملیات پیچیده برای سیستم هاییست که کارت گرافیکی قدرتمندی‬

‫ندارد و موتور گرافیکی کاوشگر برای پیاده کردن آن بشدت زیر بار قرار می گيرد‪.‬‬

‫‪o‬‬

‫با استفاده از شفافیت می توان جذابیت بصری را بسیار باالتر برد‪ ،‬اما باید دقت داشت که کندی پردازش‬

‫تصویری سایت برای کاربر ایجاد مزاحمت نکند‪.‬‬

‫‪o‬‬
‫‪ o‬برای ایجاد شفافیت در کاوشگرهای استادارد‪ ،‬از ‪ Opacity : .5‬استفاده می شود‪.‬‬
‫‪o‬برای ایجاد شفافیت در ‪ IE‬از )‪ filter:alpha(opacity=50‬استفاده می شود‪.‬‬
‫‪o‬برای اینکه شفافیت در تمامی کاوشگرها درست نمایش داده شود الزم است هردو دستور باال بکار روند‪.‬‬
‫متاسفانه کاوشگر ‪ IE‬برای شفافیت از دستورات خود استفاده می کند که استاندارد نیستند‪.‬‬

‫‪o‬‬

‫کاوشگرهایی مانند ‪ Firefox‬دستورات ‪ CSS‬ویژه ای دارند (البته ‪ IE‬نيز دستورات مخصوص خود را‬

‫داراست) ‪.‬‬

‫‪o‬‬

‫عبارت ‪ –moz-border-radius‬می تواند گوشه های مستطیل ها را از تيزی درآورده و آنها را نرم‬

‫کند‪-moz-border-radius: 5px; :‬‬

‫‪o‬‬

‫استفاده از این عبارت و راه حل های مشابه پیشنهاد نمی شود زیرا این نما تنها در ‪ Firefox‬قابل مشاهده‬

‫خواهد بود‪.‬‬

‫‪o‬‬

‫‪ CSS‬توانایی آنرا داراست که برای رسانه های خاص تفاوت کند! برای مثال می توانید ‪ CSS‬یک سایت‬

‫را طوری تعریف کنید که رنگ نوشته های آن قرمز باشد ولی هنگام پرینت مشکی شود‪.‬‬

‫‪o‬‬

‫برای مشخص کردن اینکه ‪ CSS‬را برای چه رسانه ای می نویسیم‪ ،‬از ‪ @media‬استفاده می کنیم‪:‬‬
‫‪@media screen‬‬
‫};‪* { color:#ff0000‬‬
‫‪@media print‬‬
‫};‪* { color:#000000‬‬

‫رسانه های معمول عبارتند از‪all, braille, handheld, print, projection, screen, tv, :‬‬
‫…‬

‫‪ CSS‬را قورت بده!‬

‫‪o‬‬

‫فایل ‪ HTML‬ای که در تمرینات ‪ HTML‬ساخته اید و تمامی برچسب ها را داراست‪ ،‬با استفاده از تمامی‬

‫برچسب های ‪ CSS‬قالب بندی کنید‪ .‬سعی کنید زیبایی کافی و قالب بندی مناسب برای سند اتفاق بیافتد! در‬

‫داخل سند تنها می توانید برچسبهای ‪ DIV‬و ‪ SPAN‬اضافه کنید و یا به برچسب های موجود ‪ID ,‬‬
‫‪ CLASS‬بیافزایید‪.‬‬

‫‪o‬‬
‫‪o‬آیا می توان با استفاده از ‪ CSS‬منو ساخت؟ اگر بله راه حل را معين کنید‪.‬‬
‫‪o‬مزایا و معایب نوشتن ‪ CSS‬در یک فایل جداگانه را برشمارید‪.‬‬
‫‪o‬با استفاده از ‪ CSS‬یک ‪ taskbar‬برای یک صفحه بسازید که همواره در قسمت پایين پنجره کاوشگر‬
‫بدون استفاده از جداول و تنها با استفاده از ‪ CSS‬یک صفحه سه ستونی (مانند ‪ )SBCE.ir‬بسازید‪.‬‬

‫(نه لزوما انتهای سند) باشد‪.‬‬


Slide 17

‫کارگاه آموزش ی توسعه وب‬
‫بخش دوم ‪CSS -‬‬

‫ارائه‪ :‬عباس نادری‬
‫انجمن علمی دانشجویی‬
‫مهندس ی کامپیوتر‬
‫نسخه ‪1‬‬

‫دانشگاه شهید بهشتی‬

‫‪ CSS‬چیست ؟‬

‫•‬
‫•معمول ترین استفاده ‪ CSS‬برای قالب بندی اسناد وب )‪ (HTML‬منظور می شود‪.‬‬
‫•با پیچیده شدن وب ها‪ ،‬تصمیم بر آن شد تا محتوا از قالب بندی تفکیک شود و توسعه وب تسهیل‬
‫‪ CSS‬یا ‪ Casacading Style Sheets‬یک استاندارد قالب بندی ظاهری اسناد است‪.‬‬

‫گردد‪.‬‬

‫•‬

‫‪ CSS‬سه نسخه اصلی دارد‪:‬‬

‫•‬
‫•‪ :CSS 2‬در سال ‪ 1998‬توسط ‪ W3C‬استاندارد شد و هنوز به عنوان استاندارد بکار می رود‪.‬‬
‫•‪ :CSS 3‬هنوز در دست توسعه توسط ‪ W3C‬است‪.‬‬
‫‪ :CSS 1‬در سال ‪ 1996‬توسط ‪ W3C‬استاندارد شد‪.‬‬

‫•‬

‫‪ CSS‬به دلیل امکان استفاده مجدد‪ ،‬به شدت توسعه وب را ساده و سریع می کند‪ .‬همچنین قالب‬

‫بندی صفحات با استفاده از آن در قالب تیمی مقدور خواهد بود‪.‬‬

‫•‬

‫‪ CSS‬از طریق انتخابگرها قالب بندی را سرعت می بخشد‪ .‬همچنین از موتور انتخابگر ‪ CSS‬در‬

‫کاربردهای دیگر بهره فراوان برده می شود‪.‬‬

‫•‬

‫‪ :Layout Engine‬برنامه ایست در کاوشگرها که سند ‪ HTML‬و فایل ‪ CSS‬را دریافت کرده‪،‬‬

‫خروجی گرافیکی بر روی صفحه تولید می نماید‪.‬‬

‫•‬

‫‪ :Selector Engine‬موتوریست بر روی کاوشگر که زیرمجموعه ای از برچسب های ‪ HTML‬را‬

‫انتخاب می کند‪.‬‬

:‫ با چند مثال آنرا بررس ی می کنیم‬،‫ گرامر بسیار ساده ای دارد‬CSS
Template:
Selection {
Property: value;
Property: value;
//Comment /*Comment */
}
Example:
div.main {
background-color:#777777;
border-width: 1px;
border-style: solid;
font-family: ‘Tahoma’;
}



‫•‬
‫•در سه جای مختلف می توان از ‪ CSS‬استفاده کرد‪:‬‬

‫‪ CSS‬جزئیات گرامری مختلفی نیز دارد که در طی این ارائه با آنها بیشتر آشنا خواهیم شد‪.‬‬

‫•‬
‫•برچسب های ‪ Style‬در داخل فایل ‪ :HTML‬می توان با افزودن برچسب ‪ Style‬در ‪Head‬یا ‪Body‬‬
‫فایل های ‪ :CSS‬می توان ‪ CSS‬را در فایلی جداگانه نوشت و آنرا در ‪ HTML‬افزود‪.‬‬

‫یک سند‪ CSS ،‬تعریف کرد‪.‬‬

‫•‬

‫صفت ‪ Style‬برای برچسب ها‪ :‬می توان در یکی از صفتهای هر برچسب‪ CSS ،‬آنرا تعریف کرد‪ .‬در این‬

‫حالت دیگر انتخابگر مطرح نیست و قالب بندی تنها برای آن برچسب اعمال می شود‪.‬‬

‫•‬
‫•استفاده از حالت سوم (‪ )Inline CSS‬توصیه نمی شود و جدابودن محتوی از قالب را زیر سوال می‬
‫سه نوع تعریف ‪ CSS‬می توانند همزمان باشند‪ .‬اولویت آنها به ترتیب افزایش می یابد‪.‬‬

‫برد‪ ،‬اما در جاهای خاص ی استفاده از آن کار را راحتتر می کند‪.‬‬

:HTML ‫ جدا و استفاده از آن در‬CSS ‫تعریف در فایل‬
//SomeFile.css
input[text] {
width:200px;
background-color:#000000;
border:solid 0px;
}







:HTML ‫ در بدنه سند‬CSS ‫تعریف‬






:‫ در صفت یک برچسب‬CSS ‫تعریف‬


This is some text with tahoma font






‫چگونگی انتخاب برچسبها‬

‫•‬

‫براي مشخص كردن اينكه يك ‪ CSS‬به كدامين اشياء يك صفحه اعمال شود‪ ،‬بايد از انتخابگرها استفاده‬

‫نمود‪ .‬هر انتخاب گر يك يا چند ش يء در يك صفحه ‪ HTML‬را انتخاب مي كند و سپس مي توان قالب هاي‬

‫مورد نظر را به آن اعمال كرد‪.‬‬

‫•‬

‫انتخابگرهاي ‪ CSS‬تنوع و قدرت به سزايي دارند بنابراين در اين بخش در حدي كه نيازهاي اوليه مرتفع‬

‫شوند آنها را بررس ي خواهيم كرد‪.‬‬

‫•‬

‫انتخابگر ها در دو نحوه اوليه تعريف ‪ CSS‬ها قابل استفاده هستند به قالب زير‪:‬‬
‫{ ‪SelectorStatement‬‬
‫;‪Css Properties & Values‬‬

‫}‬

‫انتخاب تمام برچسب ها ‪* :‬‬
‫انتخاب برچسب هاي خاص‪tagName :‬‬
‫انتخاب برچسبي از زيربرچسب هاي يك برچسب ديگر‪ParentTag DescendantTag :‬‬
‫انتخاب برچسبي از فرزندان يك برچسب ديگر ‪ParentTag > ChildTag :‬‬
‫انتخاب برچسبي بعد از يك برچسب ديگر‪Tag1 + Tag2 :‬‬
‫انتخاب برچسبي با صفتي خاص‪Tag[attrib=“value”] :‬‬
‫آنتخاب يك برچسب در وضعيت هاي خاص‪:‬‬
‫لينك ديده نشده ‪Tag:link‬‬

‫برچسبي كه ماوس رويش است ‪Tag:hover‬‬

‫لينك ديده شده ‪Tag:visited‬‬

‫برچسب درحال كليك ‪Tag:active‬‬
‫برچسب فعال صفحه ‪Tag:focus‬‬

‫•‬

‫همانطور كه قبل ذكر شد‪ ،‬هر بچسب در ‪ HTML‬مي تواند صفات خاص ي را داشته باشد‪ .‬صفاتي كه در‬

‫‪ CSS‬به ما كمك مي كنند‪ ،‬دو صفت ‪ class , id‬هستند‪ .‬با اختصاص دادن اين دو صفت به يك برچسب‬

‫در ‪ HTML‬مي توان ويژگيهاي ‪ CSS‬آنرا به سادگي كنترل كرد‪.‬‬

‫•‬

‫با تعريف يك كلس خاص براي برچسبي ‪ ،‬مي توان آنرا جزو دسته اي قرار داد كه ويژگيهاي ‪CSS‬مشترك‬

‫خاص ي بر روي همگي آنها اعمال شود‪.‬‬

‫•‬

‫با تعريف يك مشخصه منحصره (‪ )Unique Identifier‬براي يك برچسب‪ ،‬مي توان كنترل هاي‬

‫خاص ي از طريق ‪CSS‬و جاوااسكريپت بر روي آن برچسب اعمال كرد‪.‬‬

‫•‬

‫بايد توجه گردد كه ‪ id‬هيچ دو برچسبي در يك سند ‪HTML‬نبايد يكسان باشند‪ ،‬در غير اينصورت نتايج‬

‫قابل پيش بيني نخواهد بود‪.‬‬

*{
font-family: “Tahoma”, “Trebuchet”,”MS Sans Serif”
}
div.Container {
background-color:#777777;
border-width: 1px;
}
P#title {
font-weight:bold;
}
H1 + P {
font-style:italic;
}
input [type=‘button’] {
border-style:none;
}
Body Form > input[type=‘text’] {
text-align:center;
}
DIV P * [title] {
color:#ffffff;
}

‫•‬

‫براي اينكه ‪ CSS‬خاص ي را به چند انتخابگر يكجا اعمال كنيم‪ ،‬مي توانيم آنها را به صورت گروهي قرار‬

‫دهيم‪:‬‬
‫{ ]’‪div.Container , p , input[type=‘text‬‬
‫; ’‪font-family: ‘Tahoma’, ‘Comic Sans MS‬‬
‫}‬

‫•‬
‫• ‪CSS‬با استفاده از عبارات جاوااسكريپت مي تواند مقادير پويا (نسبت به شرايط ‪ )Client‬را به‬
‫در صورتي كه چند دستور يكسان ‪ CSS‬به يك برچسب خاص اعمال شوند‪ ،‬آخرين آنها باقي مي ماند‪.‬‬

‫‪ Property‬ها اعمال كند‪:‬‬
‫;‪Width: expression( document.width /2 )px‬‬

‫مشخصه هاي استاندارد ‪CSS 2‬‬

‫‪o‬‬
‫‪(scroll,fixed)o‬‬

‫‪ : Background‬خلصه اي براي تنظيم تمام مشخصات ‪Background‬‬
‫‪ : Background-Attachement‬وضعيت قرارگيري تصوير در‬

‫‪ ،Background‬در صورتي كه ‪fixed‬باشد‪ ،‬با جابجايي صفحه پشت صفحه آن حركت نخواهد كرد‪.‬‬

‫‪o‬‬
‫‪ :Background-image o‬يا مقدار ‪ none‬مي گيرد و يا با استفاده از )‪URL(adress‬يك آدرس‬
‫)‪ : Background-color (RGB Value‬رنگ پشت صفحه‬

‫فايل تصويري (آدرس وب)‬

‫‪o‬‬
‫‪ :Background-repeato‬در صورتي كه از تصوير استفاده شود‪ ،‬روش تكرار آنرا مشخص مي كند‪.‬‬
‫‪ :Background-position‬مقاديري مانند … ‪top left, center center ,‬‬

‫مقادير مجاز عبارتند از ‪no-repeat, repeat-x,repeat-y,repeat‬‬

‫‪o‬‬
‫‪ :Border-widtho‬عرض حاشيه (ضخامت آن) به عدد‪ ،‬درصد و واحد هاي ديگر اندازه‬
‫‪ :Border-coloro‬رنگ حاشيه به ‪RGB‬‬
‫‪ :Border-styleo‬نوع حاشيه از مقادير ‪none, hidden, dotted, dashed, solid,‬‬
‫‪ :Border‬خلصه اي براي تنظيم مشخصات حاشيه‪ ،‬به ترتيب عرض‪ ،‬نوع و رنگ مي گيرد‪.‬‬

‫‪double, groove, ridge, inset, outset‬‬

‫‪o‬‬

‫براي تغيير تنظيمات مربوط به حاشيه نواحي مختلف (باال‪ ،‬پايين‪ ،‬چپ‪ ،‬راست)مي توانيد از چهار ويژگي باال‬

‫به همراه نام طرف مورد نظر استفاده نماييد‪ ،‬براي مثال‪:‬‬

‫‪o‬‬
‫‪Border-top-coloro‬‬
‫‪Border-bottomo‬‬

‫‪Border-left-width‬‬

o

url(file), auto, ‫ مقادير مجاز عبارتند از‬،‫ شمايل اشاره گر ماوس را معين مي سازد‬:Cursor

crosshair, default, pointer, move, e-resize, ne-resize, nw-resize , nresize, se-resize, sw-resize, s-resize, w-resize , text, wait , help
none, inline, block, list- ‫ مقادير مجاز عبارتند از‬،‫ نحوه نمايش يك برچسب‬:Display

o

item, run-in, compact, marker, table, inline-table , ….

left,

right,

‫ مقادير مجاز عبارتند از‬،‫ گرايش و شناوري يك برچسب به طرفي خاص‬:Float

o

none
Static, Relative, ‫ مقادير مجاز عبارتند از‬،‫ نحوه قرارگيري يك برچسب در يك سند‬:Position

o

Absolute, Fixed

‫‪o‬‬
‫‪ :Line-Heighto‬فاصله بين دو خط متن در سند‬
‫‪ :Max-Heighto‬حداكثر ارتفاعي كه يك برچسب مي تواند داشته باشد‬
‫‪ :Min-Heighto‬حداقل ارتفاع يك برچسب‬
‫‪ :Widtho‬عرض يك برچسب‬
‫‪ :Max-Widtho‬حداكثر عرض يك برچسب‬
‫‪ :Min-Widtho‬حداقل عرض يك برچسب‬
‫‪ :Height‬ارتفاع يك برچسب در سند‪ .‬مشخصه اندازه اي‬

‫‪o‬‬
‫‪ :Font-Familyo‬نام قلم‪ ،‬بهتر است ليستي از قلمها بسته به پشتيباني از سيستم ها انتخاب شود‪.‬‬
‫‪ :Font‬ميانبري براي اعمال مشخصات كامل فونت و قلم‬

‫معموال نوشته هاي فارس ي با قلم ‪ Tahoma‬خوب نمايش داده مي شوند‪.‬‬

‫‪o‬‬

‫‪ :Font-Size‬اندازه قلم‪ .‬هم مي تواند از انواع مقداري قرار داده شود هم مي تواند يكي از مقادير مجاز‬

‫باشد‬

‫‪xx-small, x-small, small, medium, large, x-large, xx-large,‬‬

‫‪smaller, larger‬‬

‫‪o‬‬

‫‪ :Font-Stretch‬كشيدگي فونت (فاصلي افقي مابين حرفهاي آن)يا مقدار عددي يا يكي از مقادير‬

‫‪normal, wider, narrower, ultra-condensed, extra-condensed, condensed,‬‬
‫‪semi-condensed, semi-expanded, expanded, extra-expanded, ultra-expanded‬‬

‫‪o‬‬
‫‪ :Font-Weighto‬يكي از مقادير ‪ normal, bold, bolder, lighter‬و يا مقدار عددي‬
‫‪ :Font-Style‬يكي از مقادير ‪Normal, Italic, Oblique‬‬

o
none , url(file) :List-Style-Imageo
inside, outside :List-style-Positiono
‫ موارد مجاز عبارتند از‬،‫ شكل موارد ليست‬:List-Style-Typeo

‫ موقعيت و تصوير ليست را مي گيرد‬، ‫ نوع‬،‫ به ترتيب‬.‫ ميانبري براي تنظيمات ليست‬:List-Style

none, disc, circle,

square, decimal, decimal-leading-zero, lower-roman, upper-roman,
lower-alpha,

upper-alpha,

lower-greek,

lower-latin,

upper-latin,

hebrew, armenian, georgian, cjk-ideographic, hiragana, katakana,
hiragana-iroha, katakana-iroha

)auto ‫ فاصله علمت از نوشتار (مقدار يا‬:Marker-Offset

o

‫‪o‬‬

‫‪ :Margin‬ميانبري براي تنظيمات كناره‪ .‬به ترتيب اندازه كناره هاي باال‪ ،‬راست‪ ،‬پايين و چپ را مي گيرد‬

‫(ساعتگرد)‬

‫‪o‬‬

‫‪ :Margin-left, Margin-right, Margin-top, Margin-bottom‬مقدار كناره‪ ،‬مقدار يا‬

‫‪auto‬‬

‫‪o‬‬
‫‪ :Padding-left, Padding-right, Padding-top, Padding-bottomo‬مقدار اليي‬
‫‪ :Padding‬ميانبري براي تنظيم مشخصات اليي گذاري‪ ،‬به ترتيب باال‪ ،‬راست‪ ،‬پايين و چپ‬

‫گذاري‪ ،‬مقدار يا ‪auto‬‬

‫‪o‬‬
‫‪ :Outline-coloro‬رنگ خط حاشيه به ‪RGB‬‬
‫‪ :Outline-styleo‬نوع خط حاشيه يك ش يء‪ ،‬انوع مجاز عبارتند از ‪none, dotted, dashed,‬‬
‫‪ :Outline‬ميانبري براي تمام تنظيمات خط حاشيه‪ ،‬به ترتيب رنگ‪ ،‬نوع و عرض‬

‫‪solid , double , groove, ridge, inset, outset‬‬

‫‪o‬‬

‫‪ :Outline-width‬قطوري خط حاشيه‪ ،‬مقدار عددي يا يكي از مقادير ‪thin, thick, medium‬‬

‫‪o‬‬

‫‪ :Overflow‬در صورتي كه محتويات يك برچسب در آن جاي نگيرند‪ ،‬اين مشخصه معين مي سازد كه‬

‫چه اتفاقي بيافتد‪ .‬مقادير مجاز عبارتند از ‪Visible, Hidden, Auto, Scroll‬‬

‫‪o‬‬

‫‪ :Position‬نحوه قرارگيري برچسب نسبت به سند‪ ،‬مقادير مجاز عبارتند از ‪Static, Relative,‬‬

‫‪Absolute, Fixed‬‬

‫‪o‬‬

‫‪ :Vertical-Align‬نحوه قرارگيري عمودي يك برچسب در داخل برچسب پدر خود را مشخص مي كند‪.‬‬

‫مقادير مجاز عبارتند از ‪baseline, sub, super, top, text-top, middle, bottom,‬‬
‫‪ text-bottom‬و يا مقدار عددي‬

‫‪o‬‬

‫‪ :Z-Index‬اولويت قرارگيري در بعد سوم در صفحه (يعني جلو پشت ديگر برچسب ها)‪ Auto .‬يا يك‬

‫عدد‬

‫‪o‬‬

‫‪ :Border-Collapse‬معين مي سازد كه حواش ي جداول جدا باشند و يا يك مجموعه خط بهم‬

‫پيوسته باشند‪ .‬مقادير مجاز ‪Separate , Collapse‬‬

‫‪o‬‬
‫‪ :Empty-Cellsٍo‬مشخص مي كند كه سلول هاي خالي در مدل ‪ Seperate‬نمايش داده شوند و يا‬
‫‪ :Border-Spacing‬فاصله ميان دو حاشيه جدول‪ ،‬تنها در صورتي كه ‪ Seperate‬باشد‪.‬‬

‫خير‪ .‬مقادير مجاز ‪Show/Hide‬‬

‫‪o‬‬

‫‪ :Table Layout‬الگوريتم نحوه نمايش سلولهاي يك جدول‪Auto/Fixed ،‬‬

‫‪o‬‬
‫‪ :Directiono‬جهت متن (و محتويات)يك برچسب را مشخص مي سازد‪ ،‬مقادير مجاز ‪LTR/RTL‬‬
‫‪ :Text-Aligno‬مقادير مجاز ‪Left, Right, Center, Justify‬‬
‫‪ :Text-Decorationo‬افزودن افكتي به متن‪ ،‬مقادير مجاز عبارتند از ‪none, underline,‬‬
‫‪ :Color‬رنگ يك متن را مشخص مي سازد‪RGB ،‬‬

‫‪overline, line-through, blink‬‬

‫‪o‬‬
‫‪ :Word-Spacingo‬فاصله ميان لغات يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Letter-Spacingo‬فاصله ميان حروف يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Text-Indent‬تو رفتگي اولين خط يك متن‪ .‬مقدار عددي‬

‫تسلط كامل بر ‪CSS‬‬

‫‪o‬‬

‫در ‪ CSS‬رنگها را به دو شیوه می توان مشخص کرد‪:‬‬

‫‪o‬‬
‫‪o‬استفاده از نام رنگ‬

‫تعیين مقدار ‪ 24‬بیتی ‪ RGB‬آنها‬

‫‪o‬‬

‫در روش اول ‪ 16‬میلیون رنگ مختلف برای انتخاب وجود دارند‪ ،‬اما در روش دوم حدود ‪ 200‬رنگ با نام‬

‫های مختلف قابل استفاده هستند‪.‬‬

‫‪o‬‬
‫‪o‬برای مشخص کردن رنگ ‪ ،RGB‬پس از قرار دادن علمت ‪ #‬به ترتیب مقدار ‪ R‬و ‪ G‬و ‪ B‬را در مبنای ‪16‬‬
‫برای مشخص کردن رنگ با نام آن‪ ،‬کافیست نام رنگ را بنویسید‪Cyan, Purple :‬‬

‫وارد می کنیم‪#FFFFFF , #00FF00 :‬‬

‫‪o‬‬

‫همچنين می توان برای مشخص کردن رنگ ‪ RGB‬به صورت روبرو عمل کرد‪RGB(100,255,10):‬‬

‫و یا)‪RGB(70%,20%,100%‬‬

‫‪o‬‬

‫تمامی مقادیر اندازه ای در ‪ CSS‬واحد های متفاوتی را می پذیرند‪ .‬پایه ای ترین واحد همان ‪ Pixel‬است‬

‫که با ‪ px‬در انتهای مقدار مشخص می گردد‪ .‬واحدهای دیگر عبارتند از‪:‬‬

‫‪o‬‬
‫‪ :Ino‬اینچ‬
‫‪ :Cmo‬سانتیمتر‬
‫‪ :Mmo‬میلیمتر‬
‫‪ :Emo‬اندازه فونت‬
‫‪ 1/72 :Pto‬اینتچ‬
‫‪pt 12 :Pco‬‬
‫‪ :Pxo‬یک نقطه‬
‫‪ :%‬درصد!‬

‫‪o‬‬

‫شفافیت )‪ (Transparency‬یک عملیات پیچیده برای سیستم هاییست که کارت گرافیکی قدرتمندی‬

‫ندارد و موتور گرافیکی کاوشگر برای پیاده کردن آن بشدت زیر بار قرار می گيرد‪.‬‬

‫‪o‬‬

‫با استفاده از شفافیت می توان جذابیت بصری را بسیار باالتر برد‪ ،‬اما باید دقت داشت که کندی پردازش‬

‫تصویری سایت برای کاربر ایجاد مزاحمت نکند‪.‬‬

‫‪o‬‬
‫‪ o‬برای ایجاد شفافیت در کاوشگرهای استادارد‪ ،‬از ‪ Opacity : .5‬استفاده می شود‪.‬‬
‫‪o‬برای ایجاد شفافیت در ‪ IE‬از )‪ filter:alpha(opacity=50‬استفاده می شود‪.‬‬
‫‪o‬برای اینکه شفافیت در تمامی کاوشگرها درست نمایش داده شود الزم است هردو دستور باال بکار روند‪.‬‬
‫متاسفانه کاوشگر ‪ IE‬برای شفافیت از دستورات خود استفاده می کند که استاندارد نیستند‪.‬‬

‫‪o‬‬

‫کاوشگرهایی مانند ‪ Firefox‬دستورات ‪ CSS‬ویژه ای دارند (البته ‪ IE‬نيز دستورات مخصوص خود را‬

‫داراست) ‪.‬‬

‫‪o‬‬

‫عبارت ‪ –moz-border-radius‬می تواند گوشه های مستطیل ها را از تيزی درآورده و آنها را نرم‬

‫کند‪-moz-border-radius: 5px; :‬‬

‫‪o‬‬

‫استفاده از این عبارت و راه حل های مشابه پیشنهاد نمی شود زیرا این نما تنها در ‪ Firefox‬قابل مشاهده‬

‫خواهد بود‪.‬‬

‫‪o‬‬

‫‪ CSS‬توانایی آنرا داراست که برای رسانه های خاص تفاوت کند! برای مثال می توانید ‪ CSS‬یک سایت‬

‫را طوری تعریف کنید که رنگ نوشته های آن قرمز باشد ولی هنگام پرینت مشکی شود‪.‬‬

‫‪o‬‬

‫برای مشخص کردن اینکه ‪ CSS‬را برای چه رسانه ای می نویسیم‪ ،‬از ‪ @media‬استفاده می کنیم‪:‬‬
‫‪@media screen‬‬
‫};‪* { color:#ff0000‬‬
‫‪@media print‬‬
‫};‪* { color:#000000‬‬

‫رسانه های معمول عبارتند از‪all, braille, handheld, print, projection, screen, tv, :‬‬
‫…‬

‫‪ CSS‬را قورت بده!‬

‫‪o‬‬

‫فایل ‪ HTML‬ای که در تمرینات ‪ HTML‬ساخته اید و تمامی برچسب ها را داراست‪ ،‬با استفاده از تمامی‬

‫برچسب های ‪ CSS‬قالب بندی کنید‪ .‬سعی کنید زیبایی کافی و قالب بندی مناسب برای سند اتفاق بیافتد! در‬

‫داخل سند تنها می توانید برچسبهای ‪ DIV‬و ‪ SPAN‬اضافه کنید و یا به برچسب های موجود ‪ID ,‬‬
‫‪ CLASS‬بیافزایید‪.‬‬

‫‪o‬‬
‫‪o‬آیا می توان با استفاده از ‪ CSS‬منو ساخت؟ اگر بله راه حل را معين کنید‪.‬‬
‫‪o‬مزایا و معایب نوشتن ‪ CSS‬در یک فایل جداگانه را برشمارید‪.‬‬
‫‪o‬با استفاده از ‪ CSS‬یک ‪ taskbar‬برای یک صفحه بسازید که همواره در قسمت پایين پنجره کاوشگر‬
‫بدون استفاده از جداول و تنها با استفاده از ‪ CSS‬یک صفحه سه ستونی (مانند ‪ )SBCE.ir‬بسازید‪.‬‬

‫(نه لزوما انتهای سند) باشد‪.‬‬


Slide 18

‫کارگاه آموزش ی توسعه وب‬
‫بخش دوم ‪CSS -‬‬

‫ارائه‪ :‬عباس نادری‬
‫انجمن علمی دانشجویی‬
‫مهندس ی کامپیوتر‬
‫نسخه ‪1‬‬

‫دانشگاه شهید بهشتی‬

‫‪ CSS‬چیست ؟‬

‫•‬
‫•معمول ترین استفاده ‪ CSS‬برای قالب بندی اسناد وب )‪ (HTML‬منظور می شود‪.‬‬
‫•با پیچیده شدن وب ها‪ ،‬تصمیم بر آن شد تا محتوا از قالب بندی تفکیک شود و توسعه وب تسهیل‬
‫‪ CSS‬یا ‪ Casacading Style Sheets‬یک استاندارد قالب بندی ظاهری اسناد است‪.‬‬

‫گردد‪.‬‬

‫•‬

‫‪ CSS‬سه نسخه اصلی دارد‪:‬‬

‫•‬
‫•‪ :CSS 2‬در سال ‪ 1998‬توسط ‪ W3C‬استاندارد شد و هنوز به عنوان استاندارد بکار می رود‪.‬‬
‫•‪ :CSS 3‬هنوز در دست توسعه توسط ‪ W3C‬است‪.‬‬
‫‪ :CSS 1‬در سال ‪ 1996‬توسط ‪ W3C‬استاندارد شد‪.‬‬

‫•‬

‫‪ CSS‬به دلیل امکان استفاده مجدد‪ ،‬به شدت توسعه وب را ساده و سریع می کند‪ .‬همچنین قالب‬

‫بندی صفحات با استفاده از آن در قالب تیمی مقدور خواهد بود‪.‬‬

‫•‬

‫‪ CSS‬از طریق انتخابگرها قالب بندی را سرعت می بخشد‪ .‬همچنین از موتور انتخابگر ‪ CSS‬در‬

‫کاربردهای دیگر بهره فراوان برده می شود‪.‬‬

‫•‬

‫‪ :Layout Engine‬برنامه ایست در کاوشگرها که سند ‪ HTML‬و فایل ‪ CSS‬را دریافت کرده‪،‬‬

‫خروجی گرافیکی بر روی صفحه تولید می نماید‪.‬‬

‫•‬

‫‪ :Selector Engine‬موتوریست بر روی کاوشگر که زیرمجموعه ای از برچسب های ‪ HTML‬را‬

‫انتخاب می کند‪.‬‬

:‫ با چند مثال آنرا بررس ی می کنیم‬،‫ گرامر بسیار ساده ای دارد‬CSS
Template:
Selection {
Property: value;
Property: value;
//Comment /*Comment */
}
Example:
div.main {
background-color:#777777;
border-width: 1px;
border-style: solid;
font-family: ‘Tahoma’;
}



‫•‬
‫•در سه جای مختلف می توان از ‪ CSS‬استفاده کرد‪:‬‬

‫‪ CSS‬جزئیات گرامری مختلفی نیز دارد که در طی این ارائه با آنها بیشتر آشنا خواهیم شد‪.‬‬

‫•‬
‫•برچسب های ‪ Style‬در داخل فایل ‪ :HTML‬می توان با افزودن برچسب ‪ Style‬در ‪Head‬یا ‪Body‬‬
‫فایل های ‪ :CSS‬می توان ‪ CSS‬را در فایلی جداگانه نوشت و آنرا در ‪ HTML‬افزود‪.‬‬

‫یک سند‪ CSS ،‬تعریف کرد‪.‬‬

‫•‬

‫صفت ‪ Style‬برای برچسب ها‪ :‬می توان در یکی از صفتهای هر برچسب‪ CSS ،‬آنرا تعریف کرد‪ .‬در این‬

‫حالت دیگر انتخابگر مطرح نیست و قالب بندی تنها برای آن برچسب اعمال می شود‪.‬‬

‫•‬
‫•استفاده از حالت سوم (‪ )Inline CSS‬توصیه نمی شود و جدابودن محتوی از قالب را زیر سوال می‬
‫سه نوع تعریف ‪ CSS‬می توانند همزمان باشند‪ .‬اولویت آنها به ترتیب افزایش می یابد‪.‬‬

‫برد‪ ،‬اما در جاهای خاص ی استفاده از آن کار را راحتتر می کند‪.‬‬

:HTML ‫ جدا و استفاده از آن در‬CSS ‫تعریف در فایل‬
//SomeFile.css
input[text] {
width:200px;
background-color:#000000;
border:solid 0px;
}







:HTML ‫ در بدنه سند‬CSS ‫تعریف‬






:‫ در صفت یک برچسب‬CSS ‫تعریف‬


This is some text with tahoma font






‫چگونگی انتخاب برچسبها‬

‫•‬

‫براي مشخص كردن اينكه يك ‪ CSS‬به كدامين اشياء يك صفحه اعمال شود‪ ،‬بايد از انتخابگرها استفاده‬

‫نمود‪ .‬هر انتخاب گر يك يا چند ش يء در يك صفحه ‪ HTML‬را انتخاب مي كند و سپس مي توان قالب هاي‬

‫مورد نظر را به آن اعمال كرد‪.‬‬

‫•‬

‫انتخابگرهاي ‪ CSS‬تنوع و قدرت به سزايي دارند بنابراين در اين بخش در حدي كه نيازهاي اوليه مرتفع‬

‫شوند آنها را بررس ي خواهيم كرد‪.‬‬

‫•‬

‫انتخابگر ها در دو نحوه اوليه تعريف ‪ CSS‬ها قابل استفاده هستند به قالب زير‪:‬‬
‫{ ‪SelectorStatement‬‬
‫;‪Css Properties & Values‬‬

‫}‬

‫انتخاب تمام برچسب ها ‪* :‬‬
‫انتخاب برچسب هاي خاص‪tagName :‬‬
‫انتخاب برچسبي از زيربرچسب هاي يك برچسب ديگر‪ParentTag DescendantTag :‬‬
‫انتخاب برچسبي از فرزندان يك برچسب ديگر ‪ParentTag > ChildTag :‬‬
‫انتخاب برچسبي بعد از يك برچسب ديگر‪Tag1 + Tag2 :‬‬
‫انتخاب برچسبي با صفتي خاص‪Tag[attrib=“value”] :‬‬
‫آنتخاب يك برچسب در وضعيت هاي خاص‪:‬‬
‫لينك ديده نشده ‪Tag:link‬‬

‫برچسبي كه ماوس رويش است ‪Tag:hover‬‬

‫لينك ديده شده ‪Tag:visited‬‬

‫برچسب درحال كليك ‪Tag:active‬‬
‫برچسب فعال صفحه ‪Tag:focus‬‬

‫•‬

‫همانطور كه قبل ذكر شد‪ ،‬هر بچسب در ‪ HTML‬مي تواند صفات خاص ي را داشته باشد‪ .‬صفاتي كه در‬

‫‪ CSS‬به ما كمك مي كنند‪ ،‬دو صفت ‪ class , id‬هستند‪ .‬با اختصاص دادن اين دو صفت به يك برچسب‬

‫در ‪ HTML‬مي توان ويژگيهاي ‪ CSS‬آنرا به سادگي كنترل كرد‪.‬‬

‫•‬

‫با تعريف يك كلس خاص براي برچسبي ‪ ،‬مي توان آنرا جزو دسته اي قرار داد كه ويژگيهاي ‪CSS‬مشترك‬

‫خاص ي بر روي همگي آنها اعمال شود‪.‬‬

‫•‬

‫با تعريف يك مشخصه منحصره (‪ )Unique Identifier‬براي يك برچسب‪ ،‬مي توان كنترل هاي‬

‫خاص ي از طريق ‪CSS‬و جاوااسكريپت بر روي آن برچسب اعمال كرد‪.‬‬

‫•‬

‫بايد توجه گردد كه ‪ id‬هيچ دو برچسبي در يك سند ‪HTML‬نبايد يكسان باشند‪ ،‬در غير اينصورت نتايج‬

‫قابل پيش بيني نخواهد بود‪.‬‬

*{
font-family: “Tahoma”, “Trebuchet”,”MS Sans Serif”
}
div.Container {
background-color:#777777;
border-width: 1px;
}
P#title {
font-weight:bold;
}
H1 + P {
font-style:italic;
}
input [type=‘button’] {
border-style:none;
}
Body Form > input[type=‘text’] {
text-align:center;
}
DIV P * [title] {
color:#ffffff;
}

‫•‬

‫براي اينكه ‪ CSS‬خاص ي را به چند انتخابگر يكجا اعمال كنيم‪ ،‬مي توانيم آنها را به صورت گروهي قرار‬

‫دهيم‪:‬‬
‫{ ]’‪div.Container , p , input[type=‘text‬‬
‫; ’‪font-family: ‘Tahoma’, ‘Comic Sans MS‬‬
‫}‬

‫•‬
‫• ‪CSS‬با استفاده از عبارات جاوااسكريپت مي تواند مقادير پويا (نسبت به شرايط ‪ )Client‬را به‬
‫در صورتي كه چند دستور يكسان ‪ CSS‬به يك برچسب خاص اعمال شوند‪ ،‬آخرين آنها باقي مي ماند‪.‬‬

‫‪ Property‬ها اعمال كند‪:‬‬
‫;‪Width: expression( document.width /2 )px‬‬

‫مشخصه هاي استاندارد ‪CSS 2‬‬

‫‪o‬‬
‫‪(scroll,fixed)o‬‬

‫‪ : Background‬خلصه اي براي تنظيم تمام مشخصات ‪Background‬‬
‫‪ : Background-Attachement‬وضعيت قرارگيري تصوير در‬

‫‪ ،Background‬در صورتي كه ‪fixed‬باشد‪ ،‬با جابجايي صفحه پشت صفحه آن حركت نخواهد كرد‪.‬‬

‫‪o‬‬
‫‪ :Background-image o‬يا مقدار ‪ none‬مي گيرد و يا با استفاده از )‪URL(adress‬يك آدرس‬
‫)‪ : Background-color (RGB Value‬رنگ پشت صفحه‬

‫فايل تصويري (آدرس وب)‬

‫‪o‬‬
‫‪ :Background-repeato‬در صورتي كه از تصوير استفاده شود‪ ،‬روش تكرار آنرا مشخص مي كند‪.‬‬
‫‪ :Background-position‬مقاديري مانند … ‪top left, center center ,‬‬

‫مقادير مجاز عبارتند از ‪no-repeat, repeat-x,repeat-y,repeat‬‬

‫‪o‬‬
‫‪ :Border-widtho‬عرض حاشيه (ضخامت آن) به عدد‪ ،‬درصد و واحد هاي ديگر اندازه‬
‫‪ :Border-coloro‬رنگ حاشيه به ‪RGB‬‬
‫‪ :Border-styleo‬نوع حاشيه از مقادير ‪none, hidden, dotted, dashed, solid,‬‬
‫‪ :Border‬خلصه اي براي تنظيم مشخصات حاشيه‪ ،‬به ترتيب عرض‪ ،‬نوع و رنگ مي گيرد‪.‬‬

‫‪double, groove, ridge, inset, outset‬‬

‫‪o‬‬

‫براي تغيير تنظيمات مربوط به حاشيه نواحي مختلف (باال‪ ،‬پايين‪ ،‬چپ‪ ،‬راست)مي توانيد از چهار ويژگي باال‬

‫به همراه نام طرف مورد نظر استفاده نماييد‪ ،‬براي مثال‪:‬‬

‫‪o‬‬
‫‪Border-top-coloro‬‬
‫‪Border-bottomo‬‬

‫‪Border-left-width‬‬

o

url(file), auto, ‫ مقادير مجاز عبارتند از‬،‫ شمايل اشاره گر ماوس را معين مي سازد‬:Cursor

crosshair, default, pointer, move, e-resize, ne-resize, nw-resize , nresize, se-resize, sw-resize, s-resize, w-resize , text, wait , help
none, inline, block, list- ‫ مقادير مجاز عبارتند از‬،‫ نحوه نمايش يك برچسب‬:Display

o

item, run-in, compact, marker, table, inline-table , ….

left,

right,

‫ مقادير مجاز عبارتند از‬،‫ گرايش و شناوري يك برچسب به طرفي خاص‬:Float

o

none
Static, Relative, ‫ مقادير مجاز عبارتند از‬،‫ نحوه قرارگيري يك برچسب در يك سند‬:Position

o

Absolute, Fixed

‫‪o‬‬
‫‪ :Line-Heighto‬فاصله بين دو خط متن در سند‬
‫‪ :Max-Heighto‬حداكثر ارتفاعي كه يك برچسب مي تواند داشته باشد‬
‫‪ :Min-Heighto‬حداقل ارتفاع يك برچسب‬
‫‪ :Widtho‬عرض يك برچسب‬
‫‪ :Max-Widtho‬حداكثر عرض يك برچسب‬
‫‪ :Min-Widtho‬حداقل عرض يك برچسب‬
‫‪ :Height‬ارتفاع يك برچسب در سند‪ .‬مشخصه اندازه اي‬

‫‪o‬‬
‫‪ :Font-Familyo‬نام قلم‪ ،‬بهتر است ليستي از قلمها بسته به پشتيباني از سيستم ها انتخاب شود‪.‬‬
‫‪ :Font‬ميانبري براي اعمال مشخصات كامل فونت و قلم‬

‫معموال نوشته هاي فارس ي با قلم ‪ Tahoma‬خوب نمايش داده مي شوند‪.‬‬

‫‪o‬‬

‫‪ :Font-Size‬اندازه قلم‪ .‬هم مي تواند از انواع مقداري قرار داده شود هم مي تواند يكي از مقادير مجاز‬

‫باشد‬

‫‪xx-small, x-small, small, medium, large, x-large, xx-large,‬‬

‫‪smaller, larger‬‬

‫‪o‬‬

‫‪ :Font-Stretch‬كشيدگي فونت (فاصلي افقي مابين حرفهاي آن)يا مقدار عددي يا يكي از مقادير‬

‫‪normal, wider, narrower, ultra-condensed, extra-condensed, condensed,‬‬
‫‪semi-condensed, semi-expanded, expanded, extra-expanded, ultra-expanded‬‬

‫‪o‬‬
‫‪ :Font-Weighto‬يكي از مقادير ‪ normal, bold, bolder, lighter‬و يا مقدار عددي‬
‫‪ :Font-Style‬يكي از مقادير ‪Normal, Italic, Oblique‬‬

o
none , url(file) :List-Style-Imageo
inside, outside :List-style-Positiono
‫ موارد مجاز عبارتند از‬،‫ شكل موارد ليست‬:List-Style-Typeo

‫ موقعيت و تصوير ليست را مي گيرد‬، ‫ نوع‬،‫ به ترتيب‬.‫ ميانبري براي تنظيمات ليست‬:List-Style

none, disc, circle,

square, decimal, decimal-leading-zero, lower-roman, upper-roman,
lower-alpha,

upper-alpha,

lower-greek,

lower-latin,

upper-latin,

hebrew, armenian, georgian, cjk-ideographic, hiragana, katakana,
hiragana-iroha, katakana-iroha

)auto ‫ فاصله علمت از نوشتار (مقدار يا‬:Marker-Offset

o

‫‪o‬‬

‫‪ :Margin‬ميانبري براي تنظيمات كناره‪ .‬به ترتيب اندازه كناره هاي باال‪ ،‬راست‪ ،‬پايين و چپ را مي گيرد‬

‫(ساعتگرد)‬

‫‪o‬‬

‫‪ :Margin-left, Margin-right, Margin-top, Margin-bottom‬مقدار كناره‪ ،‬مقدار يا‬

‫‪auto‬‬

‫‪o‬‬
‫‪ :Padding-left, Padding-right, Padding-top, Padding-bottomo‬مقدار اليي‬
‫‪ :Padding‬ميانبري براي تنظيم مشخصات اليي گذاري‪ ،‬به ترتيب باال‪ ،‬راست‪ ،‬پايين و چپ‬

‫گذاري‪ ،‬مقدار يا ‪auto‬‬

‫‪o‬‬
‫‪ :Outline-coloro‬رنگ خط حاشيه به ‪RGB‬‬
‫‪ :Outline-styleo‬نوع خط حاشيه يك ش يء‪ ،‬انوع مجاز عبارتند از ‪none, dotted, dashed,‬‬
‫‪ :Outline‬ميانبري براي تمام تنظيمات خط حاشيه‪ ،‬به ترتيب رنگ‪ ،‬نوع و عرض‬

‫‪solid , double , groove, ridge, inset, outset‬‬

‫‪o‬‬

‫‪ :Outline-width‬قطوري خط حاشيه‪ ،‬مقدار عددي يا يكي از مقادير ‪thin, thick, medium‬‬

‫‪o‬‬

‫‪ :Overflow‬در صورتي كه محتويات يك برچسب در آن جاي نگيرند‪ ،‬اين مشخصه معين مي سازد كه‬

‫چه اتفاقي بيافتد‪ .‬مقادير مجاز عبارتند از ‪Visible, Hidden, Auto, Scroll‬‬

‫‪o‬‬

‫‪ :Position‬نحوه قرارگيري برچسب نسبت به سند‪ ،‬مقادير مجاز عبارتند از ‪Static, Relative,‬‬

‫‪Absolute, Fixed‬‬

‫‪o‬‬

‫‪ :Vertical-Align‬نحوه قرارگيري عمودي يك برچسب در داخل برچسب پدر خود را مشخص مي كند‪.‬‬

‫مقادير مجاز عبارتند از ‪baseline, sub, super, top, text-top, middle, bottom,‬‬
‫‪ text-bottom‬و يا مقدار عددي‬

‫‪o‬‬

‫‪ :Z-Index‬اولويت قرارگيري در بعد سوم در صفحه (يعني جلو پشت ديگر برچسب ها)‪ Auto .‬يا يك‬

‫عدد‬

‫‪o‬‬

‫‪ :Border-Collapse‬معين مي سازد كه حواش ي جداول جدا باشند و يا يك مجموعه خط بهم‬

‫پيوسته باشند‪ .‬مقادير مجاز ‪Separate , Collapse‬‬

‫‪o‬‬
‫‪ :Empty-Cellsٍo‬مشخص مي كند كه سلول هاي خالي در مدل ‪ Seperate‬نمايش داده شوند و يا‬
‫‪ :Border-Spacing‬فاصله ميان دو حاشيه جدول‪ ،‬تنها در صورتي كه ‪ Seperate‬باشد‪.‬‬

‫خير‪ .‬مقادير مجاز ‪Show/Hide‬‬

‫‪o‬‬

‫‪ :Table Layout‬الگوريتم نحوه نمايش سلولهاي يك جدول‪Auto/Fixed ،‬‬

‫‪o‬‬
‫‪ :Directiono‬جهت متن (و محتويات)يك برچسب را مشخص مي سازد‪ ،‬مقادير مجاز ‪LTR/RTL‬‬
‫‪ :Text-Aligno‬مقادير مجاز ‪Left, Right, Center, Justify‬‬
‫‪ :Text-Decorationo‬افزودن افكتي به متن‪ ،‬مقادير مجاز عبارتند از ‪none, underline,‬‬
‫‪ :Color‬رنگ يك متن را مشخص مي سازد‪RGB ،‬‬

‫‪overline, line-through, blink‬‬

‫‪o‬‬
‫‪ :Word-Spacingo‬فاصله ميان لغات يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Letter-Spacingo‬فاصله ميان حروف يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Text-Indent‬تو رفتگي اولين خط يك متن‪ .‬مقدار عددي‬

‫تسلط كامل بر ‪CSS‬‬

‫‪o‬‬

‫در ‪ CSS‬رنگها را به دو شیوه می توان مشخص کرد‪:‬‬

‫‪o‬‬
‫‪o‬استفاده از نام رنگ‬

‫تعیين مقدار ‪ 24‬بیتی ‪ RGB‬آنها‬

‫‪o‬‬

‫در روش اول ‪ 16‬میلیون رنگ مختلف برای انتخاب وجود دارند‪ ،‬اما در روش دوم حدود ‪ 200‬رنگ با نام‬

‫های مختلف قابل استفاده هستند‪.‬‬

‫‪o‬‬
‫‪o‬برای مشخص کردن رنگ ‪ ،RGB‬پس از قرار دادن علمت ‪ #‬به ترتیب مقدار ‪ R‬و ‪ G‬و ‪ B‬را در مبنای ‪16‬‬
‫برای مشخص کردن رنگ با نام آن‪ ،‬کافیست نام رنگ را بنویسید‪Cyan, Purple :‬‬

‫وارد می کنیم‪#FFFFFF , #00FF00 :‬‬

‫‪o‬‬

‫همچنين می توان برای مشخص کردن رنگ ‪ RGB‬به صورت روبرو عمل کرد‪RGB(100,255,10):‬‬

‫و یا)‪RGB(70%,20%,100%‬‬

‫‪o‬‬

‫تمامی مقادیر اندازه ای در ‪ CSS‬واحد های متفاوتی را می پذیرند‪ .‬پایه ای ترین واحد همان ‪ Pixel‬است‬

‫که با ‪ px‬در انتهای مقدار مشخص می گردد‪ .‬واحدهای دیگر عبارتند از‪:‬‬

‫‪o‬‬
‫‪ :Ino‬اینچ‬
‫‪ :Cmo‬سانتیمتر‬
‫‪ :Mmo‬میلیمتر‬
‫‪ :Emo‬اندازه فونت‬
‫‪ 1/72 :Pto‬اینتچ‬
‫‪pt 12 :Pco‬‬
‫‪ :Pxo‬یک نقطه‬
‫‪ :%‬درصد!‬

‫‪o‬‬

‫شفافیت )‪ (Transparency‬یک عملیات پیچیده برای سیستم هاییست که کارت گرافیکی قدرتمندی‬

‫ندارد و موتور گرافیکی کاوشگر برای پیاده کردن آن بشدت زیر بار قرار می گيرد‪.‬‬

‫‪o‬‬

‫با استفاده از شفافیت می توان جذابیت بصری را بسیار باالتر برد‪ ،‬اما باید دقت داشت که کندی پردازش‬

‫تصویری سایت برای کاربر ایجاد مزاحمت نکند‪.‬‬

‫‪o‬‬
‫‪ o‬برای ایجاد شفافیت در کاوشگرهای استادارد‪ ،‬از ‪ Opacity : .5‬استفاده می شود‪.‬‬
‫‪o‬برای ایجاد شفافیت در ‪ IE‬از )‪ filter:alpha(opacity=50‬استفاده می شود‪.‬‬
‫‪o‬برای اینکه شفافیت در تمامی کاوشگرها درست نمایش داده شود الزم است هردو دستور باال بکار روند‪.‬‬
‫متاسفانه کاوشگر ‪ IE‬برای شفافیت از دستورات خود استفاده می کند که استاندارد نیستند‪.‬‬

‫‪o‬‬

‫کاوشگرهایی مانند ‪ Firefox‬دستورات ‪ CSS‬ویژه ای دارند (البته ‪ IE‬نيز دستورات مخصوص خود را‬

‫داراست) ‪.‬‬

‫‪o‬‬

‫عبارت ‪ –moz-border-radius‬می تواند گوشه های مستطیل ها را از تيزی درآورده و آنها را نرم‬

‫کند‪-moz-border-radius: 5px; :‬‬

‫‪o‬‬

‫استفاده از این عبارت و راه حل های مشابه پیشنهاد نمی شود زیرا این نما تنها در ‪ Firefox‬قابل مشاهده‬

‫خواهد بود‪.‬‬

‫‪o‬‬

‫‪ CSS‬توانایی آنرا داراست که برای رسانه های خاص تفاوت کند! برای مثال می توانید ‪ CSS‬یک سایت‬

‫را طوری تعریف کنید که رنگ نوشته های آن قرمز باشد ولی هنگام پرینت مشکی شود‪.‬‬

‫‪o‬‬

‫برای مشخص کردن اینکه ‪ CSS‬را برای چه رسانه ای می نویسیم‪ ،‬از ‪ @media‬استفاده می کنیم‪:‬‬
‫‪@media screen‬‬
‫};‪* { color:#ff0000‬‬
‫‪@media print‬‬
‫};‪* { color:#000000‬‬

‫رسانه های معمول عبارتند از‪all, braille, handheld, print, projection, screen, tv, :‬‬
‫…‬

‫‪ CSS‬را قورت بده!‬

‫‪o‬‬

‫فایل ‪ HTML‬ای که در تمرینات ‪ HTML‬ساخته اید و تمامی برچسب ها را داراست‪ ،‬با استفاده از تمامی‬

‫برچسب های ‪ CSS‬قالب بندی کنید‪ .‬سعی کنید زیبایی کافی و قالب بندی مناسب برای سند اتفاق بیافتد! در‬

‫داخل سند تنها می توانید برچسبهای ‪ DIV‬و ‪ SPAN‬اضافه کنید و یا به برچسب های موجود ‪ID ,‬‬
‫‪ CLASS‬بیافزایید‪.‬‬

‫‪o‬‬
‫‪o‬آیا می توان با استفاده از ‪ CSS‬منو ساخت؟ اگر بله راه حل را معين کنید‪.‬‬
‫‪o‬مزایا و معایب نوشتن ‪ CSS‬در یک فایل جداگانه را برشمارید‪.‬‬
‫‪o‬با استفاده از ‪ CSS‬یک ‪ taskbar‬برای یک صفحه بسازید که همواره در قسمت پایين پنجره کاوشگر‬
‫بدون استفاده از جداول و تنها با استفاده از ‪ CSS‬یک صفحه سه ستونی (مانند ‪ )SBCE.ir‬بسازید‪.‬‬

‫(نه لزوما انتهای سند) باشد‪.‬‬


Slide 19

‫کارگاه آموزش ی توسعه وب‬
‫بخش دوم ‪CSS -‬‬

‫ارائه‪ :‬عباس نادری‬
‫انجمن علمی دانشجویی‬
‫مهندس ی کامپیوتر‬
‫نسخه ‪1‬‬

‫دانشگاه شهید بهشتی‬

‫‪ CSS‬چیست ؟‬

‫•‬
‫•معمول ترین استفاده ‪ CSS‬برای قالب بندی اسناد وب )‪ (HTML‬منظور می شود‪.‬‬
‫•با پیچیده شدن وب ها‪ ،‬تصمیم بر آن شد تا محتوا از قالب بندی تفکیک شود و توسعه وب تسهیل‬
‫‪ CSS‬یا ‪ Casacading Style Sheets‬یک استاندارد قالب بندی ظاهری اسناد است‪.‬‬

‫گردد‪.‬‬

‫•‬

‫‪ CSS‬سه نسخه اصلی دارد‪:‬‬

‫•‬
‫•‪ :CSS 2‬در سال ‪ 1998‬توسط ‪ W3C‬استاندارد شد و هنوز به عنوان استاندارد بکار می رود‪.‬‬
‫•‪ :CSS 3‬هنوز در دست توسعه توسط ‪ W3C‬است‪.‬‬
‫‪ :CSS 1‬در سال ‪ 1996‬توسط ‪ W3C‬استاندارد شد‪.‬‬

‫•‬

‫‪ CSS‬به دلیل امکان استفاده مجدد‪ ،‬به شدت توسعه وب را ساده و سریع می کند‪ .‬همچنین قالب‬

‫بندی صفحات با استفاده از آن در قالب تیمی مقدور خواهد بود‪.‬‬

‫•‬

‫‪ CSS‬از طریق انتخابگرها قالب بندی را سرعت می بخشد‪ .‬همچنین از موتور انتخابگر ‪ CSS‬در‬

‫کاربردهای دیگر بهره فراوان برده می شود‪.‬‬

‫•‬

‫‪ :Layout Engine‬برنامه ایست در کاوشگرها که سند ‪ HTML‬و فایل ‪ CSS‬را دریافت کرده‪،‬‬

‫خروجی گرافیکی بر روی صفحه تولید می نماید‪.‬‬

‫•‬

‫‪ :Selector Engine‬موتوریست بر روی کاوشگر که زیرمجموعه ای از برچسب های ‪ HTML‬را‬

‫انتخاب می کند‪.‬‬

:‫ با چند مثال آنرا بررس ی می کنیم‬،‫ گرامر بسیار ساده ای دارد‬CSS
Template:
Selection {
Property: value;
Property: value;
//Comment /*Comment */
}
Example:
div.main {
background-color:#777777;
border-width: 1px;
border-style: solid;
font-family: ‘Tahoma’;
}



‫•‬
‫•در سه جای مختلف می توان از ‪ CSS‬استفاده کرد‪:‬‬

‫‪ CSS‬جزئیات گرامری مختلفی نیز دارد که در طی این ارائه با آنها بیشتر آشنا خواهیم شد‪.‬‬

‫•‬
‫•برچسب های ‪ Style‬در داخل فایل ‪ :HTML‬می توان با افزودن برچسب ‪ Style‬در ‪Head‬یا ‪Body‬‬
‫فایل های ‪ :CSS‬می توان ‪ CSS‬را در فایلی جداگانه نوشت و آنرا در ‪ HTML‬افزود‪.‬‬

‫یک سند‪ CSS ،‬تعریف کرد‪.‬‬

‫•‬

‫صفت ‪ Style‬برای برچسب ها‪ :‬می توان در یکی از صفتهای هر برچسب‪ CSS ،‬آنرا تعریف کرد‪ .‬در این‬

‫حالت دیگر انتخابگر مطرح نیست و قالب بندی تنها برای آن برچسب اعمال می شود‪.‬‬

‫•‬
‫•استفاده از حالت سوم (‪ )Inline CSS‬توصیه نمی شود و جدابودن محتوی از قالب را زیر سوال می‬
‫سه نوع تعریف ‪ CSS‬می توانند همزمان باشند‪ .‬اولویت آنها به ترتیب افزایش می یابد‪.‬‬

‫برد‪ ،‬اما در جاهای خاص ی استفاده از آن کار را راحتتر می کند‪.‬‬

:HTML ‫ جدا و استفاده از آن در‬CSS ‫تعریف در فایل‬
//SomeFile.css
input[text] {
width:200px;
background-color:#000000;
border:solid 0px;
}







:HTML ‫ در بدنه سند‬CSS ‫تعریف‬






:‫ در صفت یک برچسب‬CSS ‫تعریف‬


This is some text with tahoma font






‫چگونگی انتخاب برچسبها‬

‫•‬

‫براي مشخص كردن اينكه يك ‪ CSS‬به كدامين اشياء يك صفحه اعمال شود‪ ،‬بايد از انتخابگرها استفاده‬

‫نمود‪ .‬هر انتخاب گر يك يا چند ش يء در يك صفحه ‪ HTML‬را انتخاب مي كند و سپس مي توان قالب هاي‬

‫مورد نظر را به آن اعمال كرد‪.‬‬

‫•‬

‫انتخابگرهاي ‪ CSS‬تنوع و قدرت به سزايي دارند بنابراين در اين بخش در حدي كه نيازهاي اوليه مرتفع‬

‫شوند آنها را بررس ي خواهيم كرد‪.‬‬

‫•‬

‫انتخابگر ها در دو نحوه اوليه تعريف ‪ CSS‬ها قابل استفاده هستند به قالب زير‪:‬‬
‫{ ‪SelectorStatement‬‬
‫;‪Css Properties & Values‬‬

‫}‬

‫انتخاب تمام برچسب ها ‪* :‬‬
‫انتخاب برچسب هاي خاص‪tagName :‬‬
‫انتخاب برچسبي از زيربرچسب هاي يك برچسب ديگر‪ParentTag DescendantTag :‬‬
‫انتخاب برچسبي از فرزندان يك برچسب ديگر ‪ParentTag > ChildTag :‬‬
‫انتخاب برچسبي بعد از يك برچسب ديگر‪Tag1 + Tag2 :‬‬
‫انتخاب برچسبي با صفتي خاص‪Tag[attrib=“value”] :‬‬
‫آنتخاب يك برچسب در وضعيت هاي خاص‪:‬‬
‫لينك ديده نشده ‪Tag:link‬‬

‫برچسبي كه ماوس رويش است ‪Tag:hover‬‬

‫لينك ديده شده ‪Tag:visited‬‬

‫برچسب درحال كليك ‪Tag:active‬‬
‫برچسب فعال صفحه ‪Tag:focus‬‬

‫•‬

‫همانطور كه قبل ذكر شد‪ ،‬هر بچسب در ‪ HTML‬مي تواند صفات خاص ي را داشته باشد‪ .‬صفاتي كه در‬

‫‪ CSS‬به ما كمك مي كنند‪ ،‬دو صفت ‪ class , id‬هستند‪ .‬با اختصاص دادن اين دو صفت به يك برچسب‬

‫در ‪ HTML‬مي توان ويژگيهاي ‪ CSS‬آنرا به سادگي كنترل كرد‪.‬‬

‫•‬

‫با تعريف يك كلس خاص براي برچسبي ‪ ،‬مي توان آنرا جزو دسته اي قرار داد كه ويژگيهاي ‪CSS‬مشترك‬

‫خاص ي بر روي همگي آنها اعمال شود‪.‬‬

‫•‬

‫با تعريف يك مشخصه منحصره (‪ )Unique Identifier‬براي يك برچسب‪ ،‬مي توان كنترل هاي‬

‫خاص ي از طريق ‪CSS‬و جاوااسكريپت بر روي آن برچسب اعمال كرد‪.‬‬

‫•‬

‫بايد توجه گردد كه ‪ id‬هيچ دو برچسبي در يك سند ‪HTML‬نبايد يكسان باشند‪ ،‬در غير اينصورت نتايج‬

‫قابل پيش بيني نخواهد بود‪.‬‬

*{
font-family: “Tahoma”, “Trebuchet”,”MS Sans Serif”
}
div.Container {
background-color:#777777;
border-width: 1px;
}
P#title {
font-weight:bold;
}
H1 + P {
font-style:italic;
}
input [type=‘button’] {
border-style:none;
}
Body Form > input[type=‘text’] {
text-align:center;
}
DIV P * [title] {
color:#ffffff;
}

‫•‬

‫براي اينكه ‪ CSS‬خاص ي را به چند انتخابگر يكجا اعمال كنيم‪ ،‬مي توانيم آنها را به صورت گروهي قرار‬

‫دهيم‪:‬‬
‫{ ]’‪div.Container , p , input[type=‘text‬‬
‫; ’‪font-family: ‘Tahoma’, ‘Comic Sans MS‬‬
‫}‬

‫•‬
‫• ‪CSS‬با استفاده از عبارات جاوااسكريپت مي تواند مقادير پويا (نسبت به شرايط ‪ )Client‬را به‬
‫در صورتي كه چند دستور يكسان ‪ CSS‬به يك برچسب خاص اعمال شوند‪ ،‬آخرين آنها باقي مي ماند‪.‬‬

‫‪ Property‬ها اعمال كند‪:‬‬
‫;‪Width: expression( document.width /2 )px‬‬

‫مشخصه هاي استاندارد ‪CSS 2‬‬

‫‪o‬‬
‫‪(scroll,fixed)o‬‬

‫‪ : Background‬خلصه اي براي تنظيم تمام مشخصات ‪Background‬‬
‫‪ : Background-Attachement‬وضعيت قرارگيري تصوير در‬

‫‪ ،Background‬در صورتي كه ‪fixed‬باشد‪ ،‬با جابجايي صفحه پشت صفحه آن حركت نخواهد كرد‪.‬‬

‫‪o‬‬
‫‪ :Background-image o‬يا مقدار ‪ none‬مي گيرد و يا با استفاده از )‪URL(adress‬يك آدرس‬
‫)‪ : Background-color (RGB Value‬رنگ پشت صفحه‬

‫فايل تصويري (آدرس وب)‬

‫‪o‬‬
‫‪ :Background-repeato‬در صورتي كه از تصوير استفاده شود‪ ،‬روش تكرار آنرا مشخص مي كند‪.‬‬
‫‪ :Background-position‬مقاديري مانند … ‪top left, center center ,‬‬

‫مقادير مجاز عبارتند از ‪no-repeat, repeat-x,repeat-y,repeat‬‬

‫‪o‬‬
‫‪ :Border-widtho‬عرض حاشيه (ضخامت آن) به عدد‪ ،‬درصد و واحد هاي ديگر اندازه‬
‫‪ :Border-coloro‬رنگ حاشيه به ‪RGB‬‬
‫‪ :Border-styleo‬نوع حاشيه از مقادير ‪none, hidden, dotted, dashed, solid,‬‬
‫‪ :Border‬خلصه اي براي تنظيم مشخصات حاشيه‪ ،‬به ترتيب عرض‪ ،‬نوع و رنگ مي گيرد‪.‬‬

‫‪double, groove, ridge, inset, outset‬‬

‫‪o‬‬

‫براي تغيير تنظيمات مربوط به حاشيه نواحي مختلف (باال‪ ،‬پايين‪ ،‬چپ‪ ،‬راست)مي توانيد از چهار ويژگي باال‬

‫به همراه نام طرف مورد نظر استفاده نماييد‪ ،‬براي مثال‪:‬‬

‫‪o‬‬
‫‪Border-top-coloro‬‬
‫‪Border-bottomo‬‬

‫‪Border-left-width‬‬

o

url(file), auto, ‫ مقادير مجاز عبارتند از‬،‫ شمايل اشاره گر ماوس را معين مي سازد‬:Cursor

crosshair, default, pointer, move, e-resize, ne-resize, nw-resize , nresize, se-resize, sw-resize, s-resize, w-resize , text, wait , help
none, inline, block, list- ‫ مقادير مجاز عبارتند از‬،‫ نحوه نمايش يك برچسب‬:Display

o

item, run-in, compact, marker, table, inline-table , ….

left,

right,

‫ مقادير مجاز عبارتند از‬،‫ گرايش و شناوري يك برچسب به طرفي خاص‬:Float

o

none
Static, Relative, ‫ مقادير مجاز عبارتند از‬،‫ نحوه قرارگيري يك برچسب در يك سند‬:Position

o

Absolute, Fixed

‫‪o‬‬
‫‪ :Line-Heighto‬فاصله بين دو خط متن در سند‬
‫‪ :Max-Heighto‬حداكثر ارتفاعي كه يك برچسب مي تواند داشته باشد‬
‫‪ :Min-Heighto‬حداقل ارتفاع يك برچسب‬
‫‪ :Widtho‬عرض يك برچسب‬
‫‪ :Max-Widtho‬حداكثر عرض يك برچسب‬
‫‪ :Min-Widtho‬حداقل عرض يك برچسب‬
‫‪ :Height‬ارتفاع يك برچسب در سند‪ .‬مشخصه اندازه اي‬

‫‪o‬‬
‫‪ :Font-Familyo‬نام قلم‪ ،‬بهتر است ليستي از قلمها بسته به پشتيباني از سيستم ها انتخاب شود‪.‬‬
‫‪ :Font‬ميانبري براي اعمال مشخصات كامل فونت و قلم‬

‫معموال نوشته هاي فارس ي با قلم ‪ Tahoma‬خوب نمايش داده مي شوند‪.‬‬

‫‪o‬‬

‫‪ :Font-Size‬اندازه قلم‪ .‬هم مي تواند از انواع مقداري قرار داده شود هم مي تواند يكي از مقادير مجاز‬

‫باشد‬

‫‪xx-small, x-small, small, medium, large, x-large, xx-large,‬‬

‫‪smaller, larger‬‬

‫‪o‬‬

‫‪ :Font-Stretch‬كشيدگي فونت (فاصلي افقي مابين حرفهاي آن)يا مقدار عددي يا يكي از مقادير‬

‫‪normal, wider, narrower, ultra-condensed, extra-condensed, condensed,‬‬
‫‪semi-condensed, semi-expanded, expanded, extra-expanded, ultra-expanded‬‬

‫‪o‬‬
‫‪ :Font-Weighto‬يكي از مقادير ‪ normal, bold, bolder, lighter‬و يا مقدار عددي‬
‫‪ :Font-Style‬يكي از مقادير ‪Normal, Italic, Oblique‬‬

o
none , url(file) :List-Style-Imageo
inside, outside :List-style-Positiono
‫ موارد مجاز عبارتند از‬،‫ شكل موارد ليست‬:List-Style-Typeo

‫ موقعيت و تصوير ليست را مي گيرد‬، ‫ نوع‬،‫ به ترتيب‬.‫ ميانبري براي تنظيمات ليست‬:List-Style

none, disc, circle,

square, decimal, decimal-leading-zero, lower-roman, upper-roman,
lower-alpha,

upper-alpha,

lower-greek,

lower-latin,

upper-latin,

hebrew, armenian, georgian, cjk-ideographic, hiragana, katakana,
hiragana-iroha, katakana-iroha

)auto ‫ فاصله علمت از نوشتار (مقدار يا‬:Marker-Offset

o

‫‪o‬‬

‫‪ :Margin‬ميانبري براي تنظيمات كناره‪ .‬به ترتيب اندازه كناره هاي باال‪ ،‬راست‪ ،‬پايين و چپ را مي گيرد‬

‫(ساعتگرد)‬

‫‪o‬‬

‫‪ :Margin-left, Margin-right, Margin-top, Margin-bottom‬مقدار كناره‪ ،‬مقدار يا‬

‫‪auto‬‬

‫‪o‬‬
‫‪ :Padding-left, Padding-right, Padding-top, Padding-bottomo‬مقدار اليي‬
‫‪ :Padding‬ميانبري براي تنظيم مشخصات اليي گذاري‪ ،‬به ترتيب باال‪ ،‬راست‪ ،‬پايين و چپ‬

‫گذاري‪ ،‬مقدار يا ‪auto‬‬

‫‪o‬‬
‫‪ :Outline-coloro‬رنگ خط حاشيه به ‪RGB‬‬
‫‪ :Outline-styleo‬نوع خط حاشيه يك ش يء‪ ،‬انوع مجاز عبارتند از ‪none, dotted, dashed,‬‬
‫‪ :Outline‬ميانبري براي تمام تنظيمات خط حاشيه‪ ،‬به ترتيب رنگ‪ ،‬نوع و عرض‬

‫‪solid , double , groove, ridge, inset, outset‬‬

‫‪o‬‬

‫‪ :Outline-width‬قطوري خط حاشيه‪ ،‬مقدار عددي يا يكي از مقادير ‪thin, thick, medium‬‬

‫‪o‬‬

‫‪ :Overflow‬در صورتي كه محتويات يك برچسب در آن جاي نگيرند‪ ،‬اين مشخصه معين مي سازد كه‬

‫چه اتفاقي بيافتد‪ .‬مقادير مجاز عبارتند از ‪Visible, Hidden, Auto, Scroll‬‬

‫‪o‬‬

‫‪ :Position‬نحوه قرارگيري برچسب نسبت به سند‪ ،‬مقادير مجاز عبارتند از ‪Static, Relative,‬‬

‫‪Absolute, Fixed‬‬

‫‪o‬‬

‫‪ :Vertical-Align‬نحوه قرارگيري عمودي يك برچسب در داخل برچسب پدر خود را مشخص مي كند‪.‬‬

‫مقادير مجاز عبارتند از ‪baseline, sub, super, top, text-top, middle, bottom,‬‬
‫‪ text-bottom‬و يا مقدار عددي‬

‫‪o‬‬

‫‪ :Z-Index‬اولويت قرارگيري در بعد سوم در صفحه (يعني جلو پشت ديگر برچسب ها)‪ Auto .‬يا يك‬

‫عدد‬

‫‪o‬‬

‫‪ :Border-Collapse‬معين مي سازد كه حواش ي جداول جدا باشند و يا يك مجموعه خط بهم‬

‫پيوسته باشند‪ .‬مقادير مجاز ‪Separate , Collapse‬‬

‫‪o‬‬
‫‪ :Empty-Cellsٍo‬مشخص مي كند كه سلول هاي خالي در مدل ‪ Seperate‬نمايش داده شوند و يا‬
‫‪ :Border-Spacing‬فاصله ميان دو حاشيه جدول‪ ،‬تنها در صورتي كه ‪ Seperate‬باشد‪.‬‬

‫خير‪ .‬مقادير مجاز ‪Show/Hide‬‬

‫‪o‬‬

‫‪ :Table Layout‬الگوريتم نحوه نمايش سلولهاي يك جدول‪Auto/Fixed ،‬‬

‫‪o‬‬
‫‪ :Directiono‬جهت متن (و محتويات)يك برچسب را مشخص مي سازد‪ ،‬مقادير مجاز ‪LTR/RTL‬‬
‫‪ :Text-Aligno‬مقادير مجاز ‪Left, Right, Center, Justify‬‬
‫‪ :Text-Decorationo‬افزودن افكتي به متن‪ ،‬مقادير مجاز عبارتند از ‪none, underline,‬‬
‫‪ :Color‬رنگ يك متن را مشخص مي سازد‪RGB ،‬‬

‫‪overline, line-through, blink‬‬

‫‪o‬‬
‫‪ :Word-Spacingo‬فاصله ميان لغات يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Letter-Spacingo‬فاصله ميان حروف يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Text-Indent‬تو رفتگي اولين خط يك متن‪ .‬مقدار عددي‬

‫تسلط كامل بر ‪CSS‬‬

‫‪o‬‬

‫در ‪ CSS‬رنگها را به دو شیوه می توان مشخص کرد‪:‬‬

‫‪o‬‬
‫‪o‬استفاده از نام رنگ‬

‫تعیين مقدار ‪ 24‬بیتی ‪ RGB‬آنها‬

‫‪o‬‬

‫در روش اول ‪ 16‬میلیون رنگ مختلف برای انتخاب وجود دارند‪ ،‬اما در روش دوم حدود ‪ 200‬رنگ با نام‬

‫های مختلف قابل استفاده هستند‪.‬‬

‫‪o‬‬
‫‪o‬برای مشخص کردن رنگ ‪ ،RGB‬پس از قرار دادن علمت ‪ #‬به ترتیب مقدار ‪ R‬و ‪ G‬و ‪ B‬را در مبنای ‪16‬‬
‫برای مشخص کردن رنگ با نام آن‪ ،‬کافیست نام رنگ را بنویسید‪Cyan, Purple :‬‬

‫وارد می کنیم‪#FFFFFF , #00FF00 :‬‬

‫‪o‬‬

‫همچنين می توان برای مشخص کردن رنگ ‪ RGB‬به صورت روبرو عمل کرد‪RGB(100,255,10):‬‬

‫و یا)‪RGB(70%,20%,100%‬‬

‫‪o‬‬

‫تمامی مقادیر اندازه ای در ‪ CSS‬واحد های متفاوتی را می پذیرند‪ .‬پایه ای ترین واحد همان ‪ Pixel‬است‬

‫که با ‪ px‬در انتهای مقدار مشخص می گردد‪ .‬واحدهای دیگر عبارتند از‪:‬‬

‫‪o‬‬
‫‪ :Ino‬اینچ‬
‫‪ :Cmo‬سانتیمتر‬
‫‪ :Mmo‬میلیمتر‬
‫‪ :Emo‬اندازه فونت‬
‫‪ 1/72 :Pto‬اینتچ‬
‫‪pt 12 :Pco‬‬
‫‪ :Pxo‬یک نقطه‬
‫‪ :%‬درصد!‬

‫‪o‬‬

‫شفافیت )‪ (Transparency‬یک عملیات پیچیده برای سیستم هاییست که کارت گرافیکی قدرتمندی‬

‫ندارد و موتور گرافیکی کاوشگر برای پیاده کردن آن بشدت زیر بار قرار می گيرد‪.‬‬

‫‪o‬‬

‫با استفاده از شفافیت می توان جذابیت بصری را بسیار باالتر برد‪ ،‬اما باید دقت داشت که کندی پردازش‬

‫تصویری سایت برای کاربر ایجاد مزاحمت نکند‪.‬‬

‫‪o‬‬
‫‪ o‬برای ایجاد شفافیت در کاوشگرهای استادارد‪ ،‬از ‪ Opacity : .5‬استفاده می شود‪.‬‬
‫‪o‬برای ایجاد شفافیت در ‪ IE‬از )‪ filter:alpha(opacity=50‬استفاده می شود‪.‬‬
‫‪o‬برای اینکه شفافیت در تمامی کاوشگرها درست نمایش داده شود الزم است هردو دستور باال بکار روند‪.‬‬
‫متاسفانه کاوشگر ‪ IE‬برای شفافیت از دستورات خود استفاده می کند که استاندارد نیستند‪.‬‬

‫‪o‬‬

‫کاوشگرهایی مانند ‪ Firefox‬دستورات ‪ CSS‬ویژه ای دارند (البته ‪ IE‬نيز دستورات مخصوص خود را‬

‫داراست) ‪.‬‬

‫‪o‬‬

‫عبارت ‪ –moz-border-radius‬می تواند گوشه های مستطیل ها را از تيزی درآورده و آنها را نرم‬

‫کند‪-moz-border-radius: 5px; :‬‬

‫‪o‬‬

‫استفاده از این عبارت و راه حل های مشابه پیشنهاد نمی شود زیرا این نما تنها در ‪ Firefox‬قابل مشاهده‬

‫خواهد بود‪.‬‬

‫‪o‬‬

‫‪ CSS‬توانایی آنرا داراست که برای رسانه های خاص تفاوت کند! برای مثال می توانید ‪ CSS‬یک سایت‬

‫را طوری تعریف کنید که رنگ نوشته های آن قرمز باشد ولی هنگام پرینت مشکی شود‪.‬‬

‫‪o‬‬

‫برای مشخص کردن اینکه ‪ CSS‬را برای چه رسانه ای می نویسیم‪ ،‬از ‪ @media‬استفاده می کنیم‪:‬‬
‫‪@media screen‬‬
‫};‪* { color:#ff0000‬‬
‫‪@media print‬‬
‫};‪* { color:#000000‬‬

‫رسانه های معمول عبارتند از‪all, braille, handheld, print, projection, screen, tv, :‬‬
‫…‬

‫‪ CSS‬را قورت بده!‬

‫‪o‬‬

‫فایل ‪ HTML‬ای که در تمرینات ‪ HTML‬ساخته اید و تمامی برچسب ها را داراست‪ ،‬با استفاده از تمامی‬

‫برچسب های ‪ CSS‬قالب بندی کنید‪ .‬سعی کنید زیبایی کافی و قالب بندی مناسب برای سند اتفاق بیافتد! در‬

‫داخل سند تنها می توانید برچسبهای ‪ DIV‬و ‪ SPAN‬اضافه کنید و یا به برچسب های موجود ‪ID ,‬‬
‫‪ CLASS‬بیافزایید‪.‬‬

‫‪o‬‬
‫‪o‬آیا می توان با استفاده از ‪ CSS‬منو ساخت؟ اگر بله راه حل را معين کنید‪.‬‬
‫‪o‬مزایا و معایب نوشتن ‪ CSS‬در یک فایل جداگانه را برشمارید‪.‬‬
‫‪o‬با استفاده از ‪ CSS‬یک ‪ taskbar‬برای یک صفحه بسازید که همواره در قسمت پایين پنجره کاوشگر‬
‫بدون استفاده از جداول و تنها با استفاده از ‪ CSS‬یک صفحه سه ستونی (مانند ‪ )SBCE.ir‬بسازید‪.‬‬

‫(نه لزوما انتهای سند) باشد‪.‬‬


Slide 20

‫کارگاه آموزش ی توسعه وب‬
‫بخش دوم ‪CSS -‬‬

‫ارائه‪ :‬عباس نادری‬
‫انجمن علمی دانشجویی‬
‫مهندس ی کامپیوتر‬
‫نسخه ‪1‬‬

‫دانشگاه شهید بهشتی‬

‫‪ CSS‬چیست ؟‬

‫•‬
‫•معمول ترین استفاده ‪ CSS‬برای قالب بندی اسناد وب )‪ (HTML‬منظور می شود‪.‬‬
‫•با پیچیده شدن وب ها‪ ،‬تصمیم بر آن شد تا محتوا از قالب بندی تفکیک شود و توسعه وب تسهیل‬
‫‪ CSS‬یا ‪ Casacading Style Sheets‬یک استاندارد قالب بندی ظاهری اسناد است‪.‬‬

‫گردد‪.‬‬

‫•‬

‫‪ CSS‬سه نسخه اصلی دارد‪:‬‬

‫•‬
‫•‪ :CSS 2‬در سال ‪ 1998‬توسط ‪ W3C‬استاندارد شد و هنوز به عنوان استاندارد بکار می رود‪.‬‬
‫•‪ :CSS 3‬هنوز در دست توسعه توسط ‪ W3C‬است‪.‬‬
‫‪ :CSS 1‬در سال ‪ 1996‬توسط ‪ W3C‬استاندارد شد‪.‬‬

‫•‬

‫‪ CSS‬به دلیل امکان استفاده مجدد‪ ،‬به شدت توسعه وب را ساده و سریع می کند‪ .‬همچنین قالب‬

‫بندی صفحات با استفاده از آن در قالب تیمی مقدور خواهد بود‪.‬‬

‫•‬

‫‪ CSS‬از طریق انتخابگرها قالب بندی را سرعت می بخشد‪ .‬همچنین از موتور انتخابگر ‪ CSS‬در‬

‫کاربردهای دیگر بهره فراوان برده می شود‪.‬‬

‫•‬

‫‪ :Layout Engine‬برنامه ایست در کاوشگرها که سند ‪ HTML‬و فایل ‪ CSS‬را دریافت کرده‪،‬‬

‫خروجی گرافیکی بر روی صفحه تولید می نماید‪.‬‬

‫•‬

‫‪ :Selector Engine‬موتوریست بر روی کاوشگر که زیرمجموعه ای از برچسب های ‪ HTML‬را‬

‫انتخاب می کند‪.‬‬

:‫ با چند مثال آنرا بررس ی می کنیم‬،‫ گرامر بسیار ساده ای دارد‬CSS
Template:
Selection {
Property: value;
Property: value;
//Comment /*Comment */
}
Example:
div.main {
background-color:#777777;
border-width: 1px;
border-style: solid;
font-family: ‘Tahoma’;
}



‫•‬
‫•در سه جای مختلف می توان از ‪ CSS‬استفاده کرد‪:‬‬

‫‪ CSS‬جزئیات گرامری مختلفی نیز دارد که در طی این ارائه با آنها بیشتر آشنا خواهیم شد‪.‬‬

‫•‬
‫•برچسب های ‪ Style‬در داخل فایل ‪ :HTML‬می توان با افزودن برچسب ‪ Style‬در ‪Head‬یا ‪Body‬‬
‫فایل های ‪ :CSS‬می توان ‪ CSS‬را در فایلی جداگانه نوشت و آنرا در ‪ HTML‬افزود‪.‬‬

‫یک سند‪ CSS ،‬تعریف کرد‪.‬‬

‫•‬

‫صفت ‪ Style‬برای برچسب ها‪ :‬می توان در یکی از صفتهای هر برچسب‪ CSS ،‬آنرا تعریف کرد‪ .‬در این‬

‫حالت دیگر انتخابگر مطرح نیست و قالب بندی تنها برای آن برچسب اعمال می شود‪.‬‬

‫•‬
‫•استفاده از حالت سوم (‪ )Inline CSS‬توصیه نمی شود و جدابودن محتوی از قالب را زیر سوال می‬
‫سه نوع تعریف ‪ CSS‬می توانند همزمان باشند‪ .‬اولویت آنها به ترتیب افزایش می یابد‪.‬‬

‫برد‪ ،‬اما در جاهای خاص ی استفاده از آن کار را راحتتر می کند‪.‬‬

:HTML ‫ جدا و استفاده از آن در‬CSS ‫تعریف در فایل‬
//SomeFile.css
input[text] {
width:200px;
background-color:#000000;
border:solid 0px;
}







:HTML ‫ در بدنه سند‬CSS ‫تعریف‬






:‫ در صفت یک برچسب‬CSS ‫تعریف‬


This is some text with tahoma font






‫چگونگی انتخاب برچسبها‬

‫•‬

‫براي مشخص كردن اينكه يك ‪ CSS‬به كدامين اشياء يك صفحه اعمال شود‪ ،‬بايد از انتخابگرها استفاده‬

‫نمود‪ .‬هر انتخاب گر يك يا چند ش يء در يك صفحه ‪ HTML‬را انتخاب مي كند و سپس مي توان قالب هاي‬

‫مورد نظر را به آن اعمال كرد‪.‬‬

‫•‬

‫انتخابگرهاي ‪ CSS‬تنوع و قدرت به سزايي دارند بنابراين در اين بخش در حدي كه نيازهاي اوليه مرتفع‬

‫شوند آنها را بررس ي خواهيم كرد‪.‬‬

‫•‬

‫انتخابگر ها در دو نحوه اوليه تعريف ‪ CSS‬ها قابل استفاده هستند به قالب زير‪:‬‬
‫{ ‪SelectorStatement‬‬
‫;‪Css Properties & Values‬‬

‫}‬

‫انتخاب تمام برچسب ها ‪* :‬‬
‫انتخاب برچسب هاي خاص‪tagName :‬‬
‫انتخاب برچسبي از زيربرچسب هاي يك برچسب ديگر‪ParentTag DescendantTag :‬‬
‫انتخاب برچسبي از فرزندان يك برچسب ديگر ‪ParentTag > ChildTag :‬‬
‫انتخاب برچسبي بعد از يك برچسب ديگر‪Tag1 + Tag2 :‬‬
‫انتخاب برچسبي با صفتي خاص‪Tag[attrib=“value”] :‬‬
‫آنتخاب يك برچسب در وضعيت هاي خاص‪:‬‬
‫لينك ديده نشده ‪Tag:link‬‬

‫برچسبي كه ماوس رويش است ‪Tag:hover‬‬

‫لينك ديده شده ‪Tag:visited‬‬

‫برچسب درحال كليك ‪Tag:active‬‬
‫برچسب فعال صفحه ‪Tag:focus‬‬

‫•‬

‫همانطور كه قبل ذكر شد‪ ،‬هر بچسب در ‪ HTML‬مي تواند صفات خاص ي را داشته باشد‪ .‬صفاتي كه در‬

‫‪ CSS‬به ما كمك مي كنند‪ ،‬دو صفت ‪ class , id‬هستند‪ .‬با اختصاص دادن اين دو صفت به يك برچسب‬

‫در ‪ HTML‬مي توان ويژگيهاي ‪ CSS‬آنرا به سادگي كنترل كرد‪.‬‬

‫•‬

‫با تعريف يك كلس خاص براي برچسبي ‪ ،‬مي توان آنرا جزو دسته اي قرار داد كه ويژگيهاي ‪CSS‬مشترك‬

‫خاص ي بر روي همگي آنها اعمال شود‪.‬‬

‫•‬

‫با تعريف يك مشخصه منحصره (‪ )Unique Identifier‬براي يك برچسب‪ ،‬مي توان كنترل هاي‬

‫خاص ي از طريق ‪CSS‬و جاوااسكريپت بر روي آن برچسب اعمال كرد‪.‬‬

‫•‬

‫بايد توجه گردد كه ‪ id‬هيچ دو برچسبي در يك سند ‪HTML‬نبايد يكسان باشند‪ ،‬در غير اينصورت نتايج‬

‫قابل پيش بيني نخواهد بود‪.‬‬

*{
font-family: “Tahoma”, “Trebuchet”,”MS Sans Serif”
}
div.Container {
background-color:#777777;
border-width: 1px;
}
P#title {
font-weight:bold;
}
H1 + P {
font-style:italic;
}
input [type=‘button’] {
border-style:none;
}
Body Form > input[type=‘text’] {
text-align:center;
}
DIV P * [title] {
color:#ffffff;
}

‫•‬

‫براي اينكه ‪ CSS‬خاص ي را به چند انتخابگر يكجا اعمال كنيم‪ ،‬مي توانيم آنها را به صورت گروهي قرار‬

‫دهيم‪:‬‬
‫{ ]’‪div.Container , p , input[type=‘text‬‬
‫; ’‪font-family: ‘Tahoma’, ‘Comic Sans MS‬‬
‫}‬

‫•‬
‫• ‪CSS‬با استفاده از عبارات جاوااسكريپت مي تواند مقادير پويا (نسبت به شرايط ‪ )Client‬را به‬
‫در صورتي كه چند دستور يكسان ‪ CSS‬به يك برچسب خاص اعمال شوند‪ ،‬آخرين آنها باقي مي ماند‪.‬‬

‫‪ Property‬ها اعمال كند‪:‬‬
‫;‪Width: expression( document.width /2 )px‬‬

‫مشخصه هاي استاندارد ‪CSS 2‬‬

‫‪o‬‬
‫‪(scroll,fixed)o‬‬

‫‪ : Background‬خلصه اي براي تنظيم تمام مشخصات ‪Background‬‬
‫‪ : Background-Attachement‬وضعيت قرارگيري تصوير در‬

‫‪ ،Background‬در صورتي كه ‪fixed‬باشد‪ ،‬با جابجايي صفحه پشت صفحه آن حركت نخواهد كرد‪.‬‬

‫‪o‬‬
‫‪ :Background-image o‬يا مقدار ‪ none‬مي گيرد و يا با استفاده از )‪URL(adress‬يك آدرس‬
‫)‪ : Background-color (RGB Value‬رنگ پشت صفحه‬

‫فايل تصويري (آدرس وب)‬

‫‪o‬‬
‫‪ :Background-repeato‬در صورتي كه از تصوير استفاده شود‪ ،‬روش تكرار آنرا مشخص مي كند‪.‬‬
‫‪ :Background-position‬مقاديري مانند … ‪top left, center center ,‬‬

‫مقادير مجاز عبارتند از ‪no-repeat, repeat-x,repeat-y,repeat‬‬

‫‪o‬‬
‫‪ :Border-widtho‬عرض حاشيه (ضخامت آن) به عدد‪ ،‬درصد و واحد هاي ديگر اندازه‬
‫‪ :Border-coloro‬رنگ حاشيه به ‪RGB‬‬
‫‪ :Border-styleo‬نوع حاشيه از مقادير ‪none, hidden, dotted, dashed, solid,‬‬
‫‪ :Border‬خلصه اي براي تنظيم مشخصات حاشيه‪ ،‬به ترتيب عرض‪ ،‬نوع و رنگ مي گيرد‪.‬‬

‫‪double, groove, ridge, inset, outset‬‬

‫‪o‬‬

‫براي تغيير تنظيمات مربوط به حاشيه نواحي مختلف (باال‪ ،‬پايين‪ ،‬چپ‪ ،‬راست)مي توانيد از چهار ويژگي باال‬

‫به همراه نام طرف مورد نظر استفاده نماييد‪ ،‬براي مثال‪:‬‬

‫‪o‬‬
‫‪Border-top-coloro‬‬
‫‪Border-bottomo‬‬

‫‪Border-left-width‬‬

o

url(file), auto, ‫ مقادير مجاز عبارتند از‬،‫ شمايل اشاره گر ماوس را معين مي سازد‬:Cursor

crosshair, default, pointer, move, e-resize, ne-resize, nw-resize , nresize, se-resize, sw-resize, s-resize, w-resize , text, wait , help
none, inline, block, list- ‫ مقادير مجاز عبارتند از‬،‫ نحوه نمايش يك برچسب‬:Display

o

item, run-in, compact, marker, table, inline-table , ….

left,

right,

‫ مقادير مجاز عبارتند از‬،‫ گرايش و شناوري يك برچسب به طرفي خاص‬:Float

o

none
Static, Relative, ‫ مقادير مجاز عبارتند از‬،‫ نحوه قرارگيري يك برچسب در يك سند‬:Position

o

Absolute, Fixed

‫‪o‬‬
‫‪ :Line-Heighto‬فاصله بين دو خط متن در سند‬
‫‪ :Max-Heighto‬حداكثر ارتفاعي كه يك برچسب مي تواند داشته باشد‬
‫‪ :Min-Heighto‬حداقل ارتفاع يك برچسب‬
‫‪ :Widtho‬عرض يك برچسب‬
‫‪ :Max-Widtho‬حداكثر عرض يك برچسب‬
‫‪ :Min-Widtho‬حداقل عرض يك برچسب‬
‫‪ :Height‬ارتفاع يك برچسب در سند‪ .‬مشخصه اندازه اي‬

‫‪o‬‬
‫‪ :Font-Familyo‬نام قلم‪ ،‬بهتر است ليستي از قلمها بسته به پشتيباني از سيستم ها انتخاب شود‪.‬‬
‫‪ :Font‬ميانبري براي اعمال مشخصات كامل فونت و قلم‬

‫معموال نوشته هاي فارس ي با قلم ‪ Tahoma‬خوب نمايش داده مي شوند‪.‬‬

‫‪o‬‬

‫‪ :Font-Size‬اندازه قلم‪ .‬هم مي تواند از انواع مقداري قرار داده شود هم مي تواند يكي از مقادير مجاز‬

‫باشد‬

‫‪xx-small, x-small, small, medium, large, x-large, xx-large,‬‬

‫‪smaller, larger‬‬

‫‪o‬‬

‫‪ :Font-Stretch‬كشيدگي فونت (فاصلي افقي مابين حرفهاي آن)يا مقدار عددي يا يكي از مقادير‬

‫‪normal, wider, narrower, ultra-condensed, extra-condensed, condensed,‬‬
‫‪semi-condensed, semi-expanded, expanded, extra-expanded, ultra-expanded‬‬

‫‪o‬‬
‫‪ :Font-Weighto‬يكي از مقادير ‪ normal, bold, bolder, lighter‬و يا مقدار عددي‬
‫‪ :Font-Style‬يكي از مقادير ‪Normal, Italic, Oblique‬‬

o
none , url(file) :List-Style-Imageo
inside, outside :List-style-Positiono
‫ موارد مجاز عبارتند از‬،‫ شكل موارد ليست‬:List-Style-Typeo

‫ موقعيت و تصوير ليست را مي گيرد‬، ‫ نوع‬،‫ به ترتيب‬.‫ ميانبري براي تنظيمات ليست‬:List-Style

none, disc, circle,

square, decimal, decimal-leading-zero, lower-roman, upper-roman,
lower-alpha,

upper-alpha,

lower-greek,

lower-latin,

upper-latin,

hebrew, armenian, georgian, cjk-ideographic, hiragana, katakana,
hiragana-iroha, katakana-iroha

)auto ‫ فاصله علمت از نوشتار (مقدار يا‬:Marker-Offset

o

‫‪o‬‬

‫‪ :Margin‬ميانبري براي تنظيمات كناره‪ .‬به ترتيب اندازه كناره هاي باال‪ ،‬راست‪ ،‬پايين و چپ را مي گيرد‬

‫(ساعتگرد)‬

‫‪o‬‬

‫‪ :Margin-left, Margin-right, Margin-top, Margin-bottom‬مقدار كناره‪ ،‬مقدار يا‬

‫‪auto‬‬

‫‪o‬‬
‫‪ :Padding-left, Padding-right, Padding-top, Padding-bottomo‬مقدار اليي‬
‫‪ :Padding‬ميانبري براي تنظيم مشخصات اليي گذاري‪ ،‬به ترتيب باال‪ ،‬راست‪ ،‬پايين و چپ‬

‫گذاري‪ ،‬مقدار يا ‪auto‬‬

‫‪o‬‬
‫‪ :Outline-coloro‬رنگ خط حاشيه به ‪RGB‬‬
‫‪ :Outline-styleo‬نوع خط حاشيه يك ش يء‪ ،‬انوع مجاز عبارتند از ‪none, dotted, dashed,‬‬
‫‪ :Outline‬ميانبري براي تمام تنظيمات خط حاشيه‪ ،‬به ترتيب رنگ‪ ،‬نوع و عرض‬

‫‪solid , double , groove, ridge, inset, outset‬‬

‫‪o‬‬

‫‪ :Outline-width‬قطوري خط حاشيه‪ ،‬مقدار عددي يا يكي از مقادير ‪thin, thick, medium‬‬

‫‪o‬‬

‫‪ :Overflow‬در صورتي كه محتويات يك برچسب در آن جاي نگيرند‪ ،‬اين مشخصه معين مي سازد كه‬

‫چه اتفاقي بيافتد‪ .‬مقادير مجاز عبارتند از ‪Visible, Hidden, Auto, Scroll‬‬

‫‪o‬‬

‫‪ :Position‬نحوه قرارگيري برچسب نسبت به سند‪ ،‬مقادير مجاز عبارتند از ‪Static, Relative,‬‬

‫‪Absolute, Fixed‬‬

‫‪o‬‬

‫‪ :Vertical-Align‬نحوه قرارگيري عمودي يك برچسب در داخل برچسب پدر خود را مشخص مي كند‪.‬‬

‫مقادير مجاز عبارتند از ‪baseline, sub, super, top, text-top, middle, bottom,‬‬
‫‪ text-bottom‬و يا مقدار عددي‬

‫‪o‬‬

‫‪ :Z-Index‬اولويت قرارگيري در بعد سوم در صفحه (يعني جلو پشت ديگر برچسب ها)‪ Auto .‬يا يك‬

‫عدد‬

‫‪o‬‬

‫‪ :Border-Collapse‬معين مي سازد كه حواش ي جداول جدا باشند و يا يك مجموعه خط بهم‬

‫پيوسته باشند‪ .‬مقادير مجاز ‪Separate , Collapse‬‬

‫‪o‬‬
‫‪ :Empty-Cellsٍo‬مشخص مي كند كه سلول هاي خالي در مدل ‪ Seperate‬نمايش داده شوند و يا‬
‫‪ :Border-Spacing‬فاصله ميان دو حاشيه جدول‪ ،‬تنها در صورتي كه ‪ Seperate‬باشد‪.‬‬

‫خير‪ .‬مقادير مجاز ‪Show/Hide‬‬

‫‪o‬‬

‫‪ :Table Layout‬الگوريتم نحوه نمايش سلولهاي يك جدول‪Auto/Fixed ،‬‬

‫‪o‬‬
‫‪ :Directiono‬جهت متن (و محتويات)يك برچسب را مشخص مي سازد‪ ،‬مقادير مجاز ‪LTR/RTL‬‬
‫‪ :Text-Aligno‬مقادير مجاز ‪Left, Right, Center, Justify‬‬
‫‪ :Text-Decorationo‬افزودن افكتي به متن‪ ،‬مقادير مجاز عبارتند از ‪none, underline,‬‬
‫‪ :Color‬رنگ يك متن را مشخص مي سازد‪RGB ،‬‬

‫‪overline, line-through, blink‬‬

‫‪o‬‬
‫‪ :Word-Spacingo‬فاصله ميان لغات يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Letter-Spacingo‬فاصله ميان حروف يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Text-Indent‬تو رفتگي اولين خط يك متن‪ .‬مقدار عددي‬

‫تسلط كامل بر ‪CSS‬‬

‫‪o‬‬

‫در ‪ CSS‬رنگها را به دو شیوه می توان مشخص کرد‪:‬‬

‫‪o‬‬
‫‪o‬استفاده از نام رنگ‬

‫تعیين مقدار ‪ 24‬بیتی ‪ RGB‬آنها‬

‫‪o‬‬

‫در روش اول ‪ 16‬میلیون رنگ مختلف برای انتخاب وجود دارند‪ ،‬اما در روش دوم حدود ‪ 200‬رنگ با نام‬

‫های مختلف قابل استفاده هستند‪.‬‬

‫‪o‬‬
‫‪o‬برای مشخص کردن رنگ ‪ ،RGB‬پس از قرار دادن علمت ‪ #‬به ترتیب مقدار ‪ R‬و ‪ G‬و ‪ B‬را در مبنای ‪16‬‬
‫برای مشخص کردن رنگ با نام آن‪ ،‬کافیست نام رنگ را بنویسید‪Cyan, Purple :‬‬

‫وارد می کنیم‪#FFFFFF , #00FF00 :‬‬

‫‪o‬‬

‫همچنين می توان برای مشخص کردن رنگ ‪ RGB‬به صورت روبرو عمل کرد‪RGB(100,255,10):‬‬

‫و یا)‪RGB(70%,20%,100%‬‬

‫‪o‬‬

‫تمامی مقادیر اندازه ای در ‪ CSS‬واحد های متفاوتی را می پذیرند‪ .‬پایه ای ترین واحد همان ‪ Pixel‬است‬

‫که با ‪ px‬در انتهای مقدار مشخص می گردد‪ .‬واحدهای دیگر عبارتند از‪:‬‬

‫‪o‬‬
‫‪ :Ino‬اینچ‬
‫‪ :Cmo‬سانتیمتر‬
‫‪ :Mmo‬میلیمتر‬
‫‪ :Emo‬اندازه فونت‬
‫‪ 1/72 :Pto‬اینتچ‬
‫‪pt 12 :Pco‬‬
‫‪ :Pxo‬یک نقطه‬
‫‪ :%‬درصد!‬

‫‪o‬‬

‫شفافیت )‪ (Transparency‬یک عملیات پیچیده برای سیستم هاییست که کارت گرافیکی قدرتمندی‬

‫ندارد و موتور گرافیکی کاوشگر برای پیاده کردن آن بشدت زیر بار قرار می گيرد‪.‬‬

‫‪o‬‬

‫با استفاده از شفافیت می توان جذابیت بصری را بسیار باالتر برد‪ ،‬اما باید دقت داشت که کندی پردازش‬

‫تصویری سایت برای کاربر ایجاد مزاحمت نکند‪.‬‬

‫‪o‬‬
‫‪ o‬برای ایجاد شفافیت در کاوشگرهای استادارد‪ ،‬از ‪ Opacity : .5‬استفاده می شود‪.‬‬
‫‪o‬برای ایجاد شفافیت در ‪ IE‬از )‪ filter:alpha(opacity=50‬استفاده می شود‪.‬‬
‫‪o‬برای اینکه شفافیت در تمامی کاوشگرها درست نمایش داده شود الزم است هردو دستور باال بکار روند‪.‬‬
‫متاسفانه کاوشگر ‪ IE‬برای شفافیت از دستورات خود استفاده می کند که استاندارد نیستند‪.‬‬

‫‪o‬‬

‫کاوشگرهایی مانند ‪ Firefox‬دستورات ‪ CSS‬ویژه ای دارند (البته ‪ IE‬نيز دستورات مخصوص خود را‬

‫داراست) ‪.‬‬

‫‪o‬‬

‫عبارت ‪ –moz-border-radius‬می تواند گوشه های مستطیل ها را از تيزی درآورده و آنها را نرم‬

‫کند‪-moz-border-radius: 5px; :‬‬

‫‪o‬‬

‫استفاده از این عبارت و راه حل های مشابه پیشنهاد نمی شود زیرا این نما تنها در ‪ Firefox‬قابل مشاهده‬

‫خواهد بود‪.‬‬

‫‪o‬‬

‫‪ CSS‬توانایی آنرا داراست که برای رسانه های خاص تفاوت کند! برای مثال می توانید ‪ CSS‬یک سایت‬

‫را طوری تعریف کنید که رنگ نوشته های آن قرمز باشد ولی هنگام پرینت مشکی شود‪.‬‬

‫‪o‬‬

‫برای مشخص کردن اینکه ‪ CSS‬را برای چه رسانه ای می نویسیم‪ ،‬از ‪ @media‬استفاده می کنیم‪:‬‬
‫‪@media screen‬‬
‫};‪* { color:#ff0000‬‬
‫‪@media print‬‬
‫};‪* { color:#000000‬‬

‫رسانه های معمول عبارتند از‪all, braille, handheld, print, projection, screen, tv, :‬‬
‫…‬

‫‪ CSS‬را قورت بده!‬

‫‪o‬‬

‫فایل ‪ HTML‬ای که در تمرینات ‪ HTML‬ساخته اید و تمامی برچسب ها را داراست‪ ،‬با استفاده از تمامی‬

‫برچسب های ‪ CSS‬قالب بندی کنید‪ .‬سعی کنید زیبایی کافی و قالب بندی مناسب برای سند اتفاق بیافتد! در‬

‫داخل سند تنها می توانید برچسبهای ‪ DIV‬و ‪ SPAN‬اضافه کنید و یا به برچسب های موجود ‪ID ,‬‬
‫‪ CLASS‬بیافزایید‪.‬‬

‫‪o‬‬
‫‪o‬آیا می توان با استفاده از ‪ CSS‬منو ساخت؟ اگر بله راه حل را معين کنید‪.‬‬
‫‪o‬مزایا و معایب نوشتن ‪ CSS‬در یک فایل جداگانه را برشمارید‪.‬‬
‫‪o‬با استفاده از ‪ CSS‬یک ‪ taskbar‬برای یک صفحه بسازید که همواره در قسمت پایين پنجره کاوشگر‬
‫بدون استفاده از جداول و تنها با استفاده از ‪ CSS‬یک صفحه سه ستونی (مانند ‪ )SBCE.ir‬بسازید‪.‬‬

‫(نه لزوما انتهای سند) باشد‪.‬‬


Slide 21

‫کارگاه آموزش ی توسعه وب‬
‫بخش دوم ‪CSS -‬‬

‫ارائه‪ :‬عباس نادری‬
‫انجمن علمی دانشجویی‬
‫مهندس ی کامپیوتر‬
‫نسخه ‪1‬‬

‫دانشگاه شهید بهشتی‬

‫‪ CSS‬چیست ؟‬

‫•‬
‫•معمول ترین استفاده ‪ CSS‬برای قالب بندی اسناد وب )‪ (HTML‬منظور می شود‪.‬‬
‫•با پیچیده شدن وب ها‪ ،‬تصمیم بر آن شد تا محتوا از قالب بندی تفکیک شود و توسعه وب تسهیل‬
‫‪ CSS‬یا ‪ Casacading Style Sheets‬یک استاندارد قالب بندی ظاهری اسناد است‪.‬‬

‫گردد‪.‬‬

‫•‬

‫‪ CSS‬سه نسخه اصلی دارد‪:‬‬

‫•‬
‫•‪ :CSS 2‬در سال ‪ 1998‬توسط ‪ W3C‬استاندارد شد و هنوز به عنوان استاندارد بکار می رود‪.‬‬
‫•‪ :CSS 3‬هنوز در دست توسعه توسط ‪ W3C‬است‪.‬‬
‫‪ :CSS 1‬در سال ‪ 1996‬توسط ‪ W3C‬استاندارد شد‪.‬‬

‫•‬

‫‪ CSS‬به دلیل امکان استفاده مجدد‪ ،‬به شدت توسعه وب را ساده و سریع می کند‪ .‬همچنین قالب‬

‫بندی صفحات با استفاده از آن در قالب تیمی مقدور خواهد بود‪.‬‬

‫•‬

‫‪ CSS‬از طریق انتخابگرها قالب بندی را سرعت می بخشد‪ .‬همچنین از موتور انتخابگر ‪ CSS‬در‬

‫کاربردهای دیگر بهره فراوان برده می شود‪.‬‬

‫•‬

‫‪ :Layout Engine‬برنامه ایست در کاوشگرها که سند ‪ HTML‬و فایل ‪ CSS‬را دریافت کرده‪،‬‬

‫خروجی گرافیکی بر روی صفحه تولید می نماید‪.‬‬

‫•‬

‫‪ :Selector Engine‬موتوریست بر روی کاوشگر که زیرمجموعه ای از برچسب های ‪ HTML‬را‬

‫انتخاب می کند‪.‬‬

:‫ با چند مثال آنرا بررس ی می کنیم‬،‫ گرامر بسیار ساده ای دارد‬CSS
Template:
Selection {
Property: value;
Property: value;
//Comment /*Comment */
}
Example:
div.main {
background-color:#777777;
border-width: 1px;
border-style: solid;
font-family: ‘Tahoma’;
}



‫•‬
‫•در سه جای مختلف می توان از ‪ CSS‬استفاده کرد‪:‬‬

‫‪ CSS‬جزئیات گرامری مختلفی نیز دارد که در طی این ارائه با آنها بیشتر آشنا خواهیم شد‪.‬‬

‫•‬
‫•برچسب های ‪ Style‬در داخل فایل ‪ :HTML‬می توان با افزودن برچسب ‪ Style‬در ‪Head‬یا ‪Body‬‬
‫فایل های ‪ :CSS‬می توان ‪ CSS‬را در فایلی جداگانه نوشت و آنرا در ‪ HTML‬افزود‪.‬‬

‫یک سند‪ CSS ،‬تعریف کرد‪.‬‬

‫•‬

‫صفت ‪ Style‬برای برچسب ها‪ :‬می توان در یکی از صفتهای هر برچسب‪ CSS ،‬آنرا تعریف کرد‪ .‬در این‬

‫حالت دیگر انتخابگر مطرح نیست و قالب بندی تنها برای آن برچسب اعمال می شود‪.‬‬

‫•‬
‫•استفاده از حالت سوم (‪ )Inline CSS‬توصیه نمی شود و جدابودن محتوی از قالب را زیر سوال می‬
‫سه نوع تعریف ‪ CSS‬می توانند همزمان باشند‪ .‬اولویت آنها به ترتیب افزایش می یابد‪.‬‬

‫برد‪ ،‬اما در جاهای خاص ی استفاده از آن کار را راحتتر می کند‪.‬‬

:HTML ‫ جدا و استفاده از آن در‬CSS ‫تعریف در فایل‬
//SomeFile.css
input[text] {
width:200px;
background-color:#000000;
border:solid 0px;
}







:HTML ‫ در بدنه سند‬CSS ‫تعریف‬






:‫ در صفت یک برچسب‬CSS ‫تعریف‬


This is some text with tahoma font






‫چگونگی انتخاب برچسبها‬

‫•‬

‫براي مشخص كردن اينكه يك ‪ CSS‬به كدامين اشياء يك صفحه اعمال شود‪ ،‬بايد از انتخابگرها استفاده‬

‫نمود‪ .‬هر انتخاب گر يك يا چند ش يء در يك صفحه ‪ HTML‬را انتخاب مي كند و سپس مي توان قالب هاي‬

‫مورد نظر را به آن اعمال كرد‪.‬‬

‫•‬

‫انتخابگرهاي ‪ CSS‬تنوع و قدرت به سزايي دارند بنابراين در اين بخش در حدي كه نيازهاي اوليه مرتفع‬

‫شوند آنها را بررس ي خواهيم كرد‪.‬‬

‫•‬

‫انتخابگر ها در دو نحوه اوليه تعريف ‪ CSS‬ها قابل استفاده هستند به قالب زير‪:‬‬
‫{ ‪SelectorStatement‬‬
‫;‪Css Properties & Values‬‬

‫}‬

‫انتخاب تمام برچسب ها ‪* :‬‬
‫انتخاب برچسب هاي خاص‪tagName :‬‬
‫انتخاب برچسبي از زيربرچسب هاي يك برچسب ديگر‪ParentTag DescendantTag :‬‬
‫انتخاب برچسبي از فرزندان يك برچسب ديگر ‪ParentTag > ChildTag :‬‬
‫انتخاب برچسبي بعد از يك برچسب ديگر‪Tag1 + Tag2 :‬‬
‫انتخاب برچسبي با صفتي خاص‪Tag[attrib=“value”] :‬‬
‫آنتخاب يك برچسب در وضعيت هاي خاص‪:‬‬
‫لينك ديده نشده ‪Tag:link‬‬

‫برچسبي كه ماوس رويش است ‪Tag:hover‬‬

‫لينك ديده شده ‪Tag:visited‬‬

‫برچسب درحال كليك ‪Tag:active‬‬
‫برچسب فعال صفحه ‪Tag:focus‬‬

‫•‬

‫همانطور كه قبل ذكر شد‪ ،‬هر بچسب در ‪ HTML‬مي تواند صفات خاص ي را داشته باشد‪ .‬صفاتي كه در‬

‫‪ CSS‬به ما كمك مي كنند‪ ،‬دو صفت ‪ class , id‬هستند‪ .‬با اختصاص دادن اين دو صفت به يك برچسب‬

‫در ‪ HTML‬مي توان ويژگيهاي ‪ CSS‬آنرا به سادگي كنترل كرد‪.‬‬

‫•‬

‫با تعريف يك كلس خاص براي برچسبي ‪ ،‬مي توان آنرا جزو دسته اي قرار داد كه ويژگيهاي ‪CSS‬مشترك‬

‫خاص ي بر روي همگي آنها اعمال شود‪.‬‬

‫•‬

‫با تعريف يك مشخصه منحصره (‪ )Unique Identifier‬براي يك برچسب‪ ،‬مي توان كنترل هاي‬

‫خاص ي از طريق ‪CSS‬و جاوااسكريپت بر روي آن برچسب اعمال كرد‪.‬‬

‫•‬

‫بايد توجه گردد كه ‪ id‬هيچ دو برچسبي در يك سند ‪HTML‬نبايد يكسان باشند‪ ،‬در غير اينصورت نتايج‬

‫قابل پيش بيني نخواهد بود‪.‬‬

*{
font-family: “Tahoma”, “Trebuchet”,”MS Sans Serif”
}
div.Container {
background-color:#777777;
border-width: 1px;
}
P#title {
font-weight:bold;
}
H1 + P {
font-style:italic;
}
input [type=‘button’] {
border-style:none;
}
Body Form > input[type=‘text’] {
text-align:center;
}
DIV P * [title] {
color:#ffffff;
}

‫•‬

‫براي اينكه ‪ CSS‬خاص ي را به چند انتخابگر يكجا اعمال كنيم‪ ،‬مي توانيم آنها را به صورت گروهي قرار‬

‫دهيم‪:‬‬
‫{ ]’‪div.Container , p , input[type=‘text‬‬
‫; ’‪font-family: ‘Tahoma’, ‘Comic Sans MS‬‬
‫}‬

‫•‬
‫• ‪CSS‬با استفاده از عبارات جاوااسكريپت مي تواند مقادير پويا (نسبت به شرايط ‪ )Client‬را به‬
‫در صورتي كه چند دستور يكسان ‪ CSS‬به يك برچسب خاص اعمال شوند‪ ،‬آخرين آنها باقي مي ماند‪.‬‬

‫‪ Property‬ها اعمال كند‪:‬‬
‫;‪Width: expression( document.width /2 )px‬‬

‫مشخصه هاي استاندارد ‪CSS 2‬‬

‫‪o‬‬
‫‪(scroll,fixed)o‬‬

‫‪ : Background‬خلصه اي براي تنظيم تمام مشخصات ‪Background‬‬
‫‪ : Background-Attachement‬وضعيت قرارگيري تصوير در‬

‫‪ ،Background‬در صورتي كه ‪fixed‬باشد‪ ،‬با جابجايي صفحه پشت صفحه آن حركت نخواهد كرد‪.‬‬

‫‪o‬‬
‫‪ :Background-image o‬يا مقدار ‪ none‬مي گيرد و يا با استفاده از )‪URL(adress‬يك آدرس‬
‫)‪ : Background-color (RGB Value‬رنگ پشت صفحه‬

‫فايل تصويري (آدرس وب)‬

‫‪o‬‬
‫‪ :Background-repeato‬در صورتي كه از تصوير استفاده شود‪ ،‬روش تكرار آنرا مشخص مي كند‪.‬‬
‫‪ :Background-position‬مقاديري مانند … ‪top left, center center ,‬‬

‫مقادير مجاز عبارتند از ‪no-repeat, repeat-x,repeat-y,repeat‬‬

‫‪o‬‬
‫‪ :Border-widtho‬عرض حاشيه (ضخامت آن) به عدد‪ ،‬درصد و واحد هاي ديگر اندازه‬
‫‪ :Border-coloro‬رنگ حاشيه به ‪RGB‬‬
‫‪ :Border-styleo‬نوع حاشيه از مقادير ‪none, hidden, dotted, dashed, solid,‬‬
‫‪ :Border‬خلصه اي براي تنظيم مشخصات حاشيه‪ ،‬به ترتيب عرض‪ ،‬نوع و رنگ مي گيرد‪.‬‬

‫‪double, groove, ridge, inset, outset‬‬

‫‪o‬‬

‫براي تغيير تنظيمات مربوط به حاشيه نواحي مختلف (باال‪ ،‬پايين‪ ،‬چپ‪ ،‬راست)مي توانيد از چهار ويژگي باال‬

‫به همراه نام طرف مورد نظر استفاده نماييد‪ ،‬براي مثال‪:‬‬

‫‪o‬‬
‫‪Border-top-coloro‬‬
‫‪Border-bottomo‬‬

‫‪Border-left-width‬‬

o

url(file), auto, ‫ مقادير مجاز عبارتند از‬،‫ شمايل اشاره گر ماوس را معين مي سازد‬:Cursor

crosshair, default, pointer, move, e-resize, ne-resize, nw-resize , nresize, se-resize, sw-resize, s-resize, w-resize , text, wait , help
none, inline, block, list- ‫ مقادير مجاز عبارتند از‬،‫ نحوه نمايش يك برچسب‬:Display

o

item, run-in, compact, marker, table, inline-table , ….

left,

right,

‫ مقادير مجاز عبارتند از‬،‫ گرايش و شناوري يك برچسب به طرفي خاص‬:Float

o

none
Static, Relative, ‫ مقادير مجاز عبارتند از‬،‫ نحوه قرارگيري يك برچسب در يك سند‬:Position

o

Absolute, Fixed

‫‪o‬‬
‫‪ :Line-Heighto‬فاصله بين دو خط متن در سند‬
‫‪ :Max-Heighto‬حداكثر ارتفاعي كه يك برچسب مي تواند داشته باشد‬
‫‪ :Min-Heighto‬حداقل ارتفاع يك برچسب‬
‫‪ :Widtho‬عرض يك برچسب‬
‫‪ :Max-Widtho‬حداكثر عرض يك برچسب‬
‫‪ :Min-Widtho‬حداقل عرض يك برچسب‬
‫‪ :Height‬ارتفاع يك برچسب در سند‪ .‬مشخصه اندازه اي‬

‫‪o‬‬
‫‪ :Font-Familyo‬نام قلم‪ ،‬بهتر است ليستي از قلمها بسته به پشتيباني از سيستم ها انتخاب شود‪.‬‬
‫‪ :Font‬ميانبري براي اعمال مشخصات كامل فونت و قلم‬

‫معموال نوشته هاي فارس ي با قلم ‪ Tahoma‬خوب نمايش داده مي شوند‪.‬‬

‫‪o‬‬

‫‪ :Font-Size‬اندازه قلم‪ .‬هم مي تواند از انواع مقداري قرار داده شود هم مي تواند يكي از مقادير مجاز‬

‫باشد‬

‫‪xx-small, x-small, small, medium, large, x-large, xx-large,‬‬

‫‪smaller, larger‬‬

‫‪o‬‬

‫‪ :Font-Stretch‬كشيدگي فونت (فاصلي افقي مابين حرفهاي آن)يا مقدار عددي يا يكي از مقادير‬

‫‪normal, wider, narrower, ultra-condensed, extra-condensed, condensed,‬‬
‫‪semi-condensed, semi-expanded, expanded, extra-expanded, ultra-expanded‬‬

‫‪o‬‬
‫‪ :Font-Weighto‬يكي از مقادير ‪ normal, bold, bolder, lighter‬و يا مقدار عددي‬
‫‪ :Font-Style‬يكي از مقادير ‪Normal, Italic, Oblique‬‬

o
none , url(file) :List-Style-Imageo
inside, outside :List-style-Positiono
‫ موارد مجاز عبارتند از‬،‫ شكل موارد ليست‬:List-Style-Typeo

‫ موقعيت و تصوير ليست را مي گيرد‬، ‫ نوع‬،‫ به ترتيب‬.‫ ميانبري براي تنظيمات ليست‬:List-Style

none, disc, circle,

square, decimal, decimal-leading-zero, lower-roman, upper-roman,
lower-alpha,

upper-alpha,

lower-greek,

lower-latin,

upper-latin,

hebrew, armenian, georgian, cjk-ideographic, hiragana, katakana,
hiragana-iroha, katakana-iroha

)auto ‫ فاصله علمت از نوشتار (مقدار يا‬:Marker-Offset

o

‫‪o‬‬

‫‪ :Margin‬ميانبري براي تنظيمات كناره‪ .‬به ترتيب اندازه كناره هاي باال‪ ،‬راست‪ ،‬پايين و چپ را مي گيرد‬

‫(ساعتگرد)‬

‫‪o‬‬

‫‪ :Margin-left, Margin-right, Margin-top, Margin-bottom‬مقدار كناره‪ ،‬مقدار يا‬

‫‪auto‬‬

‫‪o‬‬
‫‪ :Padding-left, Padding-right, Padding-top, Padding-bottomo‬مقدار اليي‬
‫‪ :Padding‬ميانبري براي تنظيم مشخصات اليي گذاري‪ ،‬به ترتيب باال‪ ،‬راست‪ ،‬پايين و چپ‬

‫گذاري‪ ،‬مقدار يا ‪auto‬‬

‫‪o‬‬
‫‪ :Outline-coloro‬رنگ خط حاشيه به ‪RGB‬‬
‫‪ :Outline-styleo‬نوع خط حاشيه يك ش يء‪ ،‬انوع مجاز عبارتند از ‪none, dotted, dashed,‬‬
‫‪ :Outline‬ميانبري براي تمام تنظيمات خط حاشيه‪ ،‬به ترتيب رنگ‪ ،‬نوع و عرض‬

‫‪solid , double , groove, ridge, inset, outset‬‬

‫‪o‬‬

‫‪ :Outline-width‬قطوري خط حاشيه‪ ،‬مقدار عددي يا يكي از مقادير ‪thin, thick, medium‬‬

‫‪o‬‬

‫‪ :Overflow‬در صورتي كه محتويات يك برچسب در آن جاي نگيرند‪ ،‬اين مشخصه معين مي سازد كه‬

‫چه اتفاقي بيافتد‪ .‬مقادير مجاز عبارتند از ‪Visible, Hidden, Auto, Scroll‬‬

‫‪o‬‬

‫‪ :Position‬نحوه قرارگيري برچسب نسبت به سند‪ ،‬مقادير مجاز عبارتند از ‪Static, Relative,‬‬

‫‪Absolute, Fixed‬‬

‫‪o‬‬

‫‪ :Vertical-Align‬نحوه قرارگيري عمودي يك برچسب در داخل برچسب پدر خود را مشخص مي كند‪.‬‬

‫مقادير مجاز عبارتند از ‪baseline, sub, super, top, text-top, middle, bottom,‬‬
‫‪ text-bottom‬و يا مقدار عددي‬

‫‪o‬‬

‫‪ :Z-Index‬اولويت قرارگيري در بعد سوم در صفحه (يعني جلو پشت ديگر برچسب ها)‪ Auto .‬يا يك‬

‫عدد‬

‫‪o‬‬

‫‪ :Border-Collapse‬معين مي سازد كه حواش ي جداول جدا باشند و يا يك مجموعه خط بهم‬

‫پيوسته باشند‪ .‬مقادير مجاز ‪Separate , Collapse‬‬

‫‪o‬‬
‫‪ :Empty-Cellsٍo‬مشخص مي كند كه سلول هاي خالي در مدل ‪ Seperate‬نمايش داده شوند و يا‬
‫‪ :Border-Spacing‬فاصله ميان دو حاشيه جدول‪ ،‬تنها در صورتي كه ‪ Seperate‬باشد‪.‬‬

‫خير‪ .‬مقادير مجاز ‪Show/Hide‬‬

‫‪o‬‬

‫‪ :Table Layout‬الگوريتم نحوه نمايش سلولهاي يك جدول‪Auto/Fixed ،‬‬

‫‪o‬‬
‫‪ :Directiono‬جهت متن (و محتويات)يك برچسب را مشخص مي سازد‪ ،‬مقادير مجاز ‪LTR/RTL‬‬
‫‪ :Text-Aligno‬مقادير مجاز ‪Left, Right, Center, Justify‬‬
‫‪ :Text-Decorationo‬افزودن افكتي به متن‪ ،‬مقادير مجاز عبارتند از ‪none, underline,‬‬
‫‪ :Color‬رنگ يك متن را مشخص مي سازد‪RGB ،‬‬

‫‪overline, line-through, blink‬‬

‫‪o‬‬
‫‪ :Word-Spacingo‬فاصله ميان لغات يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Letter-Spacingo‬فاصله ميان حروف يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Text-Indent‬تو رفتگي اولين خط يك متن‪ .‬مقدار عددي‬

‫تسلط كامل بر ‪CSS‬‬

‫‪o‬‬

‫در ‪ CSS‬رنگها را به دو شیوه می توان مشخص کرد‪:‬‬

‫‪o‬‬
‫‪o‬استفاده از نام رنگ‬

‫تعیين مقدار ‪ 24‬بیتی ‪ RGB‬آنها‬

‫‪o‬‬

‫در روش اول ‪ 16‬میلیون رنگ مختلف برای انتخاب وجود دارند‪ ،‬اما در روش دوم حدود ‪ 200‬رنگ با نام‬

‫های مختلف قابل استفاده هستند‪.‬‬

‫‪o‬‬
‫‪o‬برای مشخص کردن رنگ ‪ ،RGB‬پس از قرار دادن علمت ‪ #‬به ترتیب مقدار ‪ R‬و ‪ G‬و ‪ B‬را در مبنای ‪16‬‬
‫برای مشخص کردن رنگ با نام آن‪ ،‬کافیست نام رنگ را بنویسید‪Cyan, Purple :‬‬

‫وارد می کنیم‪#FFFFFF , #00FF00 :‬‬

‫‪o‬‬

‫همچنين می توان برای مشخص کردن رنگ ‪ RGB‬به صورت روبرو عمل کرد‪RGB(100,255,10):‬‬

‫و یا)‪RGB(70%,20%,100%‬‬

‫‪o‬‬

‫تمامی مقادیر اندازه ای در ‪ CSS‬واحد های متفاوتی را می پذیرند‪ .‬پایه ای ترین واحد همان ‪ Pixel‬است‬

‫که با ‪ px‬در انتهای مقدار مشخص می گردد‪ .‬واحدهای دیگر عبارتند از‪:‬‬

‫‪o‬‬
‫‪ :Ino‬اینچ‬
‫‪ :Cmo‬سانتیمتر‬
‫‪ :Mmo‬میلیمتر‬
‫‪ :Emo‬اندازه فونت‬
‫‪ 1/72 :Pto‬اینتچ‬
‫‪pt 12 :Pco‬‬
‫‪ :Pxo‬یک نقطه‬
‫‪ :%‬درصد!‬

‫‪o‬‬

‫شفافیت )‪ (Transparency‬یک عملیات پیچیده برای سیستم هاییست که کارت گرافیکی قدرتمندی‬

‫ندارد و موتور گرافیکی کاوشگر برای پیاده کردن آن بشدت زیر بار قرار می گيرد‪.‬‬

‫‪o‬‬

‫با استفاده از شفافیت می توان جذابیت بصری را بسیار باالتر برد‪ ،‬اما باید دقت داشت که کندی پردازش‬

‫تصویری سایت برای کاربر ایجاد مزاحمت نکند‪.‬‬

‫‪o‬‬
‫‪ o‬برای ایجاد شفافیت در کاوشگرهای استادارد‪ ،‬از ‪ Opacity : .5‬استفاده می شود‪.‬‬
‫‪o‬برای ایجاد شفافیت در ‪ IE‬از )‪ filter:alpha(opacity=50‬استفاده می شود‪.‬‬
‫‪o‬برای اینکه شفافیت در تمامی کاوشگرها درست نمایش داده شود الزم است هردو دستور باال بکار روند‪.‬‬
‫متاسفانه کاوشگر ‪ IE‬برای شفافیت از دستورات خود استفاده می کند که استاندارد نیستند‪.‬‬

‫‪o‬‬

‫کاوشگرهایی مانند ‪ Firefox‬دستورات ‪ CSS‬ویژه ای دارند (البته ‪ IE‬نيز دستورات مخصوص خود را‬

‫داراست) ‪.‬‬

‫‪o‬‬

‫عبارت ‪ –moz-border-radius‬می تواند گوشه های مستطیل ها را از تيزی درآورده و آنها را نرم‬

‫کند‪-moz-border-radius: 5px; :‬‬

‫‪o‬‬

‫استفاده از این عبارت و راه حل های مشابه پیشنهاد نمی شود زیرا این نما تنها در ‪ Firefox‬قابل مشاهده‬

‫خواهد بود‪.‬‬

‫‪o‬‬

‫‪ CSS‬توانایی آنرا داراست که برای رسانه های خاص تفاوت کند! برای مثال می توانید ‪ CSS‬یک سایت‬

‫را طوری تعریف کنید که رنگ نوشته های آن قرمز باشد ولی هنگام پرینت مشکی شود‪.‬‬

‫‪o‬‬

‫برای مشخص کردن اینکه ‪ CSS‬را برای چه رسانه ای می نویسیم‪ ،‬از ‪ @media‬استفاده می کنیم‪:‬‬
‫‪@media screen‬‬
‫};‪* { color:#ff0000‬‬
‫‪@media print‬‬
‫};‪* { color:#000000‬‬

‫رسانه های معمول عبارتند از‪all, braille, handheld, print, projection, screen, tv, :‬‬
‫…‬

‫‪ CSS‬را قورت بده!‬

‫‪o‬‬

‫فایل ‪ HTML‬ای که در تمرینات ‪ HTML‬ساخته اید و تمامی برچسب ها را داراست‪ ،‬با استفاده از تمامی‬

‫برچسب های ‪ CSS‬قالب بندی کنید‪ .‬سعی کنید زیبایی کافی و قالب بندی مناسب برای سند اتفاق بیافتد! در‬

‫داخل سند تنها می توانید برچسبهای ‪ DIV‬و ‪ SPAN‬اضافه کنید و یا به برچسب های موجود ‪ID ,‬‬
‫‪ CLASS‬بیافزایید‪.‬‬

‫‪o‬‬
‫‪o‬آیا می توان با استفاده از ‪ CSS‬منو ساخت؟ اگر بله راه حل را معين کنید‪.‬‬
‫‪o‬مزایا و معایب نوشتن ‪ CSS‬در یک فایل جداگانه را برشمارید‪.‬‬
‫‪o‬با استفاده از ‪ CSS‬یک ‪ taskbar‬برای یک صفحه بسازید که همواره در قسمت پایين پنجره کاوشگر‬
‫بدون استفاده از جداول و تنها با استفاده از ‪ CSS‬یک صفحه سه ستونی (مانند ‪ )SBCE.ir‬بسازید‪.‬‬

‫(نه لزوما انتهای سند) باشد‪.‬‬


Slide 22

‫کارگاه آموزش ی توسعه وب‬
‫بخش دوم ‪CSS -‬‬

‫ارائه‪ :‬عباس نادری‬
‫انجمن علمی دانشجویی‬
‫مهندس ی کامپیوتر‬
‫نسخه ‪1‬‬

‫دانشگاه شهید بهشتی‬

‫‪ CSS‬چیست ؟‬

‫•‬
‫•معمول ترین استفاده ‪ CSS‬برای قالب بندی اسناد وب )‪ (HTML‬منظور می شود‪.‬‬
‫•با پیچیده شدن وب ها‪ ،‬تصمیم بر آن شد تا محتوا از قالب بندی تفکیک شود و توسعه وب تسهیل‬
‫‪ CSS‬یا ‪ Casacading Style Sheets‬یک استاندارد قالب بندی ظاهری اسناد است‪.‬‬

‫گردد‪.‬‬

‫•‬

‫‪ CSS‬سه نسخه اصلی دارد‪:‬‬

‫•‬
‫•‪ :CSS 2‬در سال ‪ 1998‬توسط ‪ W3C‬استاندارد شد و هنوز به عنوان استاندارد بکار می رود‪.‬‬
‫•‪ :CSS 3‬هنوز در دست توسعه توسط ‪ W3C‬است‪.‬‬
‫‪ :CSS 1‬در سال ‪ 1996‬توسط ‪ W3C‬استاندارد شد‪.‬‬

‫•‬

‫‪ CSS‬به دلیل امکان استفاده مجدد‪ ،‬به شدت توسعه وب را ساده و سریع می کند‪ .‬همچنین قالب‬

‫بندی صفحات با استفاده از آن در قالب تیمی مقدور خواهد بود‪.‬‬

‫•‬

‫‪ CSS‬از طریق انتخابگرها قالب بندی را سرعت می بخشد‪ .‬همچنین از موتور انتخابگر ‪ CSS‬در‬

‫کاربردهای دیگر بهره فراوان برده می شود‪.‬‬

‫•‬

‫‪ :Layout Engine‬برنامه ایست در کاوشگرها که سند ‪ HTML‬و فایل ‪ CSS‬را دریافت کرده‪،‬‬

‫خروجی گرافیکی بر روی صفحه تولید می نماید‪.‬‬

‫•‬

‫‪ :Selector Engine‬موتوریست بر روی کاوشگر که زیرمجموعه ای از برچسب های ‪ HTML‬را‬

‫انتخاب می کند‪.‬‬

:‫ با چند مثال آنرا بررس ی می کنیم‬،‫ گرامر بسیار ساده ای دارد‬CSS
Template:
Selection {
Property: value;
Property: value;
//Comment /*Comment */
}
Example:
div.main {
background-color:#777777;
border-width: 1px;
border-style: solid;
font-family: ‘Tahoma’;
}



‫•‬
‫•در سه جای مختلف می توان از ‪ CSS‬استفاده کرد‪:‬‬

‫‪ CSS‬جزئیات گرامری مختلفی نیز دارد که در طی این ارائه با آنها بیشتر آشنا خواهیم شد‪.‬‬

‫•‬
‫•برچسب های ‪ Style‬در داخل فایل ‪ :HTML‬می توان با افزودن برچسب ‪ Style‬در ‪Head‬یا ‪Body‬‬
‫فایل های ‪ :CSS‬می توان ‪ CSS‬را در فایلی جداگانه نوشت و آنرا در ‪ HTML‬افزود‪.‬‬

‫یک سند‪ CSS ،‬تعریف کرد‪.‬‬

‫•‬

‫صفت ‪ Style‬برای برچسب ها‪ :‬می توان در یکی از صفتهای هر برچسب‪ CSS ،‬آنرا تعریف کرد‪ .‬در این‬

‫حالت دیگر انتخابگر مطرح نیست و قالب بندی تنها برای آن برچسب اعمال می شود‪.‬‬

‫•‬
‫•استفاده از حالت سوم (‪ )Inline CSS‬توصیه نمی شود و جدابودن محتوی از قالب را زیر سوال می‬
‫سه نوع تعریف ‪ CSS‬می توانند همزمان باشند‪ .‬اولویت آنها به ترتیب افزایش می یابد‪.‬‬

‫برد‪ ،‬اما در جاهای خاص ی استفاده از آن کار را راحتتر می کند‪.‬‬

:HTML ‫ جدا و استفاده از آن در‬CSS ‫تعریف در فایل‬
//SomeFile.css
input[text] {
width:200px;
background-color:#000000;
border:solid 0px;
}







:HTML ‫ در بدنه سند‬CSS ‫تعریف‬






:‫ در صفت یک برچسب‬CSS ‫تعریف‬


This is some text with tahoma font






‫چگونگی انتخاب برچسبها‬

‫•‬

‫براي مشخص كردن اينكه يك ‪ CSS‬به كدامين اشياء يك صفحه اعمال شود‪ ،‬بايد از انتخابگرها استفاده‬

‫نمود‪ .‬هر انتخاب گر يك يا چند ش يء در يك صفحه ‪ HTML‬را انتخاب مي كند و سپس مي توان قالب هاي‬

‫مورد نظر را به آن اعمال كرد‪.‬‬

‫•‬

‫انتخابگرهاي ‪ CSS‬تنوع و قدرت به سزايي دارند بنابراين در اين بخش در حدي كه نيازهاي اوليه مرتفع‬

‫شوند آنها را بررس ي خواهيم كرد‪.‬‬

‫•‬

‫انتخابگر ها در دو نحوه اوليه تعريف ‪ CSS‬ها قابل استفاده هستند به قالب زير‪:‬‬
‫{ ‪SelectorStatement‬‬
‫;‪Css Properties & Values‬‬

‫}‬

‫انتخاب تمام برچسب ها ‪* :‬‬
‫انتخاب برچسب هاي خاص‪tagName :‬‬
‫انتخاب برچسبي از زيربرچسب هاي يك برچسب ديگر‪ParentTag DescendantTag :‬‬
‫انتخاب برچسبي از فرزندان يك برچسب ديگر ‪ParentTag > ChildTag :‬‬
‫انتخاب برچسبي بعد از يك برچسب ديگر‪Tag1 + Tag2 :‬‬
‫انتخاب برچسبي با صفتي خاص‪Tag[attrib=“value”] :‬‬
‫آنتخاب يك برچسب در وضعيت هاي خاص‪:‬‬
‫لينك ديده نشده ‪Tag:link‬‬

‫برچسبي كه ماوس رويش است ‪Tag:hover‬‬

‫لينك ديده شده ‪Tag:visited‬‬

‫برچسب درحال كليك ‪Tag:active‬‬
‫برچسب فعال صفحه ‪Tag:focus‬‬

‫•‬

‫همانطور كه قبل ذكر شد‪ ،‬هر بچسب در ‪ HTML‬مي تواند صفات خاص ي را داشته باشد‪ .‬صفاتي كه در‬

‫‪ CSS‬به ما كمك مي كنند‪ ،‬دو صفت ‪ class , id‬هستند‪ .‬با اختصاص دادن اين دو صفت به يك برچسب‬

‫در ‪ HTML‬مي توان ويژگيهاي ‪ CSS‬آنرا به سادگي كنترل كرد‪.‬‬

‫•‬

‫با تعريف يك كلس خاص براي برچسبي ‪ ،‬مي توان آنرا جزو دسته اي قرار داد كه ويژگيهاي ‪CSS‬مشترك‬

‫خاص ي بر روي همگي آنها اعمال شود‪.‬‬

‫•‬

‫با تعريف يك مشخصه منحصره (‪ )Unique Identifier‬براي يك برچسب‪ ،‬مي توان كنترل هاي‬

‫خاص ي از طريق ‪CSS‬و جاوااسكريپت بر روي آن برچسب اعمال كرد‪.‬‬

‫•‬

‫بايد توجه گردد كه ‪ id‬هيچ دو برچسبي در يك سند ‪HTML‬نبايد يكسان باشند‪ ،‬در غير اينصورت نتايج‬

‫قابل پيش بيني نخواهد بود‪.‬‬

*{
font-family: “Tahoma”, “Trebuchet”,”MS Sans Serif”
}
div.Container {
background-color:#777777;
border-width: 1px;
}
P#title {
font-weight:bold;
}
H1 + P {
font-style:italic;
}
input [type=‘button’] {
border-style:none;
}
Body Form > input[type=‘text’] {
text-align:center;
}
DIV P * [title] {
color:#ffffff;
}

‫•‬

‫براي اينكه ‪ CSS‬خاص ي را به چند انتخابگر يكجا اعمال كنيم‪ ،‬مي توانيم آنها را به صورت گروهي قرار‬

‫دهيم‪:‬‬
‫{ ]’‪div.Container , p , input[type=‘text‬‬
‫; ’‪font-family: ‘Tahoma’, ‘Comic Sans MS‬‬
‫}‬

‫•‬
‫• ‪CSS‬با استفاده از عبارات جاوااسكريپت مي تواند مقادير پويا (نسبت به شرايط ‪ )Client‬را به‬
‫در صورتي كه چند دستور يكسان ‪ CSS‬به يك برچسب خاص اعمال شوند‪ ،‬آخرين آنها باقي مي ماند‪.‬‬

‫‪ Property‬ها اعمال كند‪:‬‬
‫;‪Width: expression( document.width /2 )px‬‬

‫مشخصه هاي استاندارد ‪CSS 2‬‬

‫‪o‬‬
‫‪(scroll,fixed)o‬‬

‫‪ : Background‬خلصه اي براي تنظيم تمام مشخصات ‪Background‬‬
‫‪ : Background-Attachement‬وضعيت قرارگيري تصوير در‬

‫‪ ،Background‬در صورتي كه ‪fixed‬باشد‪ ،‬با جابجايي صفحه پشت صفحه آن حركت نخواهد كرد‪.‬‬

‫‪o‬‬
‫‪ :Background-image o‬يا مقدار ‪ none‬مي گيرد و يا با استفاده از )‪URL(adress‬يك آدرس‬
‫)‪ : Background-color (RGB Value‬رنگ پشت صفحه‬

‫فايل تصويري (آدرس وب)‬

‫‪o‬‬
‫‪ :Background-repeato‬در صورتي كه از تصوير استفاده شود‪ ،‬روش تكرار آنرا مشخص مي كند‪.‬‬
‫‪ :Background-position‬مقاديري مانند … ‪top left, center center ,‬‬

‫مقادير مجاز عبارتند از ‪no-repeat, repeat-x,repeat-y,repeat‬‬

‫‪o‬‬
‫‪ :Border-widtho‬عرض حاشيه (ضخامت آن) به عدد‪ ،‬درصد و واحد هاي ديگر اندازه‬
‫‪ :Border-coloro‬رنگ حاشيه به ‪RGB‬‬
‫‪ :Border-styleo‬نوع حاشيه از مقادير ‪none, hidden, dotted, dashed, solid,‬‬
‫‪ :Border‬خلصه اي براي تنظيم مشخصات حاشيه‪ ،‬به ترتيب عرض‪ ،‬نوع و رنگ مي گيرد‪.‬‬

‫‪double, groove, ridge, inset, outset‬‬

‫‪o‬‬

‫براي تغيير تنظيمات مربوط به حاشيه نواحي مختلف (باال‪ ،‬پايين‪ ،‬چپ‪ ،‬راست)مي توانيد از چهار ويژگي باال‬

‫به همراه نام طرف مورد نظر استفاده نماييد‪ ،‬براي مثال‪:‬‬

‫‪o‬‬
‫‪Border-top-coloro‬‬
‫‪Border-bottomo‬‬

‫‪Border-left-width‬‬

o

url(file), auto, ‫ مقادير مجاز عبارتند از‬،‫ شمايل اشاره گر ماوس را معين مي سازد‬:Cursor

crosshair, default, pointer, move, e-resize, ne-resize, nw-resize , nresize, se-resize, sw-resize, s-resize, w-resize , text, wait , help
none, inline, block, list- ‫ مقادير مجاز عبارتند از‬،‫ نحوه نمايش يك برچسب‬:Display

o

item, run-in, compact, marker, table, inline-table , ….

left,

right,

‫ مقادير مجاز عبارتند از‬،‫ گرايش و شناوري يك برچسب به طرفي خاص‬:Float

o

none
Static, Relative, ‫ مقادير مجاز عبارتند از‬،‫ نحوه قرارگيري يك برچسب در يك سند‬:Position

o

Absolute, Fixed

‫‪o‬‬
‫‪ :Line-Heighto‬فاصله بين دو خط متن در سند‬
‫‪ :Max-Heighto‬حداكثر ارتفاعي كه يك برچسب مي تواند داشته باشد‬
‫‪ :Min-Heighto‬حداقل ارتفاع يك برچسب‬
‫‪ :Widtho‬عرض يك برچسب‬
‫‪ :Max-Widtho‬حداكثر عرض يك برچسب‬
‫‪ :Min-Widtho‬حداقل عرض يك برچسب‬
‫‪ :Height‬ارتفاع يك برچسب در سند‪ .‬مشخصه اندازه اي‬

‫‪o‬‬
‫‪ :Font-Familyo‬نام قلم‪ ،‬بهتر است ليستي از قلمها بسته به پشتيباني از سيستم ها انتخاب شود‪.‬‬
‫‪ :Font‬ميانبري براي اعمال مشخصات كامل فونت و قلم‬

‫معموال نوشته هاي فارس ي با قلم ‪ Tahoma‬خوب نمايش داده مي شوند‪.‬‬

‫‪o‬‬

‫‪ :Font-Size‬اندازه قلم‪ .‬هم مي تواند از انواع مقداري قرار داده شود هم مي تواند يكي از مقادير مجاز‬

‫باشد‬

‫‪xx-small, x-small, small, medium, large, x-large, xx-large,‬‬

‫‪smaller, larger‬‬

‫‪o‬‬

‫‪ :Font-Stretch‬كشيدگي فونت (فاصلي افقي مابين حرفهاي آن)يا مقدار عددي يا يكي از مقادير‬

‫‪normal, wider, narrower, ultra-condensed, extra-condensed, condensed,‬‬
‫‪semi-condensed, semi-expanded, expanded, extra-expanded, ultra-expanded‬‬

‫‪o‬‬
‫‪ :Font-Weighto‬يكي از مقادير ‪ normal, bold, bolder, lighter‬و يا مقدار عددي‬
‫‪ :Font-Style‬يكي از مقادير ‪Normal, Italic, Oblique‬‬

o
none , url(file) :List-Style-Imageo
inside, outside :List-style-Positiono
‫ موارد مجاز عبارتند از‬،‫ شكل موارد ليست‬:List-Style-Typeo

‫ موقعيت و تصوير ليست را مي گيرد‬، ‫ نوع‬،‫ به ترتيب‬.‫ ميانبري براي تنظيمات ليست‬:List-Style

none, disc, circle,

square, decimal, decimal-leading-zero, lower-roman, upper-roman,
lower-alpha,

upper-alpha,

lower-greek,

lower-latin,

upper-latin,

hebrew, armenian, georgian, cjk-ideographic, hiragana, katakana,
hiragana-iroha, katakana-iroha

)auto ‫ فاصله علمت از نوشتار (مقدار يا‬:Marker-Offset

o

‫‪o‬‬

‫‪ :Margin‬ميانبري براي تنظيمات كناره‪ .‬به ترتيب اندازه كناره هاي باال‪ ،‬راست‪ ،‬پايين و چپ را مي گيرد‬

‫(ساعتگرد)‬

‫‪o‬‬

‫‪ :Margin-left, Margin-right, Margin-top, Margin-bottom‬مقدار كناره‪ ،‬مقدار يا‬

‫‪auto‬‬

‫‪o‬‬
‫‪ :Padding-left, Padding-right, Padding-top, Padding-bottomo‬مقدار اليي‬
‫‪ :Padding‬ميانبري براي تنظيم مشخصات اليي گذاري‪ ،‬به ترتيب باال‪ ،‬راست‪ ،‬پايين و چپ‬

‫گذاري‪ ،‬مقدار يا ‪auto‬‬

‫‪o‬‬
‫‪ :Outline-coloro‬رنگ خط حاشيه به ‪RGB‬‬
‫‪ :Outline-styleo‬نوع خط حاشيه يك ش يء‪ ،‬انوع مجاز عبارتند از ‪none, dotted, dashed,‬‬
‫‪ :Outline‬ميانبري براي تمام تنظيمات خط حاشيه‪ ،‬به ترتيب رنگ‪ ،‬نوع و عرض‬

‫‪solid , double , groove, ridge, inset, outset‬‬

‫‪o‬‬

‫‪ :Outline-width‬قطوري خط حاشيه‪ ،‬مقدار عددي يا يكي از مقادير ‪thin, thick, medium‬‬

‫‪o‬‬

‫‪ :Overflow‬در صورتي كه محتويات يك برچسب در آن جاي نگيرند‪ ،‬اين مشخصه معين مي سازد كه‬

‫چه اتفاقي بيافتد‪ .‬مقادير مجاز عبارتند از ‪Visible, Hidden, Auto, Scroll‬‬

‫‪o‬‬

‫‪ :Position‬نحوه قرارگيري برچسب نسبت به سند‪ ،‬مقادير مجاز عبارتند از ‪Static, Relative,‬‬

‫‪Absolute, Fixed‬‬

‫‪o‬‬

‫‪ :Vertical-Align‬نحوه قرارگيري عمودي يك برچسب در داخل برچسب پدر خود را مشخص مي كند‪.‬‬

‫مقادير مجاز عبارتند از ‪baseline, sub, super, top, text-top, middle, bottom,‬‬
‫‪ text-bottom‬و يا مقدار عددي‬

‫‪o‬‬

‫‪ :Z-Index‬اولويت قرارگيري در بعد سوم در صفحه (يعني جلو پشت ديگر برچسب ها)‪ Auto .‬يا يك‬

‫عدد‬

‫‪o‬‬

‫‪ :Border-Collapse‬معين مي سازد كه حواش ي جداول جدا باشند و يا يك مجموعه خط بهم‬

‫پيوسته باشند‪ .‬مقادير مجاز ‪Separate , Collapse‬‬

‫‪o‬‬
‫‪ :Empty-Cellsٍo‬مشخص مي كند كه سلول هاي خالي در مدل ‪ Seperate‬نمايش داده شوند و يا‬
‫‪ :Border-Spacing‬فاصله ميان دو حاشيه جدول‪ ،‬تنها در صورتي كه ‪ Seperate‬باشد‪.‬‬

‫خير‪ .‬مقادير مجاز ‪Show/Hide‬‬

‫‪o‬‬

‫‪ :Table Layout‬الگوريتم نحوه نمايش سلولهاي يك جدول‪Auto/Fixed ،‬‬

‫‪o‬‬
‫‪ :Directiono‬جهت متن (و محتويات)يك برچسب را مشخص مي سازد‪ ،‬مقادير مجاز ‪LTR/RTL‬‬
‫‪ :Text-Aligno‬مقادير مجاز ‪Left, Right, Center, Justify‬‬
‫‪ :Text-Decorationo‬افزودن افكتي به متن‪ ،‬مقادير مجاز عبارتند از ‪none, underline,‬‬
‫‪ :Color‬رنگ يك متن را مشخص مي سازد‪RGB ،‬‬

‫‪overline, line-through, blink‬‬

‫‪o‬‬
‫‪ :Word-Spacingo‬فاصله ميان لغات يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Letter-Spacingo‬فاصله ميان حروف يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Text-Indent‬تو رفتگي اولين خط يك متن‪ .‬مقدار عددي‬

‫تسلط كامل بر ‪CSS‬‬

‫‪o‬‬

‫در ‪ CSS‬رنگها را به دو شیوه می توان مشخص کرد‪:‬‬

‫‪o‬‬
‫‪o‬استفاده از نام رنگ‬

‫تعیين مقدار ‪ 24‬بیتی ‪ RGB‬آنها‬

‫‪o‬‬

‫در روش اول ‪ 16‬میلیون رنگ مختلف برای انتخاب وجود دارند‪ ،‬اما در روش دوم حدود ‪ 200‬رنگ با نام‬

‫های مختلف قابل استفاده هستند‪.‬‬

‫‪o‬‬
‫‪o‬برای مشخص کردن رنگ ‪ ،RGB‬پس از قرار دادن علمت ‪ #‬به ترتیب مقدار ‪ R‬و ‪ G‬و ‪ B‬را در مبنای ‪16‬‬
‫برای مشخص کردن رنگ با نام آن‪ ،‬کافیست نام رنگ را بنویسید‪Cyan, Purple :‬‬

‫وارد می کنیم‪#FFFFFF , #00FF00 :‬‬

‫‪o‬‬

‫همچنين می توان برای مشخص کردن رنگ ‪ RGB‬به صورت روبرو عمل کرد‪RGB(100,255,10):‬‬

‫و یا)‪RGB(70%,20%,100%‬‬

‫‪o‬‬

‫تمامی مقادیر اندازه ای در ‪ CSS‬واحد های متفاوتی را می پذیرند‪ .‬پایه ای ترین واحد همان ‪ Pixel‬است‬

‫که با ‪ px‬در انتهای مقدار مشخص می گردد‪ .‬واحدهای دیگر عبارتند از‪:‬‬

‫‪o‬‬
‫‪ :Ino‬اینچ‬
‫‪ :Cmo‬سانتیمتر‬
‫‪ :Mmo‬میلیمتر‬
‫‪ :Emo‬اندازه فونت‬
‫‪ 1/72 :Pto‬اینتچ‬
‫‪pt 12 :Pco‬‬
‫‪ :Pxo‬یک نقطه‬
‫‪ :%‬درصد!‬

‫‪o‬‬

‫شفافیت )‪ (Transparency‬یک عملیات پیچیده برای سیستم هاییست که کارت گرافیکی قدرتمندی‬

‫ندارد و موتور گرافیکی کاوشگر برای پیاده کردن آن بشدت زیر بار قرار می گيرد‪.‬‬

‫‪o‬‬

‫با استفاده از شفافیت می توان جذابیت بصری را بسیار باالتر برد‪ ،‬اما باید دقت داشت که کندی پردازش‬

‫تصویری سایت برای کاربر ایجاد مزاحمت نکند‪.‬‬

‫‪o‬‬
‫‪ o‬برای ایجاد شفافیت در کاوشگرهای استادارد‪ ،‬از ‪ Opacity : .5‬استفاده می شود‪.‬‬
‫‪o‬برای ایجاد شفافیت در ‪ IE‬از )‪ filter:alpha(opacity=50‬استفاده می شود‪.‬‬
‫‪o‬برای اینکه شفافیت در تمامی کاوشگرها درست نمایش داده شود الزم است هردو دستور باال بکار روند‪.‬‬
‫متاسفانه کاوشگر ‪ IE‬برای شفافیت از دستورات خود استفاده می کند که استاندارد نیستند‪.‬‬

‫‪o‬‬

‫کاوشگرهایی مانند ‪ Firefox‬دستورات ‪ CSS‬ویژه ای دارند (البته ‪ IE‬نيز دستورات مخصوص خود را‬

‫داراست) ‪.‬‬

‫‪o‬‬

‫عبارت ‪ –moz-border-radius‬می تواند گوشه های مستطیل ها را از تيزی درآورده و آنها را نرم‬

‫کند‪-moz-border-radius: 5px; :‬‬

‫‪o‬‬

‫استفاده از این عبارت و راه حل های مشابه پیشنهاد نمی شود زیرا این نما تنها در ‪ Firefox‬قابل مشاهده‬

‫خواهد بود‪.‬‬

‫‪o‬‬

‫‪ CSS‬توانایی آنرا داراست که برای رسانه های خاص تفاوت کند! برای مثال می توانید ‪ CSS‬یک سایت‬

‫را طوری تعریف کنید که رنگ نوشته های آن قرمز باشد ولی هنگام پرینت مشکی شود‪.‬‬

‫‪o‬‬

‫برای مشخص کردن اینکه ‪ CSS‬را برای چه رسانه ای می نویسیم‪ ،‬از ‪ @media‬استفاده می کنیم‪:‬‬
‫‪@media screen‬‬
‫};‪* { color:#ff0000‬‬
‫‪@media print‬‬
‫};‪* { color:#000000‬‬

‫رسانه های معمول عبارتند از‪all, braille, handheld, print, projection, screen, tv, :‬‬
‫…‬

‫‪ CSS‬را قورت بده!‬

‫‪o‬‬

‫فایل ‪ HTML‬ای که در تمرینات ‪ HTML‬ساخته اید و تمامی برچسب ها را داراست‪ ،‬با استفاده از تمامی‬

‫برچسب های ‪ CSS‬قالب بندی کنید‪ .‬سعی کنید زیبایی کافی و قالب بندی مناسب برای سند اتفاق بیافتد! در‬

‫داخل سند تنها می توانید برچسبهای ‪ DIV‬و ‪ SPAN‬اضافه کنید و یا به برچسب های موجود ‪ID ,‬‬
‫‪ CLASS‬بیافزایید‪.‬‬

‫‪o‬‬
‫‪o‬آیا می توان با استفاده از ‪ CSS‬منو ساخت؟ اگر بله راه حل را معين کنید‪.‬‬
‫‪o‬مزایا و معایب نوشتن ‪ CSS‬در یک فایل جداگانه را برشمارید‪.‬‬
‫‪o‬با استفاده از ‪ CSS‬یک ‪ taskbar‬برای یک صفحه بسازید که همواره در قسمت پایين پنجره کاوشگر‬
‫بدون استفاده از جداول و تنها با استفاده از ‪ CSS‬یک صفحه سه ستونی (مانند ‪ )SBCE.ir‬بسازید‪.‬‬

‫(نه لزوما انتهای سند) باشد‪.‬‬


Slide 23

‫کارگاه آموزش ی توسعه وب‬
‫بخش دوم ‪CSS -‬‬

‫ارائه‪ :‬عباس نادری‬
‫انجمن علمی دانشجویی‬
‫مهندس ی کامپیوتر‬
‫نسخه ‪1‬‬

‫دانشگاه شهید بهشتی‬

‫‪ CSS‬چیست ؟‬

‫•‬
‫•معمول ترین استفاده ‪ CSS‬برای قالب بندی اسناد وب )‪ (HTML‬منظور می شود‪.‬‬
‫•با پیچیده شدن وب ها‪ ،‬تصمیم بر آن شد تا محتوا از قالب بندی تفکیک شود و توسعه وب تسهیل‬
‫‪ CSS‬یا ‪ Casacading Style Sheets‬یک استاندارد قالب بندی ظاهری اسناد است‪.‬‬

‫گردد‪.‬‬

‫•‬

‫‪ CSS‬سه نسخه اصلی دارد‪:‬‬

‫•‬
‫•‪ :CSS 2‬در سال ‪ 1998‬توسط ‪ W3C‬استاندارد شد و هنوز به عنوان استاندارد بکار می رود‪.‬‬
‫•‪ :CSS 3‬هنوز در دست توسعه توسط ‪ W3C‬است‪.‬‬
‫‪ :CSS 1‬در سال ‪ 1996‬توسط ‪ W3C‬استاندارد شد‪.‬‬

‫•‬

‫‪ CSS‬به دلیل امکان استفاده مجدد‪ ،‬به شدت توسعه وب را ساده و سریع می کند‪ .‬همچنین قالب‬

‫بندی صفحات با استفاده از آن در قالب تیمی مقدور خواهد بود‪.‬‬

‫•‬

‫‪ CSS‬از طریق انتخابگرها قالب بندی را سرعت می بخشد‪ .‬همچنین از موتور انتخابگر ‪ CSS‬در‬

‫کاربردهای دیگر بهره فراوان برده می شود‪.‬‬

‫•‬

‫‪ :Layout Engine‬برنامه ایست در کاوشگرها که سند ‪ HTML‬و فایل ‪ CSS‬را دریافت کرده‪،‬‬

‫خروجی گرافیکی بر روی صفحه تولید می نماید‪.‬‬

‫•‬

‫‪ :Selector Engine‬موتوریست بر روی کاوشگر که زیرمجموعه ای از برچسب های ‪ HTML‬را‬

‫انتخاب می کند‪.‬‬

:‫ با چند مثال آنرا بررس ی می کنیم‬،‫ گرامر بسیار ساده ای دارد‬CSS
Template:
Selection {
Property: value;
Property: value;
//Comment /*Comment */
}
Example:
div.main {
background-color:#777777;
border-width: 1px;
border-style: solid;
font-family: ‘Tahoma’;
}



‫•‬
‫•در سه جای مختلف می توان از ‪ CSS‬استفاده کرد‪:‬‬

‫‪ CSS‬جزئیات گرامری مختلفی نیز دارد که در طی این ارائه با آنها بیشتر آشنا خواهیم شد‪.‬‬

‫•‬
‫•برچسب های ‪ Style‬در داخل فایل ‪ :HTML‬می توان با افزودن برچسب ‪ Style‬در ‪Head‬یا ‪Body‬‬
‫فایل های ‪ :CSS‬می توان ‪ CSS‬را در فایلی جداگانه نوشت و آنرا در ‪ HTML‬افزود‪.‬‬

‫یک سند‪ CSS ،‬تعریف کرد‪.‬‬

‫•‬

‫صفت ‪ Style‬برای برچسب ها‪ :‬می توان در یکی از صفتهای هر برچسب‪ CSS ،‬آنرا تعریف کرد‪ .‬در این‬

‫حالت دیگر انتخابگر مطرح نیست و قالب بندی تنها برای آن برچسب اعمال می شود‪.‬‬

‫•‬
‫•استفاده از حالت سوم (‪ )Inline CSS‬توصیه نمی شود و جدابودن محتوی از قالب را زیر سوال می‬
‫سه نوع تعریف ‪ CSS‬می توانند همزمان باشند‪ .‬اولویت آنها به ترتیب افزایش می یابد‪.‬‬

‫برد‪ ،‬اما در جاهای خاص ی استفاده از آن کار را راحتتر می کند‪.‬‬

:HTML ‫ جدا و استفاده از آن در‬CSS ‫تعریف در فایل‬
//SomeFile.css
input[text] {
width:200px;
background-color:#000000;
border:solid 0px;
}







:HTML ‫ در بدنه سند‬CSS ‫تعریف‬






:‫ در صفت یک برچسب‬CSS ‫تعریف‬


This is some text with tahoma font






‫چگونگی انتخاب برچسبها‬

‫•‬

‫براي مشخص كردن اينكه يك ‪ CSS‬به كدامين اشياء يك صفحه اعمال شود‪ ،‬بايد از انتخابگرها استفاده‬

‫نمود‪ .‬هر انتخاب گر يك يا چند ش يء در يك صفحه ‪ HTML‬را انتخاب مي كند و سپس مي توان قالب هاي‬

‫مورد نظر را به آن اعمال كرد‪.‬‬

‫•‬

‫انتخابگرهاي ‪ CSS‬تنوع و قدرت به سزايي دارند بنابراين در اين بخش در حدي كه نيازهاي اوليه مرتفع‬

‫شوند آنها را بررس ي خواهيم كرد‪.‬‬

‫•‬

‫انتخابگر ها در دو نحوه اوليه تعريف ‪ CSS‬ها قابل استفاده هستند به قالب زير‪:‬‬
‫{ ‪SelectorStatement‬‬
‫;‪Css Properties & Values‬‬

‫}‬

‫انتخاب تمام برچسب ها ‪* :‬‬
‫انتخاب برچسب هاي خاص‪tagName :‬‬
‫انتخاب برچسبي از زيربرچسب هاي يك برچسب ديگر‪ParentTag DescendantTag :‬‬
‫انتخاب برچسبي از فرزندان يك برچسب ديگر ‪ParentTag > ChildTag :‬‬
‫انتخاب برچسبي بعد از يك برچسب ديگر‪Tag1 + Tag2 :‬‬
‫انتخاب برچسبي با صفتي خاص‪Tag[attrib=“value”] :‬‬
‫آنتخاب يك برچسب در وضعيت هاي خاص‪:‬‬
‫لينك ديده نشده ‪Tag:link‬‬

‫برچسبي كه ماوس رويش است ‪Tag:hover‬‬

‫لينك ديده شده ‪Tag:visited‬‬

‫برچسب درحال كليك ‪Tag:active‬‬
‫برچسب فعال صفحه ‪Tag:focus‬‬

‫•‬

‫همانطور كه قبل ذكر شد‪ ،‬هر بچسب در ‪ HTML‬مي تواند صفات خاص ي را داشته باشد‪ .‬صفاتي كه در‬

‫‪ CSS‬به ما كمك مي كنند‪ ،‬دو صفت ‪ class , id‬هستند‪ .‬با اختصاص دادن اين دو صفت به يك برچسب‬

‫در ‪ HTML‬مي توان ويژگيهاي ‪ CSS‬آنرا به سادگي كنترل كرد‪.‬‬

‫•‬

‫با تعريف يك كلس خاص براي برچسبي ‪ ،‬مي توان آنرا جزو دسته اي قرار داد كه ويژگيهاي ‪CSS‬مشترك‬

‫خاص ي بر روي همگي آنها اعمال شود‪.‬‬

‫•‬

‫با تعريف يك مشخصه منحصره (‪ )Unique Identifier‬براي يك برچسب‪ ،‬مي توان كنترل هاي‬

‫خاص ي از طريق ‪CSS‬و جاوااسكريپت بر روي آن برچسب اعمال كرد‪.‬‬

‫•‬

‫بايد توجه گردد كه ‪ id‬هيچ دو برچسبي در يك سند ‪HTML‬نبايد يكسان باشند‪ ،‬در غير اينصورت نتايج‬

‫قابل پيش بيني نخواهد بود‪.‬‬

*{
font-family: “Tahoma”, “Trebuchet”,”MS Sans Serif”
}
div.Container {
background-color:#777777;
border-width: 1px;
}
P#title {
font-weight:bold;
}
H1 + P {
font-style:italic;
}
input [type=‘button’] {
border-style:none;
}
Body Form > input[type=‘text’] {
text-align:center;
}
DIV P * [title] {
color:#ffffff;
}

‫•‬

‫براي اينكه ‪ CSS‬خاص ي را به چند انتخابگر يكجا اعمال كنيم‪ ،‬مي توانيم آنها را به صورت گروهي قرار‬

‫دهيم‪:‬‬
‫{ ]’‪div.Container , p , input[type=‘text‬‬
‫; ’‪font-family: ‘Tahoma’, ‘Comic Sans MS‬‬
‫}‬

‫•‬
‫• ‪CSS‬با استفاده از عبارات جاوااسكريپت مي تواند مقادير پويا (نسبت به شرايط ‪ )Client‬را به‬
‫در صورتي كه چند دستور يكسان ‪ CSS‬به يك برچسب خاص اعمال شوند‪ ،‬آخرين آنها باقي مي ماند‪.‬‬

‫‪ Property‬ها اعمال كند‪:‬‬
‫;‪Width: expression( document.width /2 )px‬‬

‫مشخصه هاي استاندارد ‪CSS 2‬‬

‫‪o‬‬
‫‪(scroll,fixed)o‬‬

‫‪ : Background‬خلصه اي براي تنظيم تمام مشخصات ‪Background‬‬
‫‪ : Background-Attachement‬وضعيت قرارگيري تصوير در‬

‫‪ ،Background‬در صورتي كه ‪fixed‬باشد‪ ،‬با جابجايي صفحه پشت صفحه آن حركت نخواهد كرد‪.‬‬

‫‪o‬‬
‫‪ :Background-image o‬يا مقدار ‪ none‬مي گيرد و يا با استفاده از )‪URL(adress‬يك آدرس‬
‫)‪ : Background-color (RGB Value‬رنگ پشت صفحه‬

‫فايل تصويري (آدرس وب)‬

‫‪o‬‬
‫‪ :Background-repeato‬در صورتي كه از تصوير استفاده شود‪ ،‬روش تكرار آنرا مشخص مي كند‪.‬‬
‫‪ :Background-position‬مقاديري مانند … ‪top left, center center ,‬‬

‫مقادير مجاز عبارتند از ‪no-repeat, repeat-x,repeat-y,repeat‬‬

‫‪o‬‬
‫‪ :Border-widtho‬عرض حاشيه (ضخامت آن) به عدد‪ ،‬درصد و واحد هاي ديگر اندازه‬
‫‪ :Border-coloro‬رنگ حاشيه به ‪RGB‬‬
‫‪ :Border-styleo‬نوع حاشيه از مقادير ‪none, hidden, dotted, dashed, solid,‬‬
‫‪ :Border‬خلصه اي براي تنظيم مشخصات حاشيه‪ ،‬به ترتيب عرض‪ ،‬نوع و رنگ مي گيرد‪.‬‬

‫‪double, groove, ridge, inset, outset‬‬

‫‪o‬‬

‫براي تغيير تنظيمات مربوط به حاشيه نواحي مختلف (باال‪ ،‬پايين‪ ،‬چپ‪ ،‬راست)مي توانيد از چهار ويژگي باال‬

‫به همراه نام طرف مورد نظر استفاده نماييد‪ ،‬براي مثال‪:‬‬

‫‪o‬‬
‫‪Border-top-coloro‬‬
‫‪Border-bottomo‬‬

‫‪Border-left-width‬‬

o

url(file), auto, ‫ مقادير مجاز عبارتند از‬،‫ شمايل اشاره گر ماوس را معين مي سازد‬:Cursor

crosshair, default, pointer, move, e-resize, ne-resize, nw-resize , nresize, se-resize, sw-resize, s-resize, w-resize , text, wait , help
none, inline, block, list- ‫ مقادير مجاز عبارتند از‬،‫ نحوه نمايش يك برچسب‬:Display

o

item, run-in, compact, marker, table, inline-table , ….

left,

right,

‫ مقادير مجاز عبارتند از‬،‫ گرايش و شناوري يك برچسب به طرفي خاص‬:Float

o

none
Static, Relative, ‫ مقادير مجاز عبارتند از‬،‫ نحوه قرارگيري يك برچسب در يك سند‬:Position

o

Absolute, Fixed

‫‪o‬‬
‫‪ :Line-Heighto‬فاصله بين دو خط متن در سند‬
‫‪ :Max-Heighto‬حداكثر ارتفاعي كه يك برچسب مي تواند داشته باشد‬
‫‪ :Min-Heighto‬حداقل ارتفاع يك برچسب‬
‫‪ :Widtho‬عرض يك برچسب‬
‫‪ :Max-Widtho‬حداكثر عرض يك برچسب‬
‫‪ :Min-Widtho‬حداقل عرض يك برچسب‬
‫‪ :Height‬ارتفاع يك برچسب در سند‪ .‬مشخصه اندازه اي‬

‫‪o‬‬
‫‪ :Font-Familyo‬نام قلم‪ ،‬بهتر است ليستي از قلمها بسته به پشتيباني از سيستم ها انتخاب شود‪.‬‬
‫‪ :Font‬ميانبري براي اعمال مشخصات كامل فونت و قلم‬

‫معموال نوشته هاي فارس ي با قلم ‪ Tahoma‬خوب نمايش داده مي شوند‪.‬‬

‫‪o‬‬

‫‪ :Font-Size‬اندازه قلم‪ .‬هم مي تواند از انواع مقداري قرار داده شود هم مي تواند يكي از مقادير مجاز‬

‫باشد‬

‫‪xx-small, x-small, small, medium, large, x-large, xx-large,‬‬

‫‪smaller, larger‬‬

‫‪o‬‬

‫‪ :Font-Stretch‬كشيدگي فونت (فاصلي افقي مابين حرفهاي آن)يا مقدار عددي يا يكي از مقادير‬

‫‪normal, wider, narrower, ultra-condensed, extra-condensed, condensed,‬‬
‫‪semi-condensed, semi-expanded, expanded, extra-expanded, ultra-expanded‬‬

‫‪o‬‬
‫‪ :Font-Weighto‬يكي از مقادير ‪ normal, bold, bolder, lighter‬و يا مقدار عددي‬
‫‪ :Font-Style‬يكي از مقادير ‪Normal, Italic, Oblique‬‬

o
none , url(file) :List-Style-Imageo
inside, outside :List-style-Positiono
‫ موارد مجاز عبارتند از‬،‫ شكل موارد ليست‬:List-Style-Typeo

‫ موقعيت و تصوير ليست را مي گيرد‬، ‫ نوع‬،‫ به ترتيب‬.‫ ميانبري براي تنظيمات ليست‬:List-Style

none, disc, circle,

square, decimal, decimal-leading-zero, lower-roman, upper-roman,
lower-alpha,

upper-alpha,

lower-greek,

lower-latin,

upper-latin,

hebrew, armenian, georgian, cjk-ideographic, hiragana, katakana,
hiragana-iroha, katakana-iroha

)auto ‫ فاصله علمت از نوشتار (مقدار يا‬:Marker-Offset

o

‫‪o‬‬

‫‪ :Margin‬ميانبري براي تنظيمات كناره‪ .‬به ترتيب اندازه كناره هاي باال‪ ،‬راست‪ ،‬پايين و چپ را مي گيرد‬

‫(ساعتگرد)‬

‫‪o‬‬

‫‪ :Margin-left, Margin-right, Margin-top, Margin-bottom‬مقدار كناره‪ ،‬مقدار يا‬

‫‪auto‬‬

‫‪o‬‬
‫‪ :Padding-left, Padding-right, Padding-top, Padding-bottomo‬مقدار اليي‬
‫‪ :Padding‬ميانبري براي تنظيم مشخصات اليي گذاري‪ ،‬به ترتيب باال‪ ،‬راست‪ ،‬پايين و چپ‬

‫گذاري‪ ،‬مقدار يا ‪auto‬‬

‫‪o‬‬
‫‪ :Outline-coloro‬رنگ خط حاشيه به ‪RGB‬‬
‫‪ :Outline-styleo‬نوع خط حاشيه يك ش يء‪ ،‬انوع مجاز عبارتند از ‪none, dotted, dashed,‬‬
‫‪ :Outline‬ميانبري براي تمام تنظيمات خط حاشيه‪ ،‬به ترتيب رنگ‪ ،‬نوع و عرض‬

‫‪solid , double , groove, ridge, inset, outset‬‬

‫‪o‬‬

‫‪ :Outline-width‬قطوري خط حاشيه‪ ،‬مقدار عددي يا يكي از مقادير ‪thin, thick, medium‬‬

‫‪o‬‬

‫‪ :Overflow‬در صورتي كه محتويات يك برچسب در آن جاي نگيرند‪ ،‬اين مشخصه معين مي سازد كه‬

‫چه اتفاقي بيافتد‪ .‬مقادير مجاز عبارتند از ‪Visible, Hidden, Auto, Scroll‬‬

‫‪o‬‬

‫‪ :Position‬نحوه قرارگيري برچسب نسبت به سند‪ ،‬مقادير مجاز عبارتند از ‪Static, Relative,‬‬

‫‪Absolute, Fixed‬‬

‫‪o‬‬

‫‪ :Vertical-Align‬نحوه قرارگيري عمودي يك برچسب در داخل برچسب پدر خود را مشخص مي كند‪.‬‬

‫مقادير مجاز عبارتند از ‪baseline, sub, super, top, text-top, middle, bottom,‬‬
‫‪ text-bottom‬و يا مقدار عددي‬

‫‪o‬‬

‫‪ :Z-Index‬اولويت قرارگيري در بعد سوم در صفحه (يعني جلو پشت ديگر برچسب ها)‪ Auto .‬يا يك‬

‫عدد‬

‫‪o‬‬

‫‪ :Border-Collapse‬معين مي سازد كه حواش ي جداول جدا باشند و يا يك مجموعه خط بهم‬

‫پيوسته باشند‪ .‬مقادير مجاز ‪Separate , Collapse‬‬

‫‪o‬‬
‫‪ :Empty-Cellsٍo‬مشخص مي كند كه سلول هاي خالي در مدل ‪ Seperate‬نمايش داده شوند و يا‬
‫‪ :Border-Spacing‬فاصله ميان دو حاشيه جدول‪ ،‬تنها در صورتي كه ‪ Seperate‬باشد‪.‬‬

‫خير‪ .‬مقادير مجاز ‪Show/Hide‬‬

‫‪o‬‬

‫‪ :Table Layout‬الگوريتم نحوه نمايش سلولهاي يك جدول‪Auto/Fixed ،‬‬

‫‪o‬‬
‫‪ :Directiono‬جهت متن (و محتويات)يك برچسب را مشخص مي سازد‪ ،‬مقادير مجاز ‪LTR/RTL‬‬
‫‪ :Text-Aligno‬مقادير مجاز ‪Left, Right, Center, Justify‬‬
‫‪ :Text-Decorationo‬افزودن افكتي به متن‪ ،‬مقادير مجاز عبارتند از ‪none, underline,‬‬
‫‪ :Color‬رنگ يك متن را مشخص مي سازد‪RGB ،‬‬

‫‪overline, line-through, blink‬‬

‫‪o‬‬
‫‪ :Word-Spacingo‬فاصله ميان لغات يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Letter-Spacingo‬فاصله ميان حروف يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Text-Indent‬تو رفتگي اولين خط يك متن‪ .‬مقدار عددي‬

‫تسلط كامل بر ‪CSS‬‬

‫‪o‬‬

‫در ‪ CSS‬رنگها را به دو شیوه می توان مشخص کرد‪:‬‬

‫‪o‬‬
‫‪o‬استفاده از نام رنگ‬

‫تعیين مقدار ‪ 24‬بیتی ‪ RGB‬آنها‬

‫‪o‬‬

‫در روش اول ‪ 16‬میلیون رنگ مختلف برای انتخاب وجود دارند‪ ،‬اما در روش دوم حدود ‪ 200‬رنگ با نام‬

‫های مختلف قابل استفاده هستند‪.‬‬

‫‪o‬‬
‫‪o‬برای مشخص کردن رنگ ‪ ،RGB‬پس از قرار دادن علمت ‪ #‬به ترتیب مقدار ‪ R‬و ‪ G‬و ‪ B‬را در مبنای ‪16‬‬
‫برای مشخص کردن رنگ با نام آن‪ ،‬کافیست نام رنگ را بنویسید‪Cyan, Purple :‬‬

‫وارد می کنیم‪#FFFFFF , #00FF00 :‬‬

‫‪o‬‬

‫همچنين می توان برای مشخص کردن رنگ ‪ RGB‬به صورت روبرو عمل کرد‪RGB(100,255,10):‬‬

‫و یا)‪RGB(70%,20%,100%‬‬

‫‪o‬‬

‫تمامی مقادیر اندازه ای در ‪ CSS‬واحد های متفاوتی را می پذیرند‪ .‬پایه ای ترین واحد همان ‪ Pixel‬است‬

‫که با ‪ px‬در انتهای مقدار مشخص می گردد‪ .‬واحدهای دیگر عبارتند از‪:‬‬

‫‪o‬‬
‫‪ :Ino‬اینچ‬
‫‪ :Cmo‬سانتیمتر‬
‫‪ :Mmo‬میلیمتر‬
‫‪ :Emo‬اندازه فونت‬
‫‪ 1/72 :Pto‬اینتچ‬
‫‪pt 12 :Pco‬‬
‫‪ :Pxo‬یک نقطه‬
‫‪ :%‬درصد!‬

‫‪o‬‬

‫شفافیت )‪ (Transparency‬یک عملیات پیچیده برای سیستم هاییست که کارت گرافیکی قدرتمندی‬

‫ندارد و موتور گرافیکی کاوشگر برای پیاده کردن آن بشدت زیر بار قرار می گيرد‪.‬‬

‫‪o‬‬

‫با استفاده از شفافیت می توان جذابیت بصری را بسیار باالتر برد‪ ،‬اما باید دقت داشت که کندی پردازش‬

‫تصویری سایت برای کاربر ایجاد مزاحمت نکند‪.‬‬

‫‪o‬‬
‫‪ o‬برای ایجاد شفافیت در کاوشگرهای استادارد‪ ،‬از ‪ Opacity : .5‬استفاده می شود‪.‬‬
‫‪o‬برای ایجاد شفافیت در ‪ IE‬از )‪ filter:alpha(opacity=50‬استفاده می شود‪.‬‬
‫‪o‬برای اینکه شفافیت در تمامی کاوشگرها درست نمایش داده شود الزم است هردو دستور باال بکار روند‪.‬‬
‫متاسفانه کاوشگر ‪ IE‬برای شفافیت از دستورات خود استفاده می کند که استاندارد نیستند‪.‬‬

‫‪o‬‬

‫کاوشگرهایی مانند ‪ Firefox‬دستورات ‪ CSS‬ویژه ای دارند (البته ‪ IE‬نيز دستورات مخصوص خود را‬

‫داراست) ‪.‬‬

‫‪o‬‬

‫عبارت ‪ –moz-border-radius‬می تواند گوشه های مستطیل ها را از تيزی درآورده و آنها را نرم‬

‫کند‪-moz-border-radius: 5px; :‬‬

‫‪o‬‬

‫استفاده از این عبارت و راه حل های مشابه پیشنهاد نمی شود زیرا این نما تنها در ‪ Firefox‬قابل مشاهده‬

‫خواهد بود‪.‬‬

‫‪o‬‬

‫‪ CSS‬توانایی آنرا داراست که برای رسانه های خاص تفاوت کند! برای مثال می توانید ‪ CSS‬یک سایت‬

‫را طوری تعریف کنید که رنگ نوشته های آن قرمز باشد ولی هنگام پرینت مشکی شود‪.‬‬

‫‪o‬‬

‫برای مشخص کردن اینکه ‪ CSS‬را برای چه رسانه ای می نویسیم‪ ،‬از ‪ @media‬استفاده می کنیم‪:‬‬
‫‪@media screen‬‬
‫};‪* { color:#ff0000‬‬
‫‪@media print‬‬
‫};‪* { color:#000000‬‬

‫رسانه های معمول عبارتند از‪all, braille, handheld, print, projection, screen, tv, :‬‬
‫…‬

‫‪ CSS‬را قورت بده!‬

‫‪o‬‬

‫فایل ‪ HTML‬ای که در تمرینات ‪ HTML‬ساخته اید و تمامی برچسب ها را داراست‪ ،‬با استفاده از تمامی‬

‫برچسب های ‪ CSS‬قالب بندی کنید‪ .‬سعی کنید زیبایی کافی و قالب بندی مناسب برای سند اتفاق بیافتد! در‬

‫داخل سند تنها می توانید برچسبهای ‪ DIV‬و ‪ SPAN‬اضافه کنید و یا به برچسب های موجود ‪ID ,‬‬
‫‪ CLASS‬بیافزایید‪.‬‬

‫‪o‬‬
‫‪o‬آیا می توان با استفاده از ‪ CSS‬منو ساخت؟ اگر بله راه حل را معين کنید‪.‬‬
‫‪o‬مزایا و معایب نوشتن ‪ CSS‬در یک فایل جداگانه را برشمارید‪.‬‬
‫‪o‬با استفاده از ‪ CSS‬یک ‪ taskbar‬برای یک صفحه بسازید که همواره در قسمت پایين پنجره کاوشگر‬
‫بدون استفاده از جداول و تنها با استفاده از ‪ CSS‬یک صفحه سه ستونی (مانند ‪ )SBCE.ir‬بسازید‪.‬‬

‫(نه لزوما انتهای سند) باشد‪.‬‬


Slide 24

‫کارگاه آموزش ی توسعه وب‬
‫بخش دوم ‪CSS -‬‬

‫ارائه‪ :‬عباس نادری‬
‫انجمن علمی دانشجویی‬
‫مهندس ی کامپیوتر‬
‫نسخه ‪1‬‬

‫دانشگاه شهید بهشتی‬

‫‪ CSS‬چیست ؟‬

‫•‬
‫•معمول ترین استفاده ‪ CSS‬برای قالب بندی اسناد وب )‪ (HTML‬منظور می شود‪.‬‬
‫•با پیچیده شدن وب ها‪ ،‬تصمیم بر آن شد تا محتوا از قالب بندی تفکیک شود و توسعه وب تسهیل‬
‫‪ CSS‬یا ‪ Casacading Style Sheets‬یک استاندارد قالب بندی ظاهری اسناد است‪.‬‬

‫گردد‪.‬‬

‫•‬

‫‪ CSS‬سه نسخه اصلی دارد‪:‬‬

‫•‬
‫•‪ :CSS 2‬در سال ‪ 1998‬توسط ‪ W3C‬استاندارد شد و هنوز به عنوان استاندارد بکار می رود‪.‬‬
‫•‪ :CSS 3‬هنوز در دست توسعه توسط ‪ W3C‬است‪.‬‬
‫‪ :CSS 1‬در سال ‪ 1996‬توسط ‪ W3C‬استاندارد شد‪.‬‬

‫•‬

‫‪ CSS‬به دلیل امکان استفاده مجدد‪ ،‬به شدت توسعه وب را ساده و سریع می کند‪ .‬همچنین قالب‬

‫بندی صفحات با استفاده از آن در قالب تیمی مقدور خواهد بود‪.‬‬

‫•‬

‫‪ CSS‬از طریق انتخابگرها قالب بندی را سرعت می بخشد‪ .‬همچنین از موتور انتخابگر ‪ CSS‬در‬

‫کاربردهای دیگر بهره فراوان برده می شود‪.‬‬

‫•‬

‫‪ :Layout Engine‬برنامه ایست در کاوشگرها که سند ‪ HTML‬و فایل ‪ CSS‬را دریافت کرده‪،‬‬

‫خروجی گرافیکی بر روی صفحه تولید می نماید‪.‬‬

‫•‬

‫‪ :Selector Engine‬موتوریست بر روی کاوشگر که زیرمجموعه ای از برچسب های ‪ HTML‬را‬

‫انتخاب می کند‪.‬‬

:‫ با چند مثال آنرا بررس ی می کنیم‬،‫ گرامر بسیار ساده ای دارد‬CSS
Template:
Selection {
Property: value;
Property: value;
//Comment /*Comment */
}
Example:
div.main {
background-color:#777777;
border-width: 1px;
border-style: solid;
font-family: ‘Tahoma’;
}



‫•‬
‫•در سه جای مختلف می توان از ‪ CSS‬استفاده کرد‪:‬‬

‫‪ CSS‬جزئیات گرامری مختلفی نیز دارد که در طی این ارائه با آنها بیشتر آشنا خواهیم شد‪.‬‬

‫•‬
‫•برچسب های ‪ Style‬در داخل فایل ‪ :HTML‬می توان با افزودن برچسب ‪ Style‬در ‪Head‬یا ‪Body‬‬
‫فایل های ‪ :CSS‬می توان ‪ CSS‬را در فایلی جداگانه نوشت و آنرا در ‪ HTML‬افزود‪.‬‬

‫یک سند‪ CSS ،‬تعریف کرد‪.‬‬

‫•‬

‫صفت ‪ Style‬برای برچسب ها‪ :‬می توان در یکی از صفتهای هر برچسب‪ CSS ،‬آنرا تعریف کرد‪ .‬در این‬

‫حالت دیگر انتخابگر مطرح نیست و قالب بندی تنها برای آن برچسب اعمال می شود‪.‬‬

‫•‬
‫•استفاده از حالت سوم (‪ )Inline CSS‬توصیه نمی شود و جدابودن محتوی از قالب را زیر سوال می‬
‫سه نوع تعریف ‪ CSS‬می توانند همزمان باشند‪ .‬اولویت آنها به ترتیب افزایش می یابد‪.‬‬

‫برد‪ ،‬اما در جاهای خاص ی استفاده از آن کار را راحتتر می کند‪.‬‬

:HTML ‫ جدا و استفاده از آن در‬CSS ‫تعریف در فایل‬
//SomeFile.css
input[text] {
width:200px;
background-color:#000000;
border:solid 0px;
}







:HTML ‫ در بدنه سند‬CSS ‫تعریف‬






:‫ در صفت یک برچسب‬CSS ‫تعریف‬


This is some text with tahoma font






‫چگونگی انتخاب برچسبها‬

‫•‬

‫براي مشخص كردن اينكه يك ‪ CSS‬به كدامين اشياء يك صفحه اعمال شود‪ ،‬بايد از انتخابگرها استفاده‬

‫نمود‪ .‬هر انتخاب گر يك يا چند ش يء در يك صفحه ‪ HTML‬را انتخاب مي كند و سپس مي توان قالب هاي‬

‫مورد نظر را به آن اعمال كرد‪.‬‬

‫•‬

‫انتخابگرهاي ‪ CSS‬تنوع و قدرت به سزايي دارند بنابراين در اين بخش در حدي كه نيازهاي اوليه مرتفع‬

‫شوند آنها را بررس ي خواهيم كرد‪.‬‬

‫•‬

‫انتخابگر ها در دو نحوه اوليه تعريف ‪ CSS‬ها قابل استفاده هستند به قالب زير‪:‬‬
‫{ ‪SelectorStatement‬‬
‫;‪Css Properties & Values‬‬

‫}‬

‫انتخاب تمام برچسب ها ‪* :‬‬
‫انتخاب برچسب هاي خاص‪tagName :‬‬
‫انتخاب برچسبي از زيربرچسب هاي يك برچسب ديگر‪ParentTag DescendantTag :‬‬
‫انتخاب برچسبي از فرزندان يك برچسب ديگر ‪ParentTag > ChildTag :‬‬
‫انتخاب برچسبي بعد از يك برچسب ديگر‪Tag1 + Tag2 :‬‬
‫انتخاب برچسبي با صفتي خاص‪Tag[attrib=“value”] :‬‬
‫آنتخاب يك برچسب در وضعيت هاي خاص‪:‬‬
‫لينك ديده نشده ‪Tag:link‬‬

‫برچسبي كه ماوس رويش است ‪Tag:hover‬‬

‫لينك ديده شده ‪Tag:visited‬‬

‫برچسب درحال كليك ‪Tag:active‬‬
‫برچسب فعال صفحه ‪Tag:focus‬‬

‫•‬

‫همانطور كه قبل ذكر شد‪ ،‬هر بچسب در ‪ HTML‬مي تواند صفات خاص ي را داشته باشد‪ .‬صفاتي كه در‬

‫‪ CSS‬به ما كمك مي كنند‪ ،‬دو صفت ‪ class , id‬هستند‪ .‬با اختصاص دادن اين دو صفت به يك برچسب‬

‫در ‪ HTML‬مي توان ويژگيهاي ‪ CSS‬آنرا به سادگي كنترل كرد‪.‬‬

‫•‬

‫با تعريف يك كلس خاص براي برچسبي ‪ ،‬مي توان آنرا جزو دسته اي قرار داد كه ويژگيهاي ‪CSS‬مشترك‬

‫خاص ي بر روي همگي آنها اعمال شود‪.‬‬

‫•‬

‫با تعريف يك مشخصه منحصره (‪ )Unique Identifier‬براي يك برچسب‪ ،‬مي توان كنترل هاي‬

‫خاص ي از طريق ‪CSS‬و جاوااسكريپت بر روي آن برچسب اعمال كرد‪.‬‬

‫•‬

‫بايد توجه گردد كه ‪ id‬هيچ دو برچسبي در يك سند ‪HTML‬نبايد يكسان باشند‪ ،‬در غير اينصورت نتايج‬

‫قابل پيش بيني نخواهد بود‪.‬‬

*{
font-family: “Tahoma”, “Trebuchet”,”MS Sans Serif”
}
div.Container {
background-color:#777777;
border-width: 1px;
}
P#title {
font-weight:bold;
}
H1 + P {
font-style:italic;
}
input [type=‘button’] {
border-style:none;
}
Body Form > input[type=‘text’] {
text-align:center;
}
DIV P * [title] {
color:#ffffff;
}

‫•‬

‫براي اينكه ‪ CSS‬خاص ي را به چند انتخابگر يكجا اعمال كنيم‪ ،‬مي توانيم آنها را به صورت گروهي قرار‬

‫دهيم‪:‬‬
‫{ ]’‪div.Container , p , input[type=‘text‬‬
‫; ’‪font-family: ‘Tahoma’, ‘Comic Sans MS‬‬
‫}‬

‫•‬
‫• ‪CSS‬با استفاده از عبارات جاوااسكريپت مي تواند مقادير پويا (نسبت به شرايط ‪ )Client‬را به‬
‫در صورتي كه چند دستور يكسان ‪ CSS‬به يك برچسب خاص اعمال شوند‪ ،‬آخرين آنها باقي مي ماند‪.‬‬

‫‪ Property‬ها اعمال كند‪:‬‬
‫;‪Width: expression( document.width /2 )px‬‬

‫مشخصه هاي استاندارد ‪CSS 2‬‬

‫‪o‬‬
‫‪(scroll,fixed)o‬‬

‫‪ : Background‬خلصه اي براي تنظيم تمام مشخصات ‪Background‬‬
‫‪ : Background-Attachement‬وضعيت قرارگيري تصوير در‬

‫‪ ،Background‬در صورتي كه ‪fixed‬باشد‪ ،‬با جابجايي صفحه پشت صفحه آن حركت نخواهد كرد‪.‬‬

‫‪o‬‬
‫‪ :Background-image o‬يا مقدار ‪ none‬مي گيرد و يا با استفاده از )‪URL(adress‬يك آدرس‬
‫)‪ : Background-color (RGB Value‬رنگ پشت صفحه‬

‫فايل تصويري (آدرس وب)‬

‫‪o‬‬
‫‪ :Background-repeato‬در صورتي كه از تصوير استفاده شود‪ ،‬روش تكرار آنرا مشخص مي كند‪.‬‬
‫‪ :Background-position‬مقاديري مانند … ‪top left, center center ,‬‬

‫مقادير مجاز عبارتند از ‪no-repeat, repeat-x,repeat-y,repeat‬‬

‫‪o‬‬
‫‪ :Border-widtho‬عرض حاشيه (ضخامت آن) به عدد‪ ،‬درصد و واحد هاي ديگر اندازه‬
‫‪ :Border-coloro‬رنگ حاشيه به ‪RGB‬‬
‫‪ :Border-styleo‬نوع حاشيه از مقادير ‪none, hidden, dotted, dashed, solid,‬‬
‫‪ :Border‬خلصه اي براي تنظيم مشخصات حاشيه‪ ،‬به ترتيب عرض‪ ،‬نوع و رنگ مي گيرد‪.‬‬

‫‪double, groove, ridge, inset, outset‬‬

‫‪o‬‬

‫براي تغيير تنظيمات مربوط به حاشيه نواحي مختلف (باال‪ ،‬پايين‪ ،‬چپ‪ ،‬راست)مي توانيد از چهار ويژگي باال‬

‫به همراه نام طرف مورد نظر استفاده نماييد‪ ،‬براي مثال‪:‬‬

‫‪o‬‬
‫‪Border-top-coloro‬‬
‫‪Border-bottomo‬‬

‫‪Border-left-width‬‬

o

url(file), auto, ‫ مقادير مجاز عبارتند از‬،‫ شمايل اشاره گر ماوس را معين مي سازد‬:Cursor

crosshair, default, pointer, move, e-resize, ne-resize, nw-resize , nresize, se-resize, sw-resize, s-resize, w-resize , text, wait , help
none, inline, block, list- ‫ مقادير مجاز عبارتند از‬،‫ نحوه نمايش يك برچسب‬:Display

o

item, run-in, compact, marker, table, inline-table , ….

left,

right,

‫ مقادير مجاز عبارتند از‬،‫ گرايش و شناوري يك برچسب به طرفي خاص‬:Float

o

none
Static, Relative, ‫ مقادير مجاز عبارتند از‬،‫ نحوه قرارگيري يك برچسب در يك سند‬:Position

o

Absolute, Fixed

‫‪o‬‬
‫‪ :Line-Heighto‬فاصله بين دو خط متن در سند‬
‫‪ :Max-Heighto‬حداكثر ارتفاعي كه يك برچسب مي تواند داشته باشد‬
‫‪ :Min-Heighto‬حداقل ارتفاع يك برچسب‬
‫‪ :Widtho‬عرض يك برچسب‬
‫‪ :Max-Widtho‬حداكثر عرض يك برچسب‬
‫‪ :Min-Widtho‬حداقل عرض يك برچسب‬
‫‪ :Height‬ارتفاع يك برچسب در سند‪ .‬مشخصه اندازه اي‬

‫‪o‬‬
‫‪ :Font-Familyo‬نام قلم‪ ،‬بهتر است ليستي از قلمها بسته به پشتيباني از سيستم ها انتخاب شود‪.‬‬
‫‪ :Font‬ميانبري براي اعمال مشخصات كامل فونت و قلم‬

‫معموال نوشته هاي فارس ي با قلم ‪ Tahoma‬خوب نمايش داده مي شوند‪.‬‬

‫‪o‬‬

‫‪ :Font-Size‬اندازه قلم‪ .‬هم مي تواند از انواع مقداري قرار داده شود هم مي تواند يكي از مقادير مجاز‬

‫باشد‬

‫‪xx-small, x-small, small, medium, large, x-large, xx-large,‬‬

‫‪smaller, larger‬‬

‫‪o‬‬

‫‪ :Font-Stretch‬كشيدگي فونت (فاصلي افقي مابين حرفهاي آن)يا مقدار عددي يا يكي از مقادير‬

‫‪normal, wider, narrower, ultra-condensed, extra-condensed, condensed,‬‬
‫‪semi-condensed, semi-expanded, expanded, extra-expanded, ultra-expanded‬‬

‫‪o‬‬
‫‪ :Font-Weighto‬يكي از مقادير ‪ normal, bold, bolder, lighter‬و يا مقدار عددي‬
‫‪ :Font-Style‬يكي از مقادير ‪Normal, Italic, Oblique‬‬

o
none , url(file) :List-Style-Imageo
inside, outside :List-style-Positiono
‫ موارد مجاز عبارتند از‬،‫ شكل موارد ليست‬:List-Style-Typeo

‫ موقعيت و تصوير ليست را مي گيرد‬، ‫ نوع‬،‫ به ترتيب‬.‫ ميانبري براي تنظيمات ليست‬:List-Style

none, disc, circle,

square, decimal, decimal-leading-zero, lower-roman, upper-roman,
lower-alpha,

upper-alpha,

lower-greek,

lower-latin,

upper-latin,

hebrew, armenian, georgian, cjk-ideographic, hiragana, katakana,
hiragana-iroha, katakana-iroha

)auto ‫ فاصله علمت از نوشتار (مقدار يا‬:Marker-Offset

o

‫‪o‬‬

‫‪ :Margin‬ميانبري براي تنظيمات كناره‪ .‬به ترتيب اندازه كناره هاي باال‪ ،‬راست‪ ،‬پايين و چپ را مي گيرد‬

‫(ساعتگرد)‬

‫‪o‬‬

‫‪ :Margin-left, Margin-right, Margin-top, Margin-bottom‬مقدار كناره‪ ،‬مقدار يا‬

‫‪auto‬‬

‫‪o‬‬
‫‪ :Padding-left, Padding-right, Padding-top, Padding-bottomo‬مقدار اليي‬
‫‪ :Padding‬ميانبري براي تنظيم مشخصات اليي گذاري‪ ،‬به ترتيب باال‪ ،‬راست‪ ،‬پايين و چپ‬

‫گذاري‪ ،‬مقدار يا ‪auto‬‬

‫‪o‬‬
‫‪ :Outline-coloro‬رنگ خط حاشيه به ‪RGB‬‬
‫‪ :Outline-styleo‬نوع خط حاشيه يك ش يء‪ ،‬انوع مجاز عبارتند از ‪none, dotted, dashed,‬‬
‫‪ :Outline‬ميانبري براي تمام تنظيمات خط حاشيه‪ ،‬به ترتيب رنگ‪ ،‬نوع و عرض‬

‫‪solid , double , groove, ridge, inset, outset‬‬

‫‪o‬‬

‫‪ :Outline-width‬قطوري خط حاشيه‪ ،‬مقدار عددي يا يكي از مقادير ‪thin, thick, medium‬‬

‫‪o‬‬

‫‪ :Overflow‬در صورتي كه محتويات يك برچسب در آن جاي نگيرند‪ ،‬اين مشخصه معين مي سازد كه‬

‫چه اتفاقي بيافتد‪ .‬مقادير مجاز عبارتند از ‪Visible, Hidden, Auto, Scroll‬‬

‫‪o‬‬

‫‪ :Position‬نحوه قرارگيري برچسب نسبت به سند‪ ،‬مقادير مجاز عبارتند از ‪Static, Relative,‬‬

‫‪Absolute, Fixed‬‬

‫‪o‬‬

‫‪ :Vertical-Align‬نحوه قرارگيري عمودي يك برچسب در داخل برچسب پدر خود را مشخص مي كند‪.‬‬

‫مقادير مجاز عبارتند از ‪baseline, sub, super, top, text-top, middle, bottom,‬‬
‫‪ text-bottom‬و يا مقدار عددي‬

‫‪o‬‬

‫‪ :Z-Index‬اولويت قرارگيري در بعد سوم در صفحه (يعني جلو پشت ديگر برچسب ها)‪ Auto .‬يا يك‬

‫عدد‬

‫‪o‬‬

‫‪ :Border-Collapse‬معين مي سازد كه حواش ي جداول جدا باشند و يا يك مجموعه خط بهم‬

‫پيوسته باشند‪ .‬مقادير مجاز ‪Separate , Collapse‬‬

‫‪o‬‬
‫‪ :Empty-Cellsٍo‬مشخص مي كند كه سلول هاي خالي در مدل ‪ Seperate‬نمايش داده شوند و يا‬
‫‪ :Border-Spacing‬فاصله ميان دو حاشيه جدول‪ ،‬تنها در صورتي كه ‪ Seperate‬باشد‪.‬‬

‫خير‪ .‬مقادير مجاز ‪Show/Hide‬‬

‫‪o‬‬

‫‪ :Table Layout‬الگوريتم نحوه نمايش سلولهاي يك جدول‪Auto/Fixed ،‬‬

‫‪o‬‬
‫‪ :Directiono‬جهت متن (و محتويات)يك برچسب را مشخص مي سازد‪ ،‬مقادير مجاز ‪LTR/RTL‬‬
‫‪ :Text-Aligno‬مقادير مجاز ‪Left, Right, Center, Justify‬‬
‫‪ :Text-Decorationo‬افزودن افكتي به متن‪ ،‬مقادير مجاز عبارتند از ‪none, underline,‬‬
‫‪ :Color‬رنگ يك متن را مشخص مي سازد‪RGB ،‬‬

‫‪overline, line-through, blink‬‬

‫‪o‬‬
‫‪ :Word-Spacingo‬فاصله ميان لغات يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Letter-Spacingo‬فاصله ميان حروف يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Text-Indent‬تو رفتگي اولين خط يك متن‪ .‬مقدار عددي‬

‫تسلط كامل بر ‪CSS‬‬

‫‪o‬‬

‫در ‪ CSS‬رنگها را به دو شیوه می توان مشخص کرد‪:‬‬

‫‪o‬‬
‫‪o‬استفاده از نام رنگ‬

‫تعیين مقدار ‪ 24‬بیتی ‪ RGB‬آنها‬

‫‪o‬‬

‫در روش اول ‪ 16‬میلیون رنگ مختلف برای انتخاب وجود دارند‪ ،‬اما در روش دوم حدود ‪ 200‬رنگ با نام‬

‫های مختلف قابل استفاده هستند‪.‬‬

‫‪o‬‬
‫‪o‬برای مشخص کردن رنگ ‪ ،RGB‬پس از قرار دادن علمت ‪ #‬به ترتیب مقدار ‪ R‬و ‪ G‬و ‪ B‬را در مبنای ‪16‬‬
‫برای مشخص کردن رنگ با نام آن‪ ،‬کافیست نام رنگ را بنویسید‪Cyan, Purple :‬‬

‫وارد می کنیم‪#FFFFFF , #00FF00 :‬‬

‫‪o‬‬

‫همچنين می توان برای مشخص کردن رنگ ‪ RGB‬به صورت روبرو عمل کرد‪RGB(100,255,10):‬‬

‫و یا)‪RGB(70%,20%,100%‬‬

‫‪o‬‬

‫تمامی مقادیر اندازه ای در ‪ CSS‬واحد های متفاوتی را می پذیرند‪ .‬پایه ای ترین واحد همان ‪ Pixel‬است‬

‫که با ‪ px‬در انتهای مقدار مشخص می گردد‪ .‬واحدهای دیگر عبارتند از‪:‬‬

‫‪o‬‬
‫‪ :Ino‬اینچ‬
‫‪ :Cmo‬سانتیمتر‬
‫‪ :Mmo‬میلیمتر‬
‫‪ :Emo‬اندازه فونت‬
‫‪ 1/72 :Pto‬اینتچ‬
‫‪pt 12 :Pco‬‬
‫‪ :Pxo‬یک نقطه‬
‫‪ :%‬درصد!‬

‫‪o‬‬

‫شفافیت )‪ (Transparency‬یک عملیات پیچیده برای سیستم هاییست که کارت گرافیکی قدرتمندی‬

‫ندارد و موتور گرافیکی کاوشگر برای پیاده کردن آن بشدت زیر بار قرار می گيرد‪.‬‬

‫‪o‬‬

‫با استفاده از شفافیت می توان جذابیت بصری را بسیار باالتر برد‪ ،‬اما باید دقت داشت که کندی پردازش‬

‫تصویری سایت برای کاربر ایجاد مزاحمت نکند‪.‬‬

‫‪o‬‬
‫‪ o‬برای ایجاد شفافیت در کاوشگرهای استادارد‪ ،‬از ‪ Opacity : .5‬استفاده می شود‪.‬‬
‫‪o‬برای ایجاد شفافیت در ‪ IE‬از )‪ filter:alpha(opacity=50‬استفاده می شود‪.‬‬
‫‪o‬برای اینکه شفافیت در تمامی کاوشگرها درست نمایش داده شود الزم است هردو دستور باال بکار روند‪.‬‬
‫متاسفانه کاوشگر ‪ IE‬برای شفافیت از دستورات خود استفاده می کند که استاندارد نیستند‪.‬‬

‫‪o‬‬

‫کاوشگرهایی مانند ‪ Firefox‬دستورات ‪ CSS‬ویژه ای دارند (البته ‪ IE‬نيز دستورات مخصوص خود را‬

‫داراست) ‪.‬‬

‫‪o‬‬

‫عبارت ‪ –moz-border-radius‬می تواند گوشه های مستطیل ها را از تيزی درآورده و آنها را نرم‬

‫کند‪-moz-border-radius: 5px; :‬‬

‫‪o‬‬

‫استفاده از این عبارت و راه حل های مشابه پیشنهاد نمی شود زیرا این نما تنها در ‪ Firefox‬قابل مشاهده‬

‫خواهد بود‪.‬‬

‫‪o‬‬

‫‪ CSS‬توانایی آنرا داراست که برای رسانه های خاص تفاوت کند! برای مثال می توانید ‪ CSS‬یک سایت‬

‫را طوری تعریف کنید که رنگ نوشته های آن قرمز باشد ولی هنگام پرینت مشکی شود‪.‬‬

‫‪o‬‬

‫برای مشخص کردن اینکه ‪ CSS‬را برای چه رسانه ای می نویسیم‪ ،‬از ‪ @media‬استفاده می کنیم‪:‬‬
‫‪@media screen‬‬
‫};‪* { color:#ff0000‬‬
‫‪@media print‬‬
‫};‪* { color:#000000‬‬

‫رسانه های معمول عبارتند از‪all, braille, handheld, print, projection, screen, tv, :‬‬
‫…‬

‫‪ CSS‬را قورت بده!‬

‫‪o‬‬

‫فایل ‪ HTML‬ای که در تمرینات ‪ HTML‬ساخته اید و تمامی برچسب ها را داراست‪ ،‬با استفاده از تمامی‬

‫برچسب های ‪ CSS‬قالب بندی کنید‪ .‬سعی کنید زیبایی کافی و قالب بندی مناسب برای سند اتفاق بیافتد! در‬

‫داخل سند تنها می توانید برچسبهای ‪ DIV‬و ‪ SPAN‬اضافه کنید و یا به برچسب های موجود ‪ID ,‬‬
‫‪ CLASS‬بیافزایید‪.‬‬

‫‪o‬‬
‫‪o‬آیا می توان با استفاده از ‪ CSS‬منو ساخت؟ اگر بله راه حل را معين کنید‪.‬‬
‫‪o‬مزایا و معایب نوشتن ‪ CSS‬در یک فایل جداگانه را برشمارید‪.‬‬
‫‪o‬با استفاده از ‪ CSS‬یک ‪ taskbar‬برای یک صفحه بسازید که همواره در قسمت پایين پنجره کاوشگر‬
‫بدون استفاده از جداول و تنها با استفاده از ‪ CSS‬یک صفحه سه ستونی (مانند ‪ )SBCE.ir‬بسازید‪.‬‬

‫(نه لزوما انتهای سند) باشد‪.‬‬


Slide 25

‫کارگاه آموزش ی توسعه وب‬
‫بخش دوم ‪CSS -‬‬

‫ارائه‪ :‬عباس نادری‬
‫انجمن علمی دانشجویی‬
‫مهندس ی کامپیوتر‬
‫نسخه ‪1‬‬

‫دانشگاه شهید بهشتی‬

‫‪ CSS‬چیست ؟‬

‫•‬
‫•معمول ترین استفاده ‪ CSS‬برای قالب بندی اسناد وب )‪ (HTML‬منظور می شود‪.‬‬
‫•با پیچیده شدن وب ها‪ ،‬تصمیم بر آن شد تا محتوا از قالب بندی تفکیک شود و توسعه وب تسهیل‬
‫‪ CSS‬یا ‪ Casacading Style Sheets‬یک استاندارد قالب بندی ظاهری اسناد است‪.‬‬

‫گردد‪.‬‬

‫•‬

‫‪ CSS‬سه نسخه اصلی دارد‪:‬‬

‫•‬
‫•‪ :CSS 2‬در سال ‪ 1998‬توسط ‪ W3C‬استاندارد شد و هنوز به عنوان استاندارد بکار می رود‪.‬‬
‫•‪ :CSS 3‬هنوز در دست توسعه توسط ‪ W3C‬است‪.‬‬
‫‪ :CSS 1‬در سال ‪ 1996‬توسط ‪ W3C‬استاندارد شد‪.‬‬

‫•‬

‫‪ CSS‬به دلیل امکان استفاده مجدد‪ ،‬به شدت توسعه وب را ساده و سریع می کند‪ .‬همچنین قالب‬

‫بندی صفحات با استفاده از آن در قالب تیمی مقدور خواهد بود‪.‬‬

‫•‬

‫‪ CSS‬از طریق انتخابگرها قالب بندی را سرعت می بخشد‪ .‬همچنین از موتور انتخابگر ‪ CSS‬در‬

‫کاربردهای دیگر بهره فراوان برده می شود‪.‬‬

‫•‬

‫‪ :Layout Engine‬برنامه ایست در کاوشگرها که سند ‪ HTML‬و فایل ‪ CSS‬را دریافت کرده‪،‬‬

‫خروجی گرافیکی بر روی صفحه تولید می نماید‪.‬‬

‫•‬

‫‪ :Selector Engine‬موتوریست بر روی کاوشگر که زیرمجموعه ای از برچسب های ‪ HTML‬را‬

‫انتخاب می کند‪.‬‬

:‫ با چند مثال آنرا بررس ی می کنیم‬،‫ گرامر بسیار ساده ای دارد‬CSS
Template:
Selection {
Property: value;
Property: value;
//Comment /*Comment */
}
Example:
div.main {
background-color:#777777;
border-width: 1px;
border-style: solid;
font-family: ‘Tahoma’;
}



‫•‬
‫•در سه جای مختلف می توان از ‪ CSS‬استفاده کرد‪:‬‬

‫‪ CSS‬جزئیات گرامری مختلفی نیز دارد که در طی این ارائه با آنها بیشتر آشنا خواهیم شد‪.‬‬

‫•‬
‫•برچسب های ‪ Style‬در داخل فایل ‪ :HTML‬می توان با افزودن برچسب ‪ Style‬در ‪Head‬یا ‪Body‬‬
‫فایل های ‪ :CSS‬می توان ‪ CSS‬را در فایلی جداگانه نوشت و آنرا در ‪ HTML‬افزود‪.‬‬

‫یک سند‪ CSS ،‬تعریف کرد‪.‬‬

‫•‬

‫صفت ‪ Style‬برای برچسب ها‪ :‬می توان در یکی از صفتهای هر برچسب‪ CSS ،‬آنرا تعریف کرد‪ .‬در این‬

‫حالت دیگر انتخابگر مطرح نیست و قالب بندی تنها برای آن برچسب اعمال می شود‪.‬‬

‫•‬
‫•استفاده از حالت سوم (‪ )Inline CSS‬توصیه نمی شود و جدابودن محتوی از قالب را زیر سوال می‬
‫سه نوع تعریف ‪ CSS‬می توانند همزمان باشند‪ .‬اولویت آنها به ترتیب افزایش می یابد‪.‬‬

‫برد‪ ،‬اما در جاهای خاص ی استفاده از آن کار را راحتتر می کند‪.‬‬

:HTML ‫ جدا و استفاده از آن در‬CSS ‫تعریف در فایل‬
//SomeFile.css
input[text] {
width:200px;
background-color:#000000;
border:solid 0px;
}







:HTML ‫ در بدنه سند‬CSS ‫تعریف‬






:‫ در صفت یک برچسب‬CSS ‫تعریف‬


This is some text with tahoma font






‫چگونگی انتخاب برچسبها‬

‫•‬

‫براي مشخص كردن اينكه يك ‪ CSS‬به كدامين اشياء يك صفحه اعمال شود‪ ،‬بايد از انتخابگرها استفاده‬

‫نمود‪ .‬هر انتخاب گر يك يا چند ش يء در يك صفحه ‪ HTML‬را انتخاب مي كند و سپس مي توان قالب هاي‬

‫مورد نظر را به آن اعمال كرد‪.‬‬

‫•‬

‫انتخابگرهاي ‪ CSS‬تنوع و قدرت به سزايي دارند بنابراين در اين بخش در حدي كه نيازهاي اوليه مرتفع‬

‫شوند آنها را بررس ي خواهيم كرد‪.‬‬

‫•‬

‫انتخابگر ها در دو نحوه اوليه تعريف ‪ CSS‬ها قابل استفاده هستند به قالب زير‪:‬‬
‫{ ‪SelectorStatement‬‬
‫;‪Css Properties & Values‬‬

‫}‬

‫انتخاب تمام برچسب ها ‪* :‬‬
‫انتخاب برچسب هاي خاص‪tagName :‬‬
‫انتخاب برچسبي از زيربرچسب هاي يك برچسب ديگر‪ParentTag DescendantTag :‬‬
‫انتخاب برچسبي از فرزندان يك برچسب ديگر ‪ParentTag > ChildTag :‬‬
‫انتخاب برچسبي بعد از يك برچسب ديگر‪Tag1 + Tag2 :‬‬
‫انتخاب برچسبي با صفتي خاص‪Tag[attrib=“value”] :‬‬
‫آنتخاب يك برچسب در وضعيت هاي خاص‪:‬‬
‫لينك ديده نشده ‪Tag:link‬‬

‫برچسبي كه ماوس رويش است ‪Tag:hover‬‬

‫لينك ديده شده ‪Tag:visited‬‬

‫برچسب درحال كليك ‪Tag:active‬‬
‫برچسب فعال صفحه ‪Tag:focus‬‬

‫•‬

‫همانطور كه قبل ذكر شد‪ ،‬هر بچسب در ‪ HTML‬مي تواند صفات خاص ي را داشته باشد‪ .‬صفاتي كه در‬

‫‪ CSS‬به ما كمك مي كنند‪ ،‬دو صفت ‪ class , id‬هستند‪ .‬با اختصاص دادن اين دو صفت به يك برچسب‬

‫در ‪ HTML‬مي توان ويژگيهاي ‪ CSS‬آنرا به سادگي كنترل كرد‪.‬‬

‫•‬

‫با تعريف يك كلس خاص براي برچسبي ‪ ،‬مي توان آنرا جزو دسته اي قرار داد كه ويژگيهاي ‪CSS‬مشترك‬

‫خاص ي بر روي همگي آنها اعمال شود‪.‬‬

‫•‬

‫با تعريف يك مشخصه منحصره (‪ )Unique Identifier‬براي يك برچسب‪ ،‬مي توان كنترل هاي‬

‫خاص ي از طريق ‪CSS‬و جاوااسكريپت بر روي آن برچسب اعمال كرد‪.‬‬

‫•‬

‫بايد توجه گردد كه ‪ id‬هيچ دو برچسبي در يك سند ‪HTML‬نبايد يكسان باشند‪ ،‬در غير اينصورت نتايج‬

‫قابل پيش بيني نخواهد بود‪.‬‬

*{
font-family: “Tahoma”, “Trebuchet”,”MS Sans Serif”
}
div.Container {
background-color:#777777;
border-width: 1px;
}
P#title {
font-weight:bold;
}
H1 + P {
font-style:italic;
}
input [type=‘button’] {
border-style:none;
}
Body Form > input[type=‘text’] {
text-align:center;
}
DIV P * [title] {
color:#ffffff;
}

‫•‬

‫براي اينكه ‪ CSS‬خاص ي را به چند انتخابگر يكجا اعمال كنيم‪ ،‬مي توانيم آنها را به صورت گروهي قرار‬

‫دهيم‪:‬‬
‫{ ]’‪div.Container , p , input[type=‘text‬‬
‫; ’‪font-family: ‘Tahoma’, ‘Comic Sans MS‬‬
‫}‬

‫•‬
‫• ‪CSS‬با استفاده از عبارات جاوااسكريپت مي تواند مقادير پويا (نسبت به شرايط ‪ )Client‬را به‬
‫در صورتي كه چند دستور يكسان ‪ CSS‬به يك برچسب خاص اعمال شوند‪ ،‬آخرين آنها باقي مي ماند‪.‬‬

‫‪ Property‬ها اعمال كند‪:‬‬
‫;‪Width: expression( document.width /2 )px‬‬

‫مشخصه هاي استاندارد ‪CSS 2‬‬

‫‪o‬‬
‫‪(scroll,fixed)o‬‬

‫‪ : Background‬خلصه اي براي تنظيم تمام مشخصات ‪Background‬‬
‫‪ : Background-Attachement‬وضعيت قرارگيري تصوير در‬

‫‪ ،Background‬در صورتي كه ‪fixed‬باشد‪ ،‬با جابجايي صفحه پشت صفحه آن حركت نخواهد كرد‪.‬‬

‫‪o‬‬
‫‪ :Background-image o‬يا مقدار ‪ none‬مي گيرد و يا با استفاده از )‪URL(adress‬يك آدرس‬
‫)‪ : Background-color (RGB Value‬رنگ پشت صفحه‬

‫فايل تصويري (آدرس وب)‬

‫‪o‬‬
‫‪ :Background-repeato‬در صورتي كه از تصوير استفاده شود‪ ،‬روش تكرار آنرا مشخص مي كند‪.‬‬
‫‪ :Background-position‬مقاديري مانند … ‪top left, center center ,‬‬

‫مقادير مجاز عبارتند از ‪no-repeat, repeat-x,repeat-y,repeat‬‬

‫‪o‬‬
‫‪ :Border-widtho‬عرض حاشيه (ضخامت آن) به عدد‪ ،‬درصد و واحد هاي ديگر اندازه‬
‫‪ :Border-coloro‬رنگ حاشيه به ‪RGB‬‬
‫‪ :Border-styleo‬نوع حاشيه از مقادير ‪none, hidden, dotted, dashed, solid,‬‬
‫‪ :Border‬خلصه اي براي تنظيم مشخصات حاشيه‪ ،‬به ترتيب عرض‪ ،‬نوع و رنگ مي گيرد‪.‬‬

‫‪double, groove, ridge, inset, outset‬‬

‫‪o‬‬

‫براي تغيير تنظيمات مربوط به حاشيه نواحي مختلف (باال‪ ،‬پايين‪ ،‬چپ‪ ،‬راست)مي توانيد از چهار ويژگي باال‬

‫به همراه نام طرف مورد نظر استفاده نماييد‪ ،‬براي مثال‪:‬‬

‫‪o‬‬
‫‪Border-top-coloro‬‬
‫‪Border-bottomo‬‬

‫‪Border-left-width‬‬

o

url(file), auto, ‫ مقادير مجاز عبارتند از‬،‫ شمايل اشاره گر ماوس را معين مي سازد‬:Cursor

crosshair, default, pointer, move, e-resize, ne-resize, nw-resize , nresize, se-resize, sw-resize, s-resize, w-resize , text, wait , help
none, inline, block, list- ‫ مقادير مجاز عبارتند از‬،‫ نحوه نمايش يك برچسب‬:Display

o

item, run-in, compact, marker, table, inline-table , ….

left,

right,

‫ مقادير مجاز عبارتند از‬،‫ گرايش و شناوري يك برچسب به طرفي خاص‬:Float

o

none
Static, Relative, ‫ مقادير مجاز عبارتند از‬،‫ نحوه قرارگيري يك برچسب در يك سند‬:Position

o

Absolute, Fixed

‫‪o‬‬
‫‪ :Line-Heighto‬فاصله بين دو خط متن در سند‬
‫‪ :Max-Heighto‬حداكثر ارتفاعي كه يك برچسب مي تواند داشته باشد‬
‫‪ :Min-Heighto‬حداقل ارتفاع يك برچسب‬
‫‪ :Widtho‬عرض يك برچسب‬
‫‪ :Max-Widtho‬حداكثر عرض يك برچسب‬
‫‪ :Min-Widtho‬حداقل عرض يك برچسب‬
‫‪ :Height‬ارتفاع يك برچسب در سند‪ .‬مشخصه اندازه اي‬

‫‪o‬‬
‫‪ :Font-Familyo‬نام قلم‪ ،‬بهتر است ليستي از قلمها بسته به پشتيباني از سيستم ها انتخاب شود‪.‬‬
‫‪ :Font‬ميانبري براي اعمال مشخصات كامل فونت و قلم‬

‫معموال نوشته هاي فارس ي با قلم ‪ Tahoma‬خوب نمايش داده مي شوند‪.‬‬

‫‪o‬‬

‫‪ :Font-Size‬اندازه قلم‪ .‬هم مي تواند از انواع مقداري قرار داده شود هم مي تواند يكي از مقادير مجاز‬

‫باشد‬

‫‪xx-small, x-small, small, medium, large, x-large, xx-large,‬‬

‫‪smaller, larger‬‬

‫‪o‬‬

‫‪ :Font-Stretch‬كشيدگي فونت (فاصلي افقي مابين حرفهاي آن)يا مقدار عددي يا يكي از مقادير‬

‫‪normal, wider, narrower, ultra-condensed, extra-condensed, condensed,‬‬
‫‪semi-condensed, semi-expanded, expanded, extra-expanded, ultra-expanded‬‬

‫‪o‬‬
‫‪ :Font-Weighto‬يكي از مقادير ‪ normal, bold, bolder, lighter‬و يا مقدار عددي‬
‫‪ :Font-Style‬يكي از مقادير ‪Normal, Italic, Oblique‬‬

o
none , url(file) :List-Style-Imageo
inside, outside :List-style-Positiono
‫ موارد مجاز عبارتند از‬،‫ شكل موارد ليست‬:List-Style-Typeo

‫ موقعيت و تصوير ليست را مي گيرد‬، ‫ نوع‬،‫ به ترتيب‬.‫ ميانبري براي تنظيمات ليست‬:List-Style

none, disc, circle,

square, decimal, decimal-leading-zero, lower-roman, upper-roman,
lower-alpha,

upper-alpha,

lower-greek,

lower-latin,

upper-latin,

hebrew, armenian, georgian, cjk-ideographic, hiragana, katakana,
hiragana-iroha, katakana-iroha

)auto ‫ فاصله علمت از نوشتار (مقدار يا‬:Marker-Offset

o

‫‪o‬‬

‫‪ :Margin‬ميانبري براي تنظيمات كناره‪ .‬به ترتيب اندازه كناره هاي باال‪ ،‬راست‪ ،‬پايين و چپ را مي گيرد‬

‫(ساعتگرد)‬

‫‪o‬‬

‫‪ :Margin-left, Margin-right, Margin-top, Margin-bottom‬مقدار كناره‪ ،‬مقدار يا‬

‫‪auto‬‬

‫‪o‬‬
‫‪ :Padding-left, Padding-right, Padding-top, Padding-bottomo‬مقدار اليي‬
‫‪ :Padding‬ميانبري براي تنظيم مشخصات اليي گذاري‪ ،‬به ترتيب باال‪ ،‬راست‪ ،‬پايين و چپ‬

‫گذاري‪ ،‬مقدار يا ‪auto‬‬

‫‪o‬‬
‫‪ :Outline-coloro‬رنگ خط حاشيه به ‪RGB‬‬
‫‪ :Outline-styleo‬نوع خط حاشيه يك ش يء‪ ،‬انوع مجاز عبارتند از ‪none, dotted, dashed,‬‬
‫‪ :Outline‬ميانبري براي تمام تنظيمات خط حاشيه‪ ،‬به ترتيب رنگ‪ ،‬نوع و عرض‬

‫‪solid , double , groove, ridge, inset, outset‬‬

‫‪o‬‬

‫‪ :Outline-width‬قطوري خط حاشيه‪ ،‬مقدار عددي يا يكي از مقادير ‪thin, thick, medium‬‬

‫‪o‬‬

‫‪ :Overflow‬در صورتي كه محتويات يك برچسب در آن جاي نگيرند‪ ،‬اين مشخصه معين مي سازد كه‬

‫چه اتفاقي بيافتد‪ .‬مقادير مجاز عبارتند از ‪Visible, Hidden, Auto, Scroll‬‬

‫‪o‬‬

‫‪ :Position‬نحوه قرارگيري برچسب نسبت به سند‪ ،‬مقادير مجاز عبارتند از ‪Static, Relative,‬‬

‫‪Absolute, Fixed‬‬

‫‪o‬‬

‫‪ :Vertical-Align‬نحوه قرارگيري عمودي يك برچسب در داخل برچسب پدر خود را مشخص مي كند‪.‬‬

‫مقادير مجاز عبارتند از ‪baseline, sub, super, top, text-top, middle, bottom,‬‬
‫‪ text-bottom‬و يا مقدار عددي‬

‫‪o‬‬

‫‪ :Z-Index‬اولويت قرارگيري در بعد سوم در صفحه (يعني جلو پشت ديگر برچسب ها)‪ Auto .‬يا يك‬

‫عدد‬

‫‪o‬‬

‫‪ :Border-Collapse‬معين مي سازد كه حواش ي جداول جدا باشند و يا يك مجموعه خط بهم‬

‫پيوسته باشند‪ .‬مقادير مجاز ‪Separate , Collapse‬‬

‫‪o‬‬
‫‪ :Empty-Cellsٍo‬مشخص مي كند كه سلول هاي خالي در مدل ‪ Seperate‬نمايش داده شوند و يا‬
‫‪ :Border-Spacing‬فاصله ميان دو حاشيه جدول‪ ،‬تنها در صورتي كه ‪ Seperate‬باشد‪.‬‬

‫خير‪ .‬مقادير مجاز ‪Show/Hide‬‬

‫‪o‬‬

‫‪ :Table Layout‬الگوريتم نحوه نمايش سلولهاي يك جدول‪Auto/Fixed ،‬‬

‫‪o‬‬
‫‪ :Directiono‬جهت متن (و محتويات)يك برچسب را مشخص مي سازد‪ ،‬مقادير مجاز ‪LTR/RTL‬‬
‫‪ :Text-Aligno‬مقادير مجاز ‪Left, Right, Center, Justify‬‬
‫‪ :Text-Decorationo‬افزودن افكتي به متن‪ ،‬مقادير مجاز عبارتند از ‪none, underline,‬‬
‫‪ :Color‬رنگ يك متن را مشخص مي سازد‪RGB ،‬‬

‫‪overline, line-through, blink‬‬

‫‪o‬‬
‫‪ :Word-Spacingo‬فاصله ميان لغات يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Letter-Spacingo‬فاصله ميان حروف يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Text-Indent‬تو رفتگي اولين خط يك متن‪ .‬مقدار عددي‬

‫تسلط كامل بر ‪CSS‬‬

‫‪o‬‬

‫در ‪ CSS‬رنگها را به دو شیوه می توان مشخص کرد‪:‬‬

‫‪o‬‬
‫‪o‬استفاده از نام رنگ‬

‫تعیين مقدار ‪ 24‬بیتی ‪ RGB‬آنها‬

‫‪o‬‬

‫در روش اول ‪ 16‬میلیون رنگ مختلف برای انتخاب وجود دارند‪ ،‬اما در روش دوم حدود ‪ 200‬رنگ با نام‬

‫های مختلف قابل استفاده هستند‪.‬‬

‫‪o‬‬
‫‪o‬برای مشخص کردن رنگ ‪ ،RGB‬پس از قرار دادن علمت ‪ #‬به ترتیب مقدار ‪ R‬و ‪ G‬و ‪ B‬را در مبنای ‪16‬‬
‫برای مشخص کردن رنگ با نام آن‪ ،‬کافیست نام رنگ را بنویسید‪Cyan, Purple :‬‬

‫وارد می کنیم‪#FFFFFF , #00FF00 :‬‬

‫‪o‬‬

‫همچنين می توان برای مشخص کردن رنگ ‪ RGB‬به صورت روبرو عمل کرد‪RGB(100,255,10):‬‬

‫و یا)‪RGB(70%,20%,100%‬‬

‫‪o‬‬

‫تمامی مقادیر اندازه ای در ‪ CSS‬واحد های متفاوتی را می پذیرند‪ .‬پایه ای ترین واحد همان ‪ Pixel‬است‬

‫که با ‪ px‬در انتهای مقدار مشخص می گردد‪ .‬واحدهای دیگر عبارتند از‪:‬‬

‫‪o‬‬
‫‪ :Ino‬اینچ‬
‫‪ :Cmo‬سانتیمتر‬
‫‪ :Mmo‬میلیمتر‬
‫‪ :Emo‬اندازه فونت‬
‫‪ 1/72 :Pto‬اینتچ‬
‫‪pt 12 :Pco‬‬
‫‪ :Pxo‬یک نقطه‬
‫‪ :%‬درصد!‬

‫‪o‬‬

‫شفافیت )‪ (Transparency‬یک عملیات پیچیده برای سیستم هاییست که کارت گرافیکی قدرتمندی‬

‫ندارد و موتور گرافیکی کاوشگر برای پیاده کردن آن بشدت زیر بار قرار می گيرد‪.‬‬

‫‪o‬‬

‫با استفاده از شفافیت می توان جذابیت بصری را بسیار باالتر برد‪ ،‬اما باید دقت داشت که کندی پردازش‬

‫تصویری سایت برای کاربر ایجاد مزاحمت نکند‪.‬‬

‫‪o‬‬
‫‪ o‬برای ایجاد شفافیت در کاوشگرهای استادارد‪ ،‬از ‪ Opacity : .5‬استفاده می شود‪.‬‬
‫‪o‬برای ایجاد شفافیت در ‪ IE‬از )‪ filter:alpha(opacity=50‬استفاده می شود‪.‬‬
‫‪o‬برای اینکه شفافیت در تمامی کاوشگرها درست نمایش داده شود الزم است هردو دستور باال بکار روند‪.‬‬
‫متاسفانه کاوشگر ‪ IE‬برای شفافیت از دستورات خود استفاده می کند که استاندارد نیستند‪.‬‬

‫‪o‬‬

‫کاوشگرهایی مانند ‪ Firefox‬دستورات ‪ CSS‬ویژه ای دارند (البته ‪ IE‬نيز دستورات مخصوص خود را‬

‫داراست) ‪.‬‬

‫‪o‬‬

‫عبارت ‪ –moz-border-radius‬می تواند گوشه های مستطیل ها را از تيزی درآورده و آنها را نرم‬

‫کند‪-moz-border-radius: 5px; :‬‬

‫‪o‬‬

‫استفاده از این عبارت و راه حل های مشابه پیشنهاد نمی شود زیرا این نما تنها در ‪ Firefox‬قابل مشاهده‬

‫خواهد بود‪.‬‬

‫‪o‬‬

‫‪ CSS‬توانایی آنرا داراست که برای رسانه های خاص تفاوت کند! برای مثال می توانید ‪ CSS‬یک سایت‬

‫را طوری تعریف کنید که رنگ نوشته های آن قرمز باشد ولی هنگام پرینت مشکی شود‪.‬‬

‫‪o‬‬

‫برای مشخص کردن اینکه ‪ CSS‬را برای چه رسانه ای می نویسیم‪ ،‬از ‪ @media‬استفاده می کنیم‪:‬‬
‫‪@media screen‬‬
‫};‪* { color:#ff0000‬‬
‫‪@media print‬‬
‫};‪* { color:#000000‬‬

‫رسانه های معمول عبارتند از‪all, braille, handheld, print, projection, screen, tv, :‬‬
‫…‬

‫‪ CSS‬را قورت بده!‬

‫‪o‬‬

‫فایل ‪ HTML‬ای که در تمرینات ‪ HTML‬ساخته اید و تمامی برچسب ها را داراست‪ ،‬با استفاده از تمامی‬

‫برچسب های ‪ CSS‬قالب بندی کنید‪ .‬سعی کنید زیبایی کافی و قالب بندی مناسب برای سند اتفاق بیافتد! در‬

‫داخل سند تنها می توانید برچسبهای ‪ DIV‬و ‪ SPAN‬اضافه کنید و یا به برچسب های موجود ‪ID ,‬‬
‫‪ CLASS‬بیافزایید‪.‬‬

‫‪o‬‬
‫‪o‬آیا می توان با استفاده از ‪ CSS‬منو ساخت؟ اگر بله راه حل را معين کنید‪.‬‬
‫‪o‬مزایا و معایب نوشتن ‪ CSS‬در یک فایل جداگانه را برشمارید‪.‬‬
‫‪o‬با استفاده از ‪ CSS‬یک ‪ taskbar‬برای یک صفحه بسازید که همواره در قسمت پایين پنجره کاوشگر‬
‫بدون استفاده از جداول و تنها با استفاده از ‪ CSS‬یک صفحه سه ستونی (مانند ‪ )SBCE.ir‬بسازید‪.‬‬

‫(نه لزوما انتهای سند) باشد‪.‬‬


Slide 26

‫کارگاه آموزش ی توسعه وب‬
‫بخش دوم ‪CSS -‬‬

‫ارائه‪ :‬عباس نادری‬
‫انجمن علمی دانشجویی‬
‫مهندس ی کامپیوتر‬
‫نسخه ‪1‬‬

‫دانشگاه شهید بهشتی‬

‫‪ CSS‬چیست ؟‬

‫•‬
‫•معمول ترین استفاده ‪ CSS‬برای قالب بندی اسناد وب )‪ (HTML‬منظور می شود‪.‬‬
‫•با پیچیده شدن وب ها‪ ،‬تصمیم بر آن شد تا محتوا از قالب بندی تفکیک شود و توسعه وب تسهیل‬
‫‪ CSS‬یا ‪ Casacading Style Sheets‬یک استاندارد قالب بندی ظاهری اسناد است‪.‬‬

‫گردد‪.‬‬

‫•‬

‫‪ CSS‬سه نسخه اصلی دارد‪:‬‬

‫•‬
‫•‪ :CSS 2‬در سال ‪ 1998‬توسط ‪ W3C‬استاندارد شد و هنوز به عنوان استاندارد بکار می رود‪.‬‬
‫•‪ :CSS 3‬هنوز در دست توسعه توسط ‪ W3C‬است‪.‬‬
‫‪ :CSS 1‬در سال ‪ 1996‬توسط ‪ W3C‬استاندارد شد‪.‬‬

‫•‬

‫‪ CSS‬به دلیل امکان استفاده مجدد‪ ،‬به شدت توسعه وب را ساده و سریع می کند‪ .‬همچنین قالب‬

‫بندی صفحات با استفاده از آن در قالب تیمی مقدور خواهد بود‪.‬‬

‫•‬

‫‪ CSS‬از طریق انتخابگرها قالب بندی را سرعت می بخشد‪ .‬همچنین از موتور انتخابگر ‪ CSS‬در‬

‫کاربردهای دیگر بهره فراوان برده می شود‪.‬‬

‫•‬

‫‪ :Layout Engine‬برنامه ایست در کاوشگرها که سند ‪ HTML‬و فایل ‪ CSS‬را دریافت کرده‪،‬‬

‫خروجی گرافیکی بر روی صفحه تولید می نماید‪.‬‬

‫•‬

‫‪ :Selector Engine‬موتوریست بر روی کاوشگر که زیرمجموعه ای از برچسب های ‪ HTML‬را‬

‫انتخاب می کند‪.‬‬

:‫ با چند مثال آنرا بررس ی می کنیم‬،‫ گرامر بسیار ساده ای دارد‬CSS
Template:
Selection {
Property: value;
Property: value;
//Comment /*Comment */
}
Example:
div.main {
background-color:#777777;
border-width: 1px;
border-style: solid;
font-family: ‘Tahoma’;
}



‫•‬
‫•در سه جای مختلف می توان از ‪ CSS‬استفاده کرد‪:‬‬

‫‪ CSS‬جزئیات گرامری مختلفی نیز دارد که در طی این ارائه با آنها بیشتر آشنا خواهیم شد‪.‬‬

‫•‬
‫•برچسب های ‪ Style‬در داخل فایل ‪ :HTML‬می توان با افزودن برچسب ‪ Style‬در ‪Head‬یا ‪Body‬‬
‫فایل های ‪ :CSS‬می توان ‪ CSS‬را در فایلی جداگانه نوشت و آنرا در ‪ HTML‬افزود‪.‬‬

‫یک سند‪ CSS ،‬تعریف کرد‪.‬‬

‫•‬

‫صفت ‪ Style‬برای برچسب ها‪ :‬می توان در یکی از صفتهای هر برچسب‪ CSS ،‬آنرا تعریف کرد‪ .‬در این‬

‫حالت دیگر انتخابگر مطرح نیست و قالب بندی تنها برای آن برچسب اعمال می شود‪.‬‬

‫•‬
‫•استفاده از حالت سوم (‪ )Inline CSS‬توصیه نمی شود و جدابودن محتوی از قالب را زیر سوال می‬
‫سه نوع تعریف ‪ CSS‬می توانند همزمان باشند‪ .‬اولویت آنها به ترتیب افزایش می یابد‪.‬‬

‫برد‪ ،‬اما در جاهای خاص ی استفاده از آن کار را راحتتر می کند‪.‬‬

:HTML ‫ جدا و استفاده از آن در‬CSS ‫تعریف در فایل‬
//SomeFile.css
input[text] {
width:200px;
background-color:#000000;
border:solid 0px;
}







:HTML ‫ در بدنه سند‬CSS ‫تعریف‬






:‫ در صفت یک برچسب‬CSS ‫تعریف‬


This is some text with tahoma font






‫چگونگی انتخاب برچسبها‬

‫•‬

‫براي مشخص كردن اينكه يك ‪ CSS‬به كدامين اشياء يك صفحه اعمال شود‪ ،‬بايد از انتخابگرها استفاده‬

‫نمود‪ .‬هر انتخاب گر يك يا چند ش يء در يك صفحه ‪ HTML‬را انتخاب مي كند و سپس مي توان قالب هاي‬

‫مورد نظر را به آن اعمال كرد‪.‬‬

‫•‬

‫انتخابگرهاي ‪ CSS‬تنوع و قدرت به سزايي دارند بنابراين در اين بخش در حدي كه نيازهاي اوليه مرتفع‬

‫شوند آنها را بررس ي خواهيم كرد‪.‬‬

‫•‬

‫انتخابگر ها در دو نحوه اوليه تعريف ‪ CSS‬ها قابل استفاده هستند به قالب زير‪:‬‬
‫{ ‪SelectorStatement‬‬
‫;‪Css Properties & Values‬‬

‫}‬

‫انتخاب تمام برچسب ها ‪* :‬‬
‫انتخاب برچسب هاي خاص‪tagName :‬‬
‫انتخاب برچسبي از زيربرچسب هاي يك برچسب ديگر‪ParentTag DescendantTag :‬‬
‫انتخاب برچسبي از فرزندان يك برچسب ديگر ‪ParentTag > ChildTag :‬‬
‫انتخاب برچسبي بعد از يك برچسب ديگر‪Tag1 + Tag2 :‬‬
‫انتخاب برچسبي با صفتي خاص‪Tag[attrib=“value”] :‬‬
‫آنتخاب يك برچسب در وضعيت هاي خاص‪:‬‬
‫لينك ديده نشده ‪Tag:link‬‬

‫برچسبي كه ماوس رويش است ‪Tag:hover‬‬

‫لينك ديده شده ‪Tag:visited‬‬

‫برچسب درحال كليك ‪Tag:active‬‬
‫برچسب فعال صفحه ‪Tag:focus‬‬

‫•‬

‫همانطور كه قبل ذكر شد‪ ،‬هر بچسب در ‪ HTML‬مي تواند صفات خاص ي را داشته باشد‪ .‬صفاتي كه در‬

‫‪ CSS‬به ما كمك مي كنند‪ ،‬دو صفت ‪ class , id‬هستند‪ .‬با اختصاص دادن اين دو صفت به يك برچسب‬

‫در ‪ HTML‬مي توان ويژگيهاي ‪ CSS‬آنرا به سادگي كنترل كرد‪.‬‬

‫•‬

‫با تعريف يك كلس خاص براي برچسبي ‪ ،‬مي توان آنرا جزو دسته اي قرار داد كه ويژگيهاي ‪CSS‬مشترك‬

‫خاص ي بر روي همگي آنها اعمال شود‪.‬‬

‫•‬

‫با تعريف يك مشخصه منحصره (‪ )Unique Identifier‬براي يك برچسب‪ ،‬مي توان كنترل هاي‬

‫خاص ي از طريق ‪CSS‬و جاوااسكريپت بر روي آن برچسب اعمال كرد‪.‬‬

‫•‬

‫بايد توجه گردد كه ‪ id‬هيچ دو برچسبي در يك سند ‪HTML‬نبايد يكسان باشند‪ ،‬در غير اينصورت نتايج‬

‫قابل پيش بيني نخواهد بود‪.‬‬

*{
font-family: “Tahoma”, “Trebuchet”,”MS Sans Serif”
}
div.Container {
background-color:#777777;
border-width: 1px;
}
P#title {
font-weight:bold;
}
H1 + P {
font-style:italic;
}
input [type=‘button’] {
border-style:none;
}
Body Form > input[type=‘text’] {
text-align:center;
}
DIV P * [title] {
color:#ffffff;
}

‫•‬

‫براي اينكه ‪ CSS‬خاص ي را به چند انتخابگر يكجا اعمال كنيم‪ ،‬مي توانيم آنها را به صورت گروهي قرار‬

‫دهيم‪:‬‬
‫{ ]’‪div.Container , p , input[type=‘text‬‬
‫; ’‪font-family: ‘Tahoma’, ‘Comic Sans MS‬‬
‫}‬

‫•‬
‫• ‪CSS‬با استفاده از عبارات جاوااسكريپت مي تواند مقادير پويا (نسبت به شرايط ‪ )Client‬را به‬
‫در صورتي كه چند دستور يكسان ‪ CSS‬به يك برچسب خاص اعمال شوند‪ ،‬آخرين آنها باقي مي ماند‪.‬‬

‫‪ Property‬ها اعمال كند‪:‬‬
‫;‪Width: expression( document.width /2 )px‬‬

‫مشخصه هاي استاندارد ‪CSS 2‬‬

‫‪o‬‬
‫‪(scroll,fixed)o‬‬

‫‪ : Background‬خلصه اي براي تنظيم تمام مشخصات ‪Background‬‬
‫‪ : Background-Attachement‬وضعيت قرارگيري تصوير در‬

‫‪ ،Background‬در صورتي كه ‪fixed‬باشد‪ ،‬با جابجايي صفحه پشت صفحه آن حركت نخواهد كرد‪.‬‬

‫‪o‬‬
‫‪ :Background-image o‬يا مقدار ‪ none‬مي گيرد و يا با استفاده از )‪URL(adress‬يك آدرس‬
‫)‪ : Background-color (RGB Value‬رنگ پشت صفحه‬

‫فايل تصويري (آدرس وب)‬

‫‪o‬‬
‫‪ :Background-repeato‬در صورتي كه از تصوير استفاده شود‪ ،‬روش تكرار آنرا مشخص مي كند‪.‬‬
‫‪ :Background-position‬مقاديري مانند … ‪top left, center center ,‬‬

‫مقادير مجاز عبارتند از ‪no-repeat, repeat-x,repeat-y,repeat‬‬

‫‪o‬‬
‫‪ :Border-widtho‬عرض حاشيه (ضخامت آن) به عدد‪ ،‬درصد و واحد هاي ديگر اندازه‬
‫‪ :Border-coloro‬رنگ حاشيه به ‪RGB‬‬
‫‪ :Border-styleo‬نوع حاشيه از مقادير ‪none, hidden, dotted, dashed, solid,‬‬
‫‪ :Border‬خلصه اي براي تنظيم مشخصات حاشيه‪ ،‬به ترتيب عرض‪ ،‬نوع و رنگ مي گيرد‪.‬‬

‫‪double, groove, ridge, inset, outset‬‬

‫‪o‬‬

‫براي تغيير تنظيمات مربوط به حاشيه نواحي مختلف (باال‪ ،‬پايين‪ ،‬چپ‪ ،‬راست)مي توانيد از چهار ويژگي باال‬

‫به همراه نام طرف مورد نظر استفاده نماييد‪ ،‬براي مثال‪:‬‬

‫‪o‬‬
‫‪Border-top-coloro‬‬
‫‪Border-bottomo‬‬

‫‪Border-left-width‬‬

o

url(file), auto, ‫ مقادير مجاز عبارتند از‬،‫ شمايل اشاره گر ماوس را معين مي سازد‬:Cursor

crosshair, default, pointer, move, e-resize, ne-resize, nw-resize , nresize, se-resize, sw-resize, s-resize, w-resize , text, wait , help
none, inline, block, list- ‫ مقادير مجاز عبارتند از‬،‫ نحوه نمايش يك برچسب‬:Display

o

item, run-in, compact, marker, table, inline-table , ….

left,

right,

‫ مقادير مجاز عبارتند از‬،‫ گرايش و شناوري يك برچسب به طرفي خاص‬:Float

o

none
Static, Relative, ‫ مقادير مجاز عبارتند از‬،‫ نحوه قرارگيري يك برچسب در يك سند‬:Position

o

Absolute, Fixed

‫‪o‬‬
‫‪ :Line-Heighto‬فاصله بين دو خط متن در سند‬
‫‪ :Max-Heighto‬حداكثر ارتفاعي كه يك برچسب مي تواند داشته باشد‬
‫‪ :Min-Heighto‬حداقل ارتفاع يك برچسب‬
‫‪ :Widtho‬عرض يك برچسب‬
‫‪ :Max-Widtho‬حداكثر عرض يك برچسب‬
‫‪ :Min-Widtho‬حداقل عرض يك برچسب‬
‫‪ :Height‬ارتفاع يك برچسب در سند‪ .‬مشخصه اندازه اي‬

‫‪o‬‬
‫‪ :Font-Familyo‬نام قلم‪ ،‬بهتر است ليستي از قلمها بسته به پشتيباني از سيستم ها انتخاب شود‪.‬‬
‫‪ :Font‬ميانبري براي اعمال مشخصات كامل فونت و قلم‬

‫معموال نوشته هاي فارس ي با قلم ‪ Tahoma‬خوب نمايش داده مي شوند‪.‬‬

‫‪o‬‬

‫‪ :Font-Size‬اندازه قلم‪ .‬هم مي تواند از انواع مقداري قرار داده شود هم مي تواند يكي از مقادير مجاز‬

‫باشد‬

‫‪xx-small, x-small, small, medium, large, x-large, xx-large,‬‬

‫‪smaller, larger‬‬

‫‪o‬‬

‫‪ :Font-Stretch‬كشيدگي فونت (فاصلي افقي مابين حرفهاي آن)يا مقدار عددي يا يكي از مقادير‬

‫‪normal, wider, narrower, ultra-condensed, extra-condensed, condensed,‬‬
‫‪semi-condensed, semi-expanded, expanded, extra-expanded, ultra-expanded‬‬

‫‪o‬‬
‫‪ :Font-Weighto‬يكي از مقادير ‪ normal, bold, bolder, lighter‬و يا مقدار عددي‬
‫‪ :Font-Style‬يكي از مقادير ‪Normal, Italic, Oblique‬‬

o
none , url(file) :List-Style-Imageo
inside, outside :List-style-Positiono
‫ موارد مجاز عبارتند از‬،‫ شكل موارد ليست‬:List-Style-Typeo

‫ موقعيت و تصوير ليست را مي گيرد‬، ‫ نوع‬،‫ به ترتيب‬.‫ ميانبري براي تنظيمات ليست‬:List-Style

none, disc, circle,

square, decimal, decimal-leading-zero, lower-roman, upper-roman,
lower-alpha,

upper-alpha,

lower-greek,

lower-latin,

upper-latin,

hebrew, armenian, georgian, cjk-ideographic, hiragana, katakana,
hiragana-iroha, katakana-iroha

)auto ‫ فاصله علمت از نوشتار (مقدار يا‬:Marker-Offset

o

‫‪o‬‬

‫‪ :Margin‬ميانبري براي تنظيمات كناره‪ .‬به ترتيب اندازه كناره هاي باال‪ ،‬راست‪ ،‬پايين و چپ را مي گيرد‬

‫(ساعتگرد)‬

‫‪o‬‬

‫‪ :Margin-left, Margin-right, Margin-top, Margin-bottom‬مقدار كناره‪ ،‬مقدار يا‬

‫‪auto‬‬

‫‪o‬‬
‫‪ :Padding-left, Padding-right, Padding-top, Padding-bottomo‬مقدار اليي‬
‫‪ :Padding‬ميانبري براي تنظيم مشخصات اليي گذاري‪ ،‬به ترتيب باال‪ ،‬راست‪ ،‬پايين و چپ‬

‫گذاري‪ ،‬مقدار يا ‪auto‬‬

‫‪o‬‬
‫‪ :Outline-coloro‬رنگ خط حاشيه به ‪RGB‬‬
‫‪ :Outline-styleo‬نوع خط حاشيه يك ش يء‪ ،‬انوع مجاز عبارتند از ‪none, dotted, dashed,‬‬
‫‪ :Outline‬ميانبري براي تمام تنظيمات خط حاشيه‪ ،‬به ترتيب رنگ‪ ،‬نوع و عرض‬

‫‪solid , double , groove, ridge, inset, outset‬‬

‫‪o‬‬

‫‪ :Outline-width‬قطوري خط حاشيه‪ ،‬مقدار عددي يا يكي از مقادير ‪thin, thick, medium‬‬

‫‪o‬‬

‫‪ :Overflow‬در صورتي كه محتويات يك برچسب در آن جاي نگيرند‪ ،‬اين مشخصه معين مي سازد كه‬

‫چه اتفاقي بيافتد‪ .‬مقادير مجاز عبارتند از ‪Visible, Hidden, Auto, Scroll‬‬

‫‪o‬‬

‫‪ :Position‬نحوه قرارگيري برچسب نسبت به سند‪ ،‬مقادير مجاز عبارتند از ‪Static, Relative,‬‬

‫‪Absolute, Fixed‬‬

‫‪o‬‬

‫‪ :Vertical-Align‬نحوه قرارگيري عمودي يك برچسب در داخل برچسب پدر خود را مشخص مي كند‪.‬‬

‫مقادير مجاز عبارتند از ‪baseline, sub, super, top, text-top, middle, bottom,‬‬
‫‪ text-bottom‬و يا مقدار عددي‬

‫‪o‬‬

‫‪ :Z-Index‬اولويت قرارگيري در بعد سوم در صفحه (يعني جلو پشت ديگر برچسب ها)‪ Auto .‬يا يك‬

‫عدد‬

‫‪o‬‬

‫‪ :Border-Collapse‬معين مي سازد كه حواش ي جداول جدا باشند و يا يك مجموعه خط بهم‬

‫پيوسته باشند‪ .‬مقادير مجاز ‪Separate , Collapse‬‬

‫‪o‬‬
‫‪ :Empty-Cellsٍo‬مشخص مي كند كه سلول هاي خالي در مدل ‪ Seperate‬نمايش داده شوند و يا‬
‫‪ :Border-Spacing‬فاصله ميان دو حاشيه جدول‪ ،‬تنها در صورتي كه ‪ Seperate‬باشد‪.‬‬

‫خير‪ .‬مقادير مجاز ‪Show/Hide‬‬

‫‪o‬‬

‫‪ :Table Layout‬الگوريتم نحوه نمايش سلولهاي يك جدول‪Auto/Fixed ،‬‬

‫‪o‬‬
‫‪ :Directiono‬جهت متن (و محتويات)يك برچسب را مشخص مي سازد‪ ،‬مقادير مجاز ‪LTR/RTL‬‬
‫‪ :Text-Aligno‬مقادير مجاز ‪Left, Right, Center, Justify‬‬
‫‪ :Text-Decorationo‬افزودن افكتي به متن‪ ،‬مقادير مجاز عبارتند از ‪none, underline,‬‬
‫‪ :Color‬رنگ يك متن را مشخص مي سازد‪RGB ،‬‬

‫‪overline, line-through, blink‬‬

‫‪o‬‬
‫‪ :Word-Spacingo‬فاصله ميان لغات يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Letter-Spacingo‬فاصله ميان حروف يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Text-Indent‬تو رفتگي اولين خط يك متن‪ .‬مقدار عددي‬

‫تسلط كامل بر ‪CSS‬‬

‫‪o‬‬

‫در ‪ CSS‬رنگها را به دو شیوه می توان مشخص کرد‪:‬‬

‫‪o‬‬
‫‪o‬استفاده از نام رنگ‬

‫تعیين مقدار ‪ 24‬بیتی ‪ RGB‬آنها‬

‫‪o‬‬

‫در روش اول ‪ 16‬میلیون رنگ مختلف برای انتخاب وجود دارند‪ ،‬اما در روش دوم حدود ‪ 200‬رنگ با نام‬

‫های مختلف قابل استفاده هستند‪.‬‬

‫‪o‬‬
‫‪o‬برای مشخص کردن رنگ ‪ ،RGB‬پس از قرار دادن علمت ‪ #‬به ترتیب مقدار ‪ R‬و ‪ G‬و ‪ B‬را در مبنای ‪16‬‬
‫برای مشخص کردن رنگ با نام آن‪ ،‬کافیست نام رنگ را بنویسید‪Cyan, Purple :‬‬

‫وارد می کنیم‪#FFFFFF , #00FF00 :‬‬

‫‪o‬‬

‫همچنين می توان برای مشخص کردن رنگ ‪ RGB‬به صورت روبرو عمل کرد‪RGB(100,255,10):‬‬

‫و یا)‪RGB(70%,20%,100%‬‬

‫‪o‬‬

‫تمامی مقادیر اندازه ای در ‪ CSS‬واحد های متفاوتی را می پذیرند‪ .‬پایه ای ترین واحد همان ‪ Pixel‬است‬

‫که با ‪ px‬در انتهای مقدار مشخص می گردد‪ .‬واحدهای دیگر عبارتند از‪:‬‬

‫‪o‬‬
‫‪ :Ino‬اینچ‬
‫‪ :Cmo‬سانتیمتر‬
‫‪ :Mmo‬میلیمتر‬
‫‪ :Emo‬اندازه فونت‬
‫‪ 1/72 :Pto‬اینتچ‬
‫‪pt 12 :Pco‬‬
‫‪ :Pxo‬یک نقطه‬
‫‪ :%‬درصد!‬

‫‪o‬‬

‫شفافیت )‪ (Transparency‬یک عملیات پیچیده برای سیستم هاییست که کارت گرافیکی قدرتمندی‬

‫ندارد و موتور گرافیکی کاوشگر برای پیاده کردن آن بشدت زیر بار قرار می گيرد‪.‬‬

‫‪o‬‬

‫با استفاده از شفافیت می توان جذابیت بصری را بسیار باالتر برد‪ ،‬اما باید دقت داشت که کندی پردازش‬

‫تصویری سایت برای کاربر ایجاد مزاحمت نکند‪.‬‬

‫‪o‬‬
‫‪ o‬برای ایجاد شفافیت در کاوشگرهای استادارد‪ ،‬از ‪ Opacity : .5‬استفاده می شود‪.‬‬
‫‪o‬برای ایجاد شفافیت در ‪ IE‬از )‪ filter:alpha(opacity=50‬استفاده می شود‪.‬‬
‫‪o‬برای اینکه شفافیت در تمامی کاوشگرها درست نمایش داده شود الزم است هردو دستور باال بکار روند‪.‬‬
‫متاسفانه کاوشگر ‪ IE‬برای شفافیت از دستورات خود استفاده می کند که استاندارد نیستند‪.‬‬

‫‪o‬‬

‫کاوشگرهایی مانند ‪ Firefox‬دستورات ‪ CSS‬ویژه ای دارند (البته ‪ IE‬نيز دستورات مخصوص خود را‬

‫داراست) ‪.‬‬

‫‪o‬‬

‫عبارت ‪ –moz-border-radius‬می تواند گوشه های مستطیل ها را از تيزی درآورده و آنها را نرم‬

‫کند‪-moz-border-radius: 5px; :‬‬

‫‪o‬‬

‫استفاده از این عبارت و راه حل های مشابه پیشنهاد نمی شود زیرا این نما تنها در ‪ Firefox‬قابل مشاهده‬

‫خواهد بود‪.‬‬

‫‪o‬‬

‫‪ CSS‬توانایی آنرا داراست که برای رسانه های خاص تفاوت کند! برای مثال می توانید ‪ CSS‬یک سایت‬

‫را طوری تعریف کنید که رنگ نوشته های آن قرمز باشد ولی هنگام پرینت مشکی شود‪.‬‬

‫‪o‬‬

‫برای مشخص کردن اینکه ‪ CSS‬را برای چه رسانه ای می نویسیم‪ ،‬از ‪ @media‬استفاده می کنیم‪:‬‬
‫‪@media screen‬‬
‫};‪* { color:#ff0000‬‬
‫‪@media print‬‬
‫};‪* { color:#000000‬‬

‫رسانه های معمول عبارتند از‪all, braille, handheld, print, projection, screen, tv, :‬‬
‫…‬

‫‪ CSS‬را قورت بده!‬

‫‪o‬‬

‫فایل ‪ HTML‬ای که در تمرینات ‪ HTML‬ساخته اید و تمامی برچسب ها را داراست‪ ،‬با استفاده از تمامی‬

‫برچسب های ‪ CSS‬قالب بندی کنید‪ .‬سعی کنید زیبایی کافی و قالب بندی مناسب برای سند اتفاق بیافتد! در‬

‫داخل سند تنها می توانید برچسبهای ‪ DIV‬و ‪ SPAN‬اضافه کنید و یا به برچسب های موجود ‪ID ,‬‬
‫‪ CLASS‬بیافزایید‪.‬‬

‫‪o‬‬
‫‪o‬آیا می توان با استفاده از ‪ CSS‬منو ساخت؟ اگر بله راه حل را معين کنید‪.‬‬
‫‪o‬مزایا و معایب نوشتن ‪ CSS‬در یک فایل جداگانه را برشمارید‪.‬‬
‫‪o‬با استفاده از ‪ CSS‬یک ‪ taskbar‬برای یک صفحه بسازید که همواره در قسمت پایين پنجره کاوشگر‬
‫بدون استفاده از جداول و تنها با استفاده از ‪ CSS‬یک صفحه سه ستونی (مانند ‪ )SBCE.ir‬بسازید‪.‬‬

‫(نه لزوما انتهای سند) باشد‪.‬‬


Slide 27

‫کارگاه آموزش ی توسعه وب‬
‫بخش دوم ‪CSS -‬‬

‫ارائه‪ :‬عباس نادری‬
‫انجمن علمی دانشجویی‬
‫مهندس ی کامپیوتر‬
‫نسخه ‪1‬‬

‫دانشگاه شهید بهشتی‬

‫‪ CSS‬چیست ؟‬

‫•‬
‫•معمول ترین استفاده ‪ CSS‬برای قالب بندی اسناد وب )‪ (HTML‬منظور می شود‪.‬‬
‫•با پیچیده شدن وب ها‪ ،‬تصمیم بر آن شد تا محتوا از قالب بندی تفکیک شود و توسعه وب تسهیل‬
‫‪ CSS‬یا ‪ Casacading Style Sheets‬یک استاندارد قالب بندی ظاهری اسناد است‪.‬‬

‫گردد‪.‬‬

‫•‬

‫‪ CSS‬سه نسخه اصلی دارد‪:‬‬

‫•‬
‫•‪ :CSS 2‬در سال ‪ 1998‬توسط ‪ W3C‬استاندارد شد و هنوز به عنوان استاندارد بکار می رود‪.‬‬
‫•‪ :CSS 3‬هنوز در دست توسعه توسط ‪ W3C‬است‪.‬‬
‫‪ :CSS 1‬در سال ‪ 1996‬توسط ‪ W3C‬استاندارد شد‪.‬‬

‫•‬

‫‪ CSS‬به دلیل امکان استفاده مجدد‪ ،‬به شدت توسعه وب را ساده و سریع می کند‪ .‬همچنین قالب‬

‫بندی صفحات با استفاده از آن در قالب تیمی مقدور خواهد بود‪.‬‬

‫•‬

‫‪ CSS‬از طریق انتخابگرها قالب بندی را سرعت می بخشد‪ .‬همچنین از موتور انتخابگر ‪ CSS‬در‬

‫کاربردهای دیگر بهره فراوان برده می شود‪.‬‬

‫•‬

‫‪ :Layout Engine‬برنامه ایست در کاوشگرها که سند ‪ HTML‬و فایل ‪ CSS‬را دریافت کرده‪،‬‬

‫خروجی گرافیکی بر روی صفحه تولید می نماید‪.‬‬

‫•‬

‫‪ :Selector Engine‬موتوریست بر روی کاوشگر که زیرمجموعه ای از برچسب های ‪ HTML‬را‬

‫انتخاب می کند‪.‬‬

:‫ با چند مثال آنرا بررس ی می کنیم‬،‫ گرامر بسیار ساده ای دارد‬CSS
Template:
Selection {
Property: value;
Property: value;
//Comment /*Comment */
}
Example:
div.main {
background-color:#777777;
border-width: 1px;
border-style: solid;
font-family: ‘Tahoma’;
}



‫•‬
‫•در سه جای مختلف می توان از ‪ CSS‬استفاده کرد‪:‬‬

‫‪ CSS‬جزئیات گرامری مختلفی نیز دارد که در طی این ارائه با آنها بیشتر آشنا خواهیم شد‪.‬‬

‫•‬
‫•برچسب های ‪ Style‬در داخل فایل ‪ :HTML‬می توان با افزودن برچسب ‪ Style‬در ‪Head‬یا ‪Body‬‬
‫فایل های ‪ :CSS‬می توان ‪ CSS‬را در فایلی جداگانه نوشت و آنرا در ‪ HTML‬افزود‪.‬‬

‫یک سند‪ CSS ،‬تعریف کرد‪.‬‬

‫•‬

‫صفت ‪ Style‬برای برچسب ها‪ :‬می توان در یکی از صفتهای هر برچسب‪ CSS ،‬آنرا تعریف کرد‪ .‬در این‬

‫حالت دیگر انتخابگر مطرح نیست و قالب بندی تنها برای آن برچسب اعمال می شود‪.‬‬

‫•‬
‫•استفاده از حالت سوم (‪ )Inline CSS‬توصیه نمی شود و جدابودن محتوی از قالب را زیر سوال می‬
‫سه نوع تعریف ‪ CSS‬می توانند همزمان باشند‪ .‬اولویت آنها به ترتیب افزایش می یابد‪.‬‬

‫برد‪ ،‬اما در جاهای خاص ی استفاده از آن کار را راحتتر می کند‪.‬‬

:HTML ‫ جدا و استفاده از آن در‬CSS ‫تعریف در فایل‬
//SomeFile.css
input[text] {
width:200px;
background-color:#000000;
border:solid 0px;
}







:HTML ‫ در بدنه سند‬CSS ‫تعریف‬






:‫ در صفت یک برچسب‬CSS ‫تعریف‬


This is some text with tahoma font






‫چگونگی انتخاب برچسبها‬

‫•‬

‫براي مشخص كردن اينكه يك ‪ CSS‬به كدامين اشياء يك صفحه اعمال شود‪ ،‬بايد از انتخابگرها استفاده‬

‫نمود‪ .‬هر انتخاب گر يك يا چند ش يء در يك صفحه ‪ HTML‬را انتخاب مي كند و سپس مي توان قالب هاي‬

‫مورد نظر را به آن اعمال كرد‪.‬‬

‫•‬

‫انتخابگرهاي ‪ CSS‬تنوع و قدرت به سزايي دارند بنابراين در اين بخش در حدي كه نيازهاي اوليه مرتفع‬

‫شوند آنها را بررس ي خواهيم كرد‪.‬‬

‫•‬

‫انتخابگر ها در دو نحوه اوليه تعريف ‪ CSS‬ها قابل استفاده هستند به قالب زير‪:‬‬
‫{ ‪SelectorStatement‬‬
‫;‪Css Properties & Values‬‬

‫}‬

‫انتخاب تمام برچسب ها ‪* :‬‬
‫انتخاب برچسب هاي خاص‪tagName :‬‬
‫انتخاب برچسبي از زيربرچسب هاي يك برچسب ديگر‪ParentTag DescendantTag :‬‬
‫انتخاب برچسبي از فرزندان يك برچسب ديگر ‪ParentTag > ChildTag :‬‬
‫انتخاب برچسبي بعد از يك برچسب ديگر‪Tag1 + Tag2 :‬‬
‫انتخاب برچسبي با صفتي خاص‪Tag[attrib=“value”] :‬‬
‫آنتخاب يك برچسب در وضعيت هاي خاص‪:‬‬
‫لينك ديده نشده ‪Tag:link‬‬

‫برچسبي كه ماوس رويش است ‪Tag:hover‬‬

‫لينك ديده شده ‪Tag:visited‬‬

‫برچسب درحال كليك ‪Tag:active‬‬
‫برچسب فعال صفحه ‪Tag:focus‬‬

‫•‬

‫همانطور كه قبل ذكر شد‪ ،‬هر بچسب در ‪ HTML‬مي تواند صفات خاص ي را داشته باشد‪ .‬صفاتي كه در‬

‫‪ CSS‬به ما كمك مي كنند‪ ،‬دو صفت ‪ class , id‬هستند‪ .‬با اختصاص دادن اين دو صفت به يك برچسب‬

‫در ‪ HTML‬مي توان ويژگيهاي ‪ CSS‬آنرا به سادگي كنترل كرد‪.‬‬

‫•‬

‫با تعريف يك كلس خاص براي برچسبي ‪ ،‬مي توان آنرا جزو دسته اي قرار داد كه ويژگيهاي ‪CSS‬مشترك‬

‫خاص ي بر روي همگي آنها اعمال شود‪.‬‬

‫•‬

‫با تعريف يك مشخصه منحصره (‪ )Unique Identifier‬براي يك برچسب‪ ،‬مي توان كنترل هاي‬

‫خاص ي از طريق ‪CSS‬و جاوااسكريپت بر روي آن برچسب اعمال كرد‪.‬‬

‫•‬

‫بايد توجه گردد كه ‪ id‬هيچ دو برچسبي در يك سند ‪HTML‬نبايد يكسان باشند‪ ،‬در غير اينصورت نتايج‬

‫قابل پيش بيني نخواهد بود‪.‬‬

*{
font-family: “Tahoma”, “Trebuchet”,”MS Sans Serif”
}
div.Container {
background-color:#777777;
border-width: 1px;
}
P#title {
font-weight:bold;
}
H1 + P {
font-style:italic;
}
input [type=‘button’] {
border-style:none;
}
Body Form > input[type=‘text’] {
text-align:center;
}
DIV P * [title] {
color:#ffffff;
}

‫•‬

‫براي اينكه ‪ CSS‬خاص ي را به چند انتخابگر يكجا اعمال كنيم‪ ،‬مي توانيم آنها را به صورت گروهي قرار‬

‫دهيم‪:‬‬
‫{ ]’‪div.Container , p , input[type=‘text‬‬
‫; ’‪font-family: ‘Tahoma’, ‘Comic Sans MS‬‬
‫}‬

‫•‬
‫• ‪CSS‬با استفاده از عبارات جاوااسكريپت مي تواند مقادير پويا (نسبت به شرايط ‪ )Client‬را به‬
‫در صورتي كه چند دستور يكسان ‪ CSS‬به يك برچسب خاص اعمال شوند‪ ،‬آخرين آنها باقي مي ماند‪.‬‬

‫‪ Property‬ها اعمال كند‪:‬‬
‫;‪Width: expression( document.width /2 )px‬‬

‫مشخصه هاي استاندارد ‪CSS 2‬‬

‫‪o‬‬
‫‪(scroll,fixed)o‬‬

‫‪ : Background‬خلصه اي براي تنظيم تمام مشخصات ‪Background‬‬
‫‪ : Background-Attachement‬وضعيت قرارگيري تصوير در‬

‫‪ ،Background‬در صورتي كه ‪fixed‬باشد‪ ،‬با جابجايي صفحه پشت صفحه آن حركت نخواهد كرد‪.‬‬

‫‪o‬‬
‫‪ :Background-image o‬يا مقدار ‪ none‬مي گيرد و يا با استفاده از )‪URL(adress‬يك آدرس‬
‫)‪ : Background-color (RGB Value‬رنگ پشت صفحه‬

‫فايل تصويري (آدرس وب)‬

‫‪o‬‬
‫‪ :Background-repeato‬در صورتي كه از تصوير استفاده شود‪ ،‬روش تكرار آنرا مشخص مي كند‪.‬‬
‫‪ :Background-position‬مقاديري مانند … ‪top left, center center ,‬‬

‫مقادير مجاز عبارتند از ‪no-repeat, repeat-x,repeat-y,repeat‬‬

‫‪o‬‬
‫‪ :Border-widtho‬عرض حاشيه (ضخامت آن) به عدد‪ ،‬درصد و واحد هاي ديگر اندازه‬
‫‪ :Border-coloro‬رنگ حاشيه به ‪RGB‬‬
‫‪ :Border-styleo‬نوع حاشيه از مقادير ‪none, hidden, dotted, dashed, solid,‬‬
‫‪ :Border‬خلصه اي براي تنظيم مشخصات حاشيه‪ ،‬به ترتيب عرض‪ ،‬نوع و رنگ مي گيرد‪.‬‬

‫‪double, groove, ridge, inset, outset‬‬

‫‪o‬‬

‫براي تغيير تنظيمات مربوط به حاشيه نواحي مختلف (باال‪ ،‬پايين‪ ،‬چپ‪ ،‬راست)مي توانيد از چهار ويژگي باال‬

‫به همراه نام طرف مورد نظر استفاده نماييد‪ ،‬براي مثال‪:‬‬

‫‪o‬‬
‫‪Border-top-coloro‬‬
‫‪Border-bottomo‬‬

‫‪Border-left-width‬‬

o

url(file), auto, ‫ مقادير مجاز عبارتند از‬،‫ شمايل اشاره گر ماوس را معين مي سازد‬:Cursor

crosshair, default, pointer, move, e-resize, ne-resize, nw-resize , nresize, se-resize, sw-resize, s-resize, w-resize , text, wait , help
none, inline, block, list- ‫ مقادير مجاز عبارتند از‬،‫ نحوه نمايش يك برچسب‬:Display

o

item, run-in, compact, marker, table, inline-table , ….

left,

right,

‫ مقادير مجاز عبارتند از‬،‫ گرايش و شناوري يك برچسب به طرفي خاص‬:Float

o

none
Static, Relative, ‫ مقادير مجاز عبارتند از‬،‫ نحوه قرارگيري يك برچسب در يك سند‬:Position

o

Absolute, Fixed

‫‪o‬‬
‫‪ :Line-Heighto‬فاصله بين دو خط متن در سند‬
‫‪ :Max-Heighto‬حداكثر ارتفاعي كه يك برچسب مي تواند داشته باشد‬
‫‪ :Min-Heighto‬حداقل ارتفاع يك برچسب‬
‫‪ :Widtho‬عرض يك برچسب‬
‫‪ :Max-Widtho‬حداكثر عرض يك برچسب‬
‫‪ :Min-Widtho‬حداقل عرض يك برچسب‬
‫‪ :Height‬ارتفاع يك برچسب در سند‪ .‬مشخصه اندازه اي‬

‫‪o‬‬
‫‪ :Font-Familyo‬نام قلم‪ ،‬بهتر است ليستي از قلمها بسته به پشتيباني از سيستم ها انتخاب شود‪.‬‬
‫‪ :Font‬ميانبري براي اعمال مشخصات كامل فونت و قلم‬

‫معموال نوشته هاي فارس ي با قلم ‪ Tahoma‬خوب نمايش داده مي شوند‪.‬‬

‫‪o‬‬

‫‪ :Font-Size‬اندازه قلم‪ .‬هم مي تواند از انواع مقداري قرار داده شود هم مي تواند يكي از مقادير مجاز‬

‫باشد‬

‫‪xx-small, x-small, small, medium, large, x-large, xx-large,‬‬

‫‪smaller, larger‬‬

‫‪o‬‬

‫‪ :Font-Stretch‬كشيدگي فونت (فاصلي افقي مابين حرفهاي آن)يا مقدار عددي يا يكي از مقادير‬

‫‪normal, wider, narrower, ultra-condensed, extra-condensed, condensed,‬‬
‫‪semi-condensed, semi-expanded, expanded, extra-expanded, ultra-expanded‬‬

‫‪o‬‬
‫‪ :Font-Weighto‬يكي از مقادير ‪ normal, bold, bolder, lighter‬و يا مقدار عددي‬
‫‪ :Font-Style‬يكي از مقادير ‪Normal, Italic, Oblique‬‬

o
none , url(file) :List-Style-Imageo
inside, outside :List-style-Positiono
‫ موارد مجاز عبارتند از‬،‫ شكل موارد ليست‬:List-Style-Typeo

‫ موقعيت و تصوير ليست را مي گيرد‬، ‫ نوع‬،‫ به ترتيب‬.‫ ميانبري براي تنظيمات ليست‬:List-Style

none, disc, circle,

square, decimal, decimal-leading-zero, lower-roman, upper-roman,
lower-alpha,

upper-alpha,

lower-greek,

lower-latin,

upper-latin,

hebrew, armenian, georgian, cjk-ideographic, hiragana, katakana,
hiragana-iroha, katakana-iroha

)auto ‫ فاصله علمت از نوشتار (مقدار يا‬:Marker-Offset

o

‫‪o‬‬

‫‪ :Margin‬ميانبري براي تنظيمات كناره‪ .‬به ترتيب اندازه كناره هاي باال‪ ،‬راست‪ ،‬پايين و چپ را مي گيرد‬

‫(ساعتگرد)‬

‫‪o‬‬

‫‪ :Margin-left, Margin-right, Margin-top, Margin-bottom‬مقدار كناره‪ ،‬مقدار يا‬

‫‪auto‬‬

‫‪o‬‬
‫‪ :Padding-left, Padding-right, Padding-top, Padding-bottomo‬مقدار اليي‬
‫‪ :Padding‬ميانبري براي تنظيم مشخصات اليي گذاري‪ ،‬به ترتيب باال‪ ،‬راست‪ ،‬پايين و چپ‬

‫گذاري‪ ،‬مقدار يا ‪auto‬‬

‫‪o‬‬
‫‪ :Outline-coloro‬رنگ خط حاشيه به ‪RGB‬‬
‫‪ :Outline-styleo‬نوع خط حاشيه يك ش يء‪ ،‬انوع مجاز عبارتند از ‪none, dotted, dashed,‬‬
‫‪ :Outline‬ميانبري براي تمام تنظيمات خط حاشيه‪ ،‬به ترتيب رنگ‪ ،‬نوع و عرض‬

‫‪solid , double , groove, ridge, inset, outset‬‬

‫‪o‬‬

‫‪ :Outline-width‬قطوري خط حاشيه‪ ،‬مقدار عددي يا يكي از مقادير ‪thin, thick, medium‬‬

‫‪o‬‬

‫‪ :Overflow‬در صورتي كه محتويات يك برچسب در آن جاي نگيرند‪ ،‬اين مشخصه معين مي سازد كه‬

‫چه اتفاقي بيافتد‪ .‬مقادير مجاز عبارتند از ‪Visible, Hidden, Auto, Scroll‬‬

‫‪o‬‬

‫‪ :Position‬نحوه قرارگيري برچسب نسبت به سند‪ ،‬مقادير مجاز عبارتند از ‪Static, Relative,‬‬

‫‪Absolute, Fixed‬‬

‫‪o‬‬

‫‪ :Vertical-Align‬نحوه قرارگيري عمودي يك برچسب در داخل برچسب پدر خود را مشخص مي كند‪.‬‬

‫مقادير مجاز عبارتند از ‪baseline, sub, super, top, text-top, middle, bottom,‬‬
‫‪ text-bottom‬و يا مقدار عددي‬

‫‪o‬‬

‫‪ :Z-Index‬اولويت قرارگيري در بعد سوم در صفحه (يعني جلو پشت ديگر برچسب ها)‪ Auto .‬يا يك‬

‫عدد‬

‫‪o‬‬

‫‪ :Border-Collapse‬معين مي سازد كه حواش ي جداول جدا باشند و يا يك مجموعه خط بهم‬

‫پيوسته باشند‪ .‬مقادير مجاز ‪Separate , Collapse‬‬

‫‪o‬‬
‫‪ :Empty-Cellsٍo‬مشخص مي كند كه سلول هاي خالي در مدل ‪ Seperate‬نمايش داده شوند و يا‬
‫‪ :Border-Spacing‬فاصله ميان دو حاشيه جدول‪ ،‬تنها در صورتي كه ‪ Seperate‬باشد‪.‬‬

‫خير‪ .‬مقادير مجاز ‪Show/Hide‬‬

‫‪o‬‬

‫‪ :Table Layout‬الگوريتم نحوه نمايش سلولهاي يك جدول‪Auto/Fixed ،‬‬

‫‪o‬‬
‫‪ :Directiono‬جهت متن (و محتويات)يك برچسب را مشخص مي سازد‪ ،‬مقادير مجاز ‪LTR/RTL‬‬
‫‪ :Text-Aligno‬مقادير مجاز ‪Left, Right, Center, Justify‬‬
‫‪ :Text-Decorationo‬افزودن افكتي به متن‪ ،‬مقادير مجاز عبارتند از ‪none, underline,‬‬
‫‪ :Color‬رنگ يك متن را مشخص مي سازد‪RGB ،‬‬

‫‪overline, line-through, blink‬‬

‫‪o‬‬
‫‪ :Word-Spacingo‬فاصله ميان لغات يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Letter-Spacingo‬فاصله ميان حروف يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Text-Indent‬تو رفتگي اولين خط يك متن‪ .‬مقدار عددي‬

‫تسلط كامل بر ‪CSS‬‬

‫‪o‬‬

‫در ‪ CSS‬رنگها را به دو شیوه می توان مشخص کرد‪:‬‬

‫‪o‬‬
‫‪o‬استفاده از نام رنگ‬

‫تعیين مقدار ‪ 24‬بیتی ‪ RGB‬آنها‬

‫‪o‬‬

‫در روش اول ‪ 16‬میلیون رنگ مختلف برای انتخاب وجود دارند‪ ،‬اما در روش دوم حدود ‪ 200‬رنگ با نام‬

‫های مختلف قابل استفاده هستند‪.‬‬

‫‪o‬‬
‫‪o‬برای مشخص کردن رنگ ‪ ،RGB‬پس از قرار دادن علمت ‪ #‬به ترتیب مقدار ‪ R‬و ‪ G‬و ‪ B‬را در مبنای ‪16‬‬
‫برای مشخص کردن رنگ با نام آن‪ ،‬کافیست نام رنگ را بنویسید‪Cyan, Purple :‬‬

‫وارد می کنیم‪#FFFFFF , #00FF00 :‬‬

‫‪o‬‬

‫همچنين می توان برای مشخص کردن رنگ ‪ RGB‬به صورت روبرو عمل کرد‪RGB(100,255,10):‬‬

‫و یا)‪RGB(70%,20%,100%‬‬

‫‪o‬‬

‫تمامی مقادیر اندازه ای در ‪ CSS‬واحد های متفاوتی را می پذیرند‪ .‬پایه ای ترین واحد همان ‪ Pixel‬است‬

‫که با ‪ px‬در انتهای مقدار مشخص می گردد‪ .‬واحدهای دیگر عبارتند از‪:‬‬

‫‪o‬‬
‫‪ :Ino‬اینچ‬
‫‪ :Cmo‬سانتیمتر‬
‫‪ :Mmo‬میلیمتر‬
‫‪ :Emo‬اندازه فونت‬
‫‪ 1/72 :Pto‬اینتچ‬
‫‪pt 12 :Pco‬‬
‫‪ :Pxo‬یک نقطه‬
‫‪ :%‬درصد!‬

‫‪o‬‬

‫شفافیت )‪ (Transparency‬یک عملیات پیچیده برای سیستم هاییست که کارت گرافیکی قدرتمندی‬

‫ندارد و موتور گرافیکی کاوشگر برای پیاده کردن آن بشدت زیر بار قرار می گيرد‪.‬‬

‫‪o‬‬

‫با استفاده از شفافیت می توان جذابیت بصری را بسیار باالتر برد‪ ،‬اما باید دقت داشت که کندی پردازش‬

‫تصویری سایت برای کاربر ایجاد مزاحمت نکند‪.‬‬

‫‪o‬‬
‫‪ o‬برای ایجاد شفافیت در کاوشگرهای استادارد‪ ،‬از ‪ Opacity : .5‬استفاده می شود‪.‬‬
‫‪o‬برای ایجاد شفافیت در ‪ IE‬از )‪ filter:alpha(opacity=50‬استفاده می شود‪.‬‬
‫‪o‬برای اینکه شفافیت در تمامی کاوشگرها درست نمایش داده شود الزم است هردو دستور باال بکار روند‪.‬‬
‫متاسفانه کاوشگر ‪ IE‬برای شفافیت از دستورات خود استفاده می کند که استاندارد نیستند‪.‬‬

‫‪o‬‬

‫کاوشگرهایی مانند ‪ Firefox‬دستورات ‪ CSS‬ویژه ای دارند (البته ‪ IE‬نيز دستورات مخصوص خود را‬

‫داراست) ‪.‬‬

‫‪o‬‬

‫عبارت ‪ –moz-border-radius‬می تواند گوشه های مستطیل ها را از تيزی درآورده و آنها را نرم‬

‫کند‪-moz-border-radius: 5px; :‬‬

‫‪o‬‬

‫استفاده از این عبارت و راه حل های مشابه پیشنهاد نمی شود زیرا این نما تنها در ‪ Firefox‬قابل مشاهده‬

‫خواهد بود‪.‬‬

‫‪o‬‬

‫‪ CSS‬توانایی آنرا داراست که برای رسانه های خاص تفاوت کند! برای مثال می توانید ‪ CSS‬یک سایت‬

‫را طوری تعریف کنید که رنگ نوشته های آن قرمز باشد ولی هنگام پرینت مشکی شود‪.‬‬

‫‪o‬‬

‫برای مشخص کردن اینکه ‪ CSS‬را برای چه رسانه ای می نویسیم‪ ،‬از ‪ @media‬استفاده می کنیم‪:‬‬
‫‪@media screen‬‬
‫};‪* { color:#ff0000‬‬
‫‪@media print‬‬
‫};‪* { color:#000000‬‬

‫رسانه های معمول عبارتند از‪all, braille, handheld, print, projection, screen, tv, :‬‬
‫…‬

‫‪ CSS‬را قورت بده!‬

‫‪o‬‬

‫فایل ‪ HTML‬ای که در تمرینات ‪ HTML‬ساخته اید و تمامی برچسب ها را داراست‪ ،‬با استفاده از تمامی‬

‫برچسب های ‪ CSS‬قالب بندی کنید‪ .‬سعی کنید زیبایی کافی و قالب بندی مناسب برای سند اتفاق بیافتد! در‬

‫داخل سند تنها می توانید برچسبهای ‪ DIV‬و ‪ SPAN‬اضافه کنید و یا به برچسب های موجود ‪ID ,‬‬
‫‪ CLASS‬بیافزایید‪.‬‬

‫‪o‬‬
‫‪o‬آیا می توان با استفاده از ‪ CSS‬منو ساخت؟ اگر بله راه حل را معين کنید‪.‬‬
‫‪o‬مزایا و معایب نوشتن ‪ CSS‬در یک فایل جداگانه را برشمارید‪.‬‬
‫‪o‬با استفاده از ‪ CSS‬یک ‪ taskbar‬برای یک صفحه بسازید که همواره در قسمت پایين پنجره کاوشگر‬
‫بدون استفاده از جداول و تنها با استفاده از ‪ CSS‬یک صفحه سه ستونی (مانند ‪ )SBCE.ir‬بسازید‪.‬‬

‫(نه لزوما انتهای سند) باشد‪.‬‬


Slide 28

‫کارگاه آموزش ی توسعه وب‬
‫بخش دوم ‪CSS -‬‬

‫ارائه‪ :‬عباس نادری‬
‫انجمن علمی دانشجویی‬
‫مهندس ی کامپیوتر‬
‫نسخه ‪1‬‬

‫دانشگاه شهید بهشتی‬

‫‪ CSS‬چیست ؟‬

‫•‬
‫•معمول ترین استفاده ‪ CSS‬برای قالب بندی اسناد وب )‪ (HTML‬منظور می شود‪.‬‬
‫•با پیچیده شدن وب ها‪ ،‬تصمیم بر آن شد تا محتوا از قالب بندی تفکیک شود و توسعه وب تسهیل‬
‫‪ CSS‬یا ‪ Casacading Style Sheets‬یک استاندارد قالب بندی ظاهری اسناد است‪.‬‬

‫گردد‪.‬‬

‫•‬

‫‪ CSS‬سه نسخه اصلی دارد‪:‬‬

‫•‬
‫•‪ :CSS 2‬در سال ‪ 1998‬توسط ‪ W3C‬استاندارد شد و هنوز به عنوان استاندارد بکار می رود‪.‬‬
‫•‪ :CSS 3‬هنوز در دست توسعه توسط ‪ W3C‬است‪.‬‬
‫‪ :CSS 1‬در سال ‪ 1996‬توسط ‪ W3C‬استاندارد شد‪.‬‬

‫•‬

‫‪ CSS‬به دلیل امکان استفاده مجدد‪ ،‬به شدت توسعه وب را ساده و سریع می کند‪ .‬همچنین قالب‬

‫بندی صفحات با استفاده از آن در قالب تیمی مقدور خواهد بود‪.‬‬

‫•‬

‫‪ CSS‬از طریق انتخابگرها قالب بندی را سرعت می بخشد‪ .‬همچنین از موتور انتخابگر ‪ CSS‬در‬

‫کاربردهای دیگر بهره فراوان برده می شود‪.‬‬

‫•‬

‫‪ :Layout Engine‬برنامه ایست در کاوشگرها که سند ‪ HTML‬و فایل ‪ CSS‬را دریافت کرده‪،‬‬

‫خروجی گرافیکی بر روی صفحه تولید می نماید‪.‬‬

‫•‬

‫‪ :Selector Engine‬موتوریست بر روی کاوشگر که زیرمجموعه ای از برچسب های ‪ HTML‬را‬

‫انتخاب می کند‪.‬‬

:‫ با چند مثال آنرا بررس ی می کنیم‬،‫ گرامر بسیار ساده ای دارد‬CSS
Template:
Selection {
Property: value;
Property: value;
//Comment /*Comment */
}
Example:
div.main {
background-color:#777777;
border-width: 1px;
border-style: solid;
font-family: ‘Tahoma’;
}



‫•‬
‫•در سه جای مختلف می توان از ‪ CSS‬استفاده کرد‪:‬‬

‫‪ CSS‬جزئیات گرامری مختلفی نیز دارد که در طی این ارائه با آنها بیشتر آشنا خواهیم شد‪.‬‬

‫•‬
‫•برچسب های ‪ Style‬در داخل فایل ‪ :HTML‬می توان با افزودن برچسب ‪ Style‬در ‪Head‬یا ‪Body‬‬
‫فایل های ‪ :CSS‬می توان ‪ CSS‬را در فایلی جداگانه نوشت و آنرا در ‪ HTML‬افزود‪.‬‬

‫یک سند‪ CSS ،‬تعریف کرد‪.‬‬

‫•‬

‫صفت ‪ Style‬برای برچسب ها‪ :‬می توان در یکی از صفتهای هر برچسب‪ CSS ،‬آنرا تعریف کرد‪ .‬در این‬

‫حالت دیگر انتخابگر مطرح نیست و قالب بندی تنها برای آن برچسب اعمال می شود‪.‬‬

‫•‬
‫•استفاده از حالت سوم (‪ )Inline CSS‬توصیه نمی شود و جدابودن محتوی از قالب را زیر سوال می‬
‫سه نوع تعریف ‪ CSS‬می توانند همزمان باشند‪ .‬اولویت آنها به ترتیب افزایش می یابد‪.‬‬

‫برد‪ ،‬اما در جاهای خاص ی استفاده از آن کار را راحتتر می کند‪.‬‬

:HTML ‫ جدا و استفاده از آن در‬CSS ‫تعریف در فایل‬
//SomeFile.css
input[text] {
width:200px;
background-color:#000000;
border:solid 0px;
}







:HTML ‫ در بدنه سند‬CSS ‫تعریف‬






:‫ در صفت یک برچسب‬CSS ‫تعریف‬


This is some text with tahoma font






‫چگونگی انتخاب برچسبها‬

‫•‬

‫براي مشخص كردن اينكه يك ‪ CSS‬به كدامين اشياء يك صفحه اعمال شود‪ ،‬بايد از انتخابگرها استفاده‬

‫نمود‪ .‬هر انتخاب گر يك يا چند ش يء در يك صفحه ‪ HTML‬را انتخاب مي كند و سپس مي توان قالب هاي‬

‫مورد نظر را به آن اعمال كرد‪.‬‬

‫•‬

‫انتخابگرهاي ‪ CSS‬تنوع و قدرت به سزايي دارند بنابراين در اين بخش در حدي كه نيازهاي اوليه مرتفع‬

‫شوند آنها را بررس ي خواهيم كرد‪.‬‬

‫•‬

‫انتخابگر ها در دو نحوه اوليه تعريف ‪ CSS‬ها قابل استفاده هستند به قالب زير‪:‬‬
‫{ ‪SelectorStatement‬‬
‫;‪Css Properties & Values‬‬

‫}‬

‫انتخاب تمام برچسب ها ‪* :‬‬
‫انتخاب برچسب هاي خاص‪tagName :‬‬
‫انتخاب برچسبي از زيربرچسب هاي يك برچسب ديگر‪ParentTag DescendantTag :‬‬
‫انتخاب برچسبي از فرزندان يك برچسب ديگر ‪ParentTag > ChildTag :‬‬
‫انتخاب برچسبي بعد از يك برچسب ديگر‪Tag1 + Tag2 :‬‬
‫انتخاب برچسبي با صفتي خاص‪Tag[attrib=“value”] :‬‬
‫آنتخاب يك برچسب در وضعيت هاي خاص‪:‬‬
‫لينك ديده نشده ‪Tag:link‬‬

‫برچسبي كه ماوس رويش است ‪Tag:hover‬‬

‫لينك ديده شده ‪Tag:visited‬‬

‫برچسب درحال كليك ‪Tag:active‬‬
‫برچسب فعال صفحه ‪Tag:focus‬‬

‫•‬

‫همانطور كه قبل ذكر شد‪ ،‬هر بچسب در ‪ HTML‬مي تواند صفات خاص ي را داشته باشد‪ .‬صفاتي كه در‬

‫‪ CSS‬به ما كمك مي كنند‪ ،‬دو صفت ‪ class , id‬هستند‪ .‬با اختصاص دادن اين دو صفت به يك برچسب‬

‫در ‪ HTML‬مي توان ويژگيهاي ‪ CSS‬آنرا به سادگي كنترل كرد‪.‬‬

‫•‬

‫با تعريف يك كلس خاص براي برچسبي ‪ ،‬مي توان آنرا جزو دسته اي قرار داد كه ويژگيهاي ‪CSS‬مشترك‬

‫خاص ي بر روي همگي آنها اعمال شود‪.‬‬

‫•‬

‫با تعريف يك مشخصه منحصره (‪ )Unique Identifier‬براي يك برچسب‪ ،‬مي توان كنترل هاي‬

‫خاص ي از طريق ‪CSS‬و جاوااسكريپت بر روي آن برچسب اعمال كرد‪.‬‬

‫•‬

‫بايد توجه گردد كه ‪ id‬هيچ دو برچسبي در يك سند ‪HTML‬نبايد يكسان باشند‪ ،‬در غير اينصورت نتايج‬

‫قابل پيش بيني نخواهد بود‪.‬‬

*{
font-family: “Tahoma”, “Trebuchet”,”MS Sans Serif”
}
div.Container {
background-color:#777777;
border-width: 1px;
}
P#title {
font-weight:bold;
}
H1 + P {
font-style:italic;
}
input [type=‘button’] {
border-style:none;
}
Body Form > input[type=‘text’] {
text-align:center;
}
DIV P * [title] {
color:#ffffff;
}

‫•‬

‫براي اينكه ‪ CSS‬خاص ي را به چند انتخابگر يكجا اعمال كنيم‪ ،‬مي توانيم آنها را به صورت گروهي قرار‬

‫دهيم‪:‬‬
‫{ ]’‪div.Container , p , input[type=‘text‬‬
‫; ’‪font-family: ‘Tahoma’, ‘Comic Sans MS‬‬
‫}‬

‫•‬
‫• ‪CSS‬با استفاده از عبارات جاوااسكريپت مي تواند مقادير پويا (نسبت به شرايط ‪ )Client‬را به‬
‫در صورتي كه چند دستور يكسان ‪ CSS‬به يك برچسب خاص اعمال شوند‪ ،‬آخرين آنها باقي مي ماند‪.‬‬

‫‪ Property‬ها اعمال كند‪:‬‬
‫;‪Width: expression( document.width /2 )px‬‬

‫مشخصه هاي استاندارد ‪CSS 2‬‬

‫‪o‬‬
‫‪(scroll,fixed)o‬‬

‫‪ : Background‬خلصه اي براي تنظيم تمام مشخصات ‪Background‬‬
‫‪ : Background-Attachement‬وضعيت قرارگيري تصوير در‬

‫‪ ،Background‬در صورتي كه ‪fixed‬باشد‪ ،‬با جابجايي صفحه پشت صفحه آن حركت نخواهد كرد‪.‬‬

‫‪o‬‬
‫‪ :Background-image o‬يا مقدار ‪ none‬مي گيرد و يا با استفاده از )‪URL(adress‬يك آدرس‬
‫)‪ : Background-color (RGB Value‬رنگ پشت صفحه‬

‫فايل تصويري (آدرس وب)‬

‫‪o‬‬
‫‪ :Background-repeato‬در صورتي كه از تصوير استفاده شود‪ ،‬روش تكرار آنرا مشخص مي كند‪.‬‬
‫‪ :Background-position‬مقاديري مانند … ‪top left, center center ,‬‬

‫مقادير مجاز عبارتند از ‪no-repeat, repeat-x,repeat-y,repeat‬‬

‫‪o‬‬
‫‪ :Border-widtho‬عرض حاشيه (ضخامت آن) به عدد‪ ،‬درصد و واحد هاي ديگر اندازه‬
‫‪ :Border-coloro‬رنگ حاشيه به ‪RGB‬‬
‫‪ :Border-styleo‬نوع حاشيه از مقادير ‪none, hidden, dotted, dashed, solid,‬‬
‫‪ :Border‬خلصه اي براي تنظيم مشخصات حاشيه‪ ،‬به ترتيب عرض‪ ،‬نوع و رنگ مي گيرد‪.‬‬

‫‪double, groove, ridge, inset, outset‬‬

‫‪o‬‬

‫براي تغيير تنظيمات مربوط به حاشيه نواحي مختلف (باال‪ ،‬پايين‪ ،‬چپ‪ ،‬راست)مي توانيد از چهار ويژگي باال‬

‫به همراه نام طرف مورد نظر استفاده نماييد‪ ،‬براي مثال‪:‬‬

‫‪o‬‬
‫‪Border-top-coloro‬‬
‫‪Border-bottomo‬‬

‫‪Border-left-width‬‬

o

url(file), auto, ‫ مقادير مجاز عبارتند از‬،‫ شمايل اشاره گر ماوس را معين مي سازد‬:Cursor

crosshair, default, pointer, move, e-resize, ne-resize, nw-resize , nresize, se-resize, sw-resize, s-resize, w-resize , text, wait , help
none, inline, block, list- ‫ مقادير مجاز عبارتند از‬،‫ نحوه نمايش يك برچسب‬:Display

o

item, run-in, compact, marker, table, inline-table , ….

left,

right,

‫ مقادير مجاز عبارتند از‬،‫ گرايش و شناوري يك برچسب به طرفي خاص‬:Float

o

none
Static, Relative, ‫ مقادير مجاز عبارتند از‬،‫ نحوه قرارگيري يك برچسب در يك سند‬:Position

o

Absolute, Fixed

‫‪o‬‬
‫‪ :Line-Heighto‬فاصله بين دو خط متن در سند‬
‫‪ :Max-Heighto‬حداكثر ارتفاعي كه يك برچسب مي تواند داشته باشد‬
‫‪ :Min-Heighto‬حداقل ارتفاع يك برچسب‬
‫‪ :Widtho‬عرض يك برچسب‬
‫‪ :Max-Widtho‬حداكثر عرض يك برچسب‬
‫‪ :Min-Widtho‬حداقل عرض يك برچسب‬
‫‪ :Height‬ارتفاع يك برچسب در سند‪ .‬مشخصه اندازه اي‬

‫‪o‬‬
‫‪ :Font-Familyo‬نام قلم‪ ،‬بهتر است ليستي از قلمها بسته به پشتيباني از سيستم ها انتخاب شود‪.‬‬
‫‪ :Font‬ميانبري براي اعمال مشخصات كامل فونت و قلم‬

‫معموال نوشته هاي فارس ي با قلم ‪ Tahoma‬خوب نمايش داده مي شوند‪.‬‬

‫‪o‬‬

‫‪ :Font-Size‬اندازه قلم‪ .‬هم مي تواند از انواع مقداري قرار داده شود هم مي تواند يكي از مقادير مجاز‬

‫باشد‬

‫‪xx-small, x-small, small, medium, large, x-large, xx-large,‬‬

‫‪smaller, larger‬‬

‫‪o‬‬

‫‪ :Font-Stretch‬كشيدگي فونت (فاصلي افقي مابين حرفهاي آن)يا مقدار عددي يا يكي از مقادير‬

‫‪normal, wider, narrower, ultra-condensed, extra-condensed, condensed,‬‬
‫‪semi-condensed, semi-expanded, expanded, extra-expanded, ultra-expanded‬‬

‫‪o‬‬
‫‪ :Font-Weighto‬يكي از مقادير ‪ normal, bold, bolder, lighter‬و يا مقدار عددي‬
‫‪ :Font-Style‬يكي از مقادير ‪Normal, Italic, Oblique‬‬

o
none , url(file) :List-Style-Imageo
inside, outside :List-style-Positiono
‫ موارد مجاز عبارتند از‬،‫ شكل موارد ليست‬:List-Style-Typeo

‫ موقعيت و تصوير ليست را مي گيرد‬، ‫ نوع‬،‫ به ترتيب‬.‫ ميانبري براي تنظيمات ليست‬:List-Style

none, disc, circle,

square, decimal, decimal-leading-zero, lower-roman, upper-roman,
lower-alpha,

upper-alpha,

lower-greek,

lower-latin,

upper-latin,

hebrew, armenian, georgian, cjk-ideographic, hiragana, katakana,
hiragana-iroha, katakana-iroha

)auto ‫ فاصله علمت از نوشتار (مقدار يا‬:Marker-Offset

o

‫‪o‬‬

‫‪ :Margin‬ميانبري براي تنظيمات كناره‪ .‬به ترتيب اندازه كناره هاي باال‪ ،‬راست‪ ،‬پايين و چپ را مي گيرد‬

‫(ساعتگرد)‬

‫‪o‬‬

‫‪ :Margin-left, Margin-right, Margin-top, Margin-bottom‬مقدار كناره‪ ،‬مقدار يا‬

‫‪auto‬‬

‫‪o‬‬
‫‪ :Padding-left, Padding-right, Padding-top, Padding-bottomo‬مقدار اليي‬
‫‪ :Padding‬ميانبري براي تنظيم مشخصات اليي گذاري‪ ،‬به ترتيب باال‪ ،‬راست‪ ،‬پايين و چپ‬

‫گذاري‪ ،‬مقدار يا ‪auto‬‬

‫‪o‬‬
‫‪ :Outline-coloro‬رنگ خط حاشيه به ‪RGB‬‬
‫‪ :Outline-styleo‬نوع خط حاشيه يك ش يء‪ ،‬انوع مجاز عبارتند از ‪none, dotted, dashed,‬‬
‫‪ :Outline‬ميانبري براي تمام تنظيمات خط حاشيه‪ ،‬به ترتيب رنگ‪ ،‬نوع و عرض‬

‫‪solid , double , groove, ridge, inset, outset‬‬

‫‪o‬‬

‫‪ :Outline-width‬قطوري خط حاشيه‪ ،‬مقدار عددي يا يكي از مقادير ‪thin, thick, medium‬‬

‫‪o‬‬

‫‪ :Overflow‬در صورتي كه محتويات يك برچسب در آن جاي نگيرند‪ ،‬اين مشخصه معين مي سازد كه‬

‫چه اتفاقي بيافتد‪ .‬مقادير مجاز عبارتند از ‪Visible, Hidden, Auto, Scroll‬‬

‫‪o‬‬

‫‪ :Position‬نحوه قرارگيري برچسب نسبت به سند‪ ،‬مقادير مجاز عبارتند از ‪Static, Relative,‬‬

‫‪Absolute, Fixed‬‬

‫‪o‬‬

‫‪ :Vertical-Align‬نحوه قرارگيري عمودي يك برچسب در داخل برچسب پدر خود را مشخص مي كند‪.‬‬

‫مقادير مجاز عبارتند از ‪baseline, sub, super, top, text-top, middle, bottom,‬‬
‫‪ text-bottom‬و يا مقدار عددي‬

‫‪o‬‬

‫‪ :Z-Index‬اولويت قرارگيري در بعد سوم در صفحه (يعني جلو پشت ديگر برچسب ها)‪ Auto .‬يا يك‬

‫عدد‬

‫‪o‬‬

‫‪ :Border-Collapse‬معين مي سازد كه حواش ي جداول جدا باشند و يا يك مجموعه خط بهم‬

‫پيوسته باشند‪ .‬مقادير مجاز ‪Separate , Collapse‬‬

‫‪o‬‬
‫‪ :Empty-Cellsٍo‬مشخص مي كند كه سلول هاي خالي در مدل ‪ Seperate‬نمايش داده شوند و يا‬
‫‪ :Border-Spacing‬فاصله ميان دو حاشيه جدول‪ ،‬تنها در صورتي كه ‪ Seperate‬باشد‪.‬‬

‫خير‪ .‬مقادير مجاز ‪Show/Hide‬‬

‫‪o‬‬

‫‪ :Table Layout‬الگوريتم نحوه نمايش سلولهاي يك جدول‪Auto/Fixed ،‬‬

‫‪o‬‬
‫‪ :Directiono‬جهت متن (و محتويات)يك برچسب را مشخص مي سازد‪ ،‬مقادير مجاز ‪LTR/RTL‬‬
‫‪ :Text-Aligno‬مقادير مجاز ‪Left, Right, Center, Justify‬‬
‫‪ :Text-Decorationo‬افزودن افكتي به متن‪ ،‬مقادير مجاز عبارتند از ‪none, underline,‬‬
‫‪ :Color‬رنگ يك متن را مشخص مي سازد‪RGB ،‬‬

‫‪overline, line-through, blink‬‬

‫‪o‬‬
‫‪ :Word-Spacingo‬فاصله ميان لغات يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Letter-Spacingo‬فاصله ميان حروف يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Text-Indent‬تو رفتگي اولين خط يك متن‪ .‬مقدار عددي‬

‫تسلط كامل بر ‪CSS‬‬

‫‪o‬‬

‫در ‪ CSS‬رنگها را به دو شیوه می توان مشخص کرد‪:‬‬

‫‪o‬‬
‫‪o‬استفاده از نام رنگ‬

‫تعیين مقدار ‪ 24‬بیتی ‪ RGB‬آنها‬

‫‪o‬‬

‫در روش اول ‪ 16‬میلیون رنگ مختلف برای انتخاب وجود دارند‪ ،‬اما در روش دوم حدود ‪ 200‬رنگ با نام‬

‫های مختلف قابل استفاده هستند‪.‬‬

‫‪o‬‬
‫‪o‬برای مشخص کردن رنگ ‪ ،RGB‬پس از قرار دادن علمت ‪ #‬به ترتیب مقدار ‪ R‬و ‪ G‬و ‪ B‬را در مبنای ‪16‬‬
‫برای مشخص کردن رنگ با نام آن‪ ،‬کافیست نام رنگ را بنویسید‪Cyan, Purple :‬‬

‫وارد می کنیم‪#FFFFFF , #00FF00 :‬‬

‫‪o‬‬

‫همچنين می توان برای مشخص کردن رنگ ‪ RGB‬به صورت روبرو عمل کرد‪RGB(100,255,10):‬‬

‫و یا)‪RGB(70%,20%,100%‬‬

‫‪o‬‬

‫تمامی مقادیر اندازه ای در ‪ CSS‬واحد های متفاوتی را می پذیرند‪ .‬پایه ای ترین واحد همان ‪ Pixel‬است‬

‫که با ‪ px‬در انتهای مقدار مشخص می گردد‪ .‬واحدهای دیگر عبارتند از‪:‬‬

‫‪o‬‬
‫‪ :Ino‬اینچ‬
‫‪ :Cmo‬سانتیمتر‬
‫‪ :Mmo‬میلیمتر‬
‫‪ :Emo‬اندازه فونت‬
‫‪ 1/72 :Pto‬اینتچ‬
‫‪pt 12 :Pco‬‬
‫‪ :Pxo‬یک نقطه‬
‫‪ :%‬درصد!‬

‫‪o‬‬

‫شفافیت )‪ (Transparency‬یک عملیات پیچیده برای سیستم هاییست که کارت گرافیکی قدرتمندی‬

‫ندارد و موتور گرافیکی کاوشگر برای پیاده کردن آن بشدت زیر بار قرار می گيرد‪.‬‬

‫‪o‬‬

‫با استفاده از شفافیت می توان جذابیت بصری را بسیار باالتر برد‪ ،‬اما باید دقت داشت که کندی پردازش‬

‫تصویری سایت برای کاربر ایجاد مزاحمت نکند‪.‬‬

‫‪o‬‬
‫‪ o‬برای ایجاد شفافیت در کاوشگرهای استادارد‪ ،‬از ‪ Opacity : .5‬استفاده می شود‪.‬‬
‫‪o‬برای ایجاد شفافیت در ‪ IE‬از )‪ filter:alpha(opacity=50‬استفاده می شود‪.‬‬
‫‪o‬برای اینکه شفافیت در تمامی کاوشگرها درست نمایش داده شود الزم است هردو دستور باال بکار روند‪.‬‬
‫متاسفانه کاوشگر ‪ IE‬برای شفافیت از دستورات خود استفاده می کند که استاندارد نیستند‪.‬‬

‫‪o‬‬

‫کاوشگرهایی مانند ‪ Firefox‬دستورات ‪ CSS‬ویژه ای دارند (البته ‪ IE‬نيز دستورات مخصوص خود را‬

‫داراست) ‪.‬‬

‫‪o‬‬

‫عبارت ‪ –moz-border-radius‬می تواند گوشه های مستطیل ها را از تيزی درآورده و آنها را نرم‬

‫کند‪-moz-border-radius: 5px; :‬‬

‫‪o‬‬

‫استفاده از این عبارت و راه حل های مشابه پیشنهاد نمی شود زیرا این نما تنها در ‪ Firefox‬قابل مشاهده‬

‫خواهد بود‪.‬‬

‫‪o‬‬

‫‪ CSS‬توانایی آنرا داراست که برای رسانه های خاص تفاوت کند! برای مثال می توانید ‪ CSS‬یک سایت‬

‫را طوری تعریف کنید که رنگ نوشته های آن قرمز باشد ولی هنگام پرینت مشکی شود‪.‬‬

‫‪o‬‬

‫برای مشخص کردن اینکه ‪ CSS‬را برای چه رسانه ای می نویسیم‪ ،‬از ‪ @media‬استفاده می کنیم‪:‬‬
‫‪@media screen‬‬
‫};‪* { color:#ff0000‬‬
‫‪@media print‬‬
‫};‪* { color:#000000‬‬

‫رسانه های معمول عبارتند از‪all, braille, handheld, print, projection, screen, tv, :‬‬
‫…‬

‫‪ CSS‬را قورت بده!‬

‫‪o‬‬

‫فایل ‪ HTML‬ای که در تمرینات ‪ HTML‬ساخته اید و تمامی برچسب ها را داراست‪ ،‬با استفاده از تمامی‬

‫برچسب های ‪ CSS‬قالب بندی کنید‪ .‬سعی کنید زیبایی کافی و قالب بندی مناسب برای سند اتفاق بیافتد! در‬

‫داخل سند تنها می توانید برچسبهای ‪ DIV‬و ‪ SPAN‬اضافه کنید و یا به برچسب های موجود ‪ID ,‬‬
‫‪ CLASS‬بیافزایید‪.‬‬

‫‪o‬‬
‫‪o‬آیا می توان با استفاده از ‪ CSS‬منو ساخت؟ اگر بله راه حل را معين کنید‪.‬‬
‫‪o‬مزایا و معایب نوشتن ‪ CSS‬در یک فایل جداگانه را برشمارید‪.‬‬
‫‪o‬با استفاده از ‪ CSS‬یک ‪ taskbar‬برای یک صفحه بسازید که همواره در قسمت پایين پنجره کاوشگر‬
‫بدون استفاده از جداول و تنها با استفاده از ‪ CSS‬یک صفحه سه ستونی (مانند ‪ )SBCE.ir‬بسازید‪.‬‬

‫(نه لزوما انتهای سند) باشد‪.‬‬


Slide 29

‫کارگاه آموزش ی توسعه وب‬
‫بخش دوم ‪CSS -‬‬

‫ارائه‪ :‬عباس نادری‬
‫انجمن علمی دانشجویی‬
‫مهندس ی کامپیوتر‬
‫نسخه ‪1‬‬

‫دانشگاه شهید بهشتی‬

‫‪ CSS‬چیست ؟‬

‫•‬
‫•معمول ترین استفاده ‪ CSS‬برای قالب بندی اسناد وب )‪ (HTML‬منظور می شود‪.‬‬
‫•با پیچیده شدن وب ها‪ ،‬تصمیم بر آن شد تا محتوا از قالب بندی تفکیک شود و توسعه وب تسهیل‬
‫‪ CSS‬یا ‪ Casacading Style Sheets‬یک استاندارد قالب بندی ظاهری اسناد است‪.‬‬

‫گردد‪.‬‬

‫•‬

‫‪ CSS‬سه نسخه اصلی دارد‪:‬‬

‫•‬
‫•‪ :CSS 2‬در سال ‪ 1998‬توسط ‪ W3C‬استاندارد شد و هنوز به عنوان استاندارد بکار می رود‪.‬‬
‫•‪ :CSS 3‬هنوز در دست توسعه توسط ‪ W3C‬است‪.‬‬
‫‪ :CSS 1‬در سال ‪ 1996‬توسط ‪ W3C‬استاندارد شد‪.‬‬

‫•‬

‫‪ CSS‬به دلیل امکان استفاده مجدد‪ ،‬به شدت توسعه وب را ساده و سریع می کند‪ .‬همچنین قالب‬

‫بندی صفحات با استفاده از آن در قالب تیمی مقدور خواهد بود‪.‬‬

‫•‬

‫‪ CSS‬از طریق انتخابگرها قالب بندی را سرعت می بخشد‪ .‬همچنین از موتور انتخابگر ‪ CSS‬در‬

‫کاربردهای دیگر بهره فراوان برده می شود‪.‬‬

‫•‬

‫‪ :Layout Engine‬برنامه ایست در کاوشگرها که سند ‪ HTML‬و فایل ‪ CSS‬را دریافت کرده‪،‬‬

‫خروجی گرافیکی بر روی صفحه تولید می نماید‪.‬‬

‫•‬

‫‪ :Selector Engine‬موتوریست بر روی کاوشگر که زیرمجموعه ای از برچسب های ‪ HTML‬را‬

‫انتخاب می کند‪.‬‬

:‫ با چند مثال آنرا بررس ی می کنیم‬،‫ گرامر بسیار ساده ای دارد‬CSS
Template:
Selection {
Property: value;
Property: value;
//Comment /*Comment */
}
Example:
div.main {
background-color:#777777;
border-width: 1px;
border-style: solid;
font-family: ‘Tahoma’;
}



‫•‬
‫•در سه جای مختلف می توان از ‪ CSS‬استفاده کرد‪:‬‬

‫‪ CSS‬جزئیات گرامری مختلفی نیز دارد که در طی این ارائه با آنها بیشتر آشنا خواهیم شد‪.‬‬

‫•‬
‫•برچسب های ‪ Style‬در داخل فایل ‪ :HTML‬می توان با افزودن برچسب ‪ Style‬در ‪Head‬یا ‪Body‬‬
‫فایل های ‪ :CSS‬می توان ‪ CSS‬را در فایلی جداگانه نوشت و آنرا در ‪ HTML‬افزود‪.‬‬

‫یک سند‪ CSS ،‬تعریف کرد‪.‬‬

‫•‬

‫صفت ‪ Style‬برای برچسب ها‪ :‬می توان در یکی از صفتهای هر برچسب‪ CSS ،‬آنرا تعریف کرد‪ .‬در این‬

‫حالت دیگر انتخابگر مطرح نیست و قالب بندی تنها برای آن برچسب اعمال می شود‪.‬‬

‫•‬
‫•استفاده از حالت سوم (‪ )Inline CSS‬توصیه نمی شود و جدابودن محتوی از قالب را زیر سوال می‬
‫سه نوع تعریف ‪ CSS‬می توانند همزمان باشند‪ .‬اولویت آنها به ترتیب افزایش می یابد‪.‬‬

‫برد‪ ،‬اما در جاهای خاص ی استفاده از آن کار را راحتتر می کند‪.‬‬

:HTML ‫ جدا و استفاده از آن در‬CSS ‫تعریف در فایل‬
//SomeFile.css
input[text] {
width:200px;
background-color:#000000;
border:solid 0px;
}







:HTML ‫ در بدنه سند‬CSS ‫تعریف‬






:‫ در صفت یک برچسب‬CSS ‫تعریف‬


This is some text with tahoma font






‫چگونگی انتخاب برچسبها‬

‫•‬

‫براي مشخص كردن اينكه يك ‪ CSS‬به كدامين اشياء يك صفحه اعمال شود‪ ،‬بايد از انتخابگرها استفاده‬

‫نمود‪ .‬هر انتخاب گر يك يا چند ش يء در يك صفحه ‪ HTML‬را انتخاب مي كند و سپس مي توان قالب هاي‬

‫مورد نظر را به آن اعمال كرد‪.‬‬

‫•‬

‫انتخابگرهاي ‪ CSS‬تنوع و قدرت به سزايي دارند بنابراين در اين بخش در حدي كه نيازهاي اوليه مرتفع‬

‫شوند آنها را بررس ي خواهيم كرد‪.‬‬

‫•‬

‫انتخابگر ها در دو نحوه اوليه تعريف ‪ CSS‬ها قابل استفاده هستند به قالب زير‪:‬‬
‫{ ‪SelectorStatement‬‬
‫;‪Css Properties & Values‬‬

‫}‬

‫انتخاب تمام برچسب ها ‪* :‬‬
‫انتخاب برچسب هاي خاص‪tagName :‬‬
‫انتخاب برچسبي از زيربرچسب هاي يك برچسب ديگر‪ParentTag DescendantTag :‬‬
‫انتخاب برچسبي از فرزندان يك برچسب ديگر ‪ParentTag > ChildTag :‬‬
‫انتخاب برچسبي بعد از يك برچسب ديگر‪Tag1 + Tag2 :‬‬
‫انتخاب برچسبي با صفتي خاص‪Tag[attrib=“value”] :‬‬
‫آنتخاب يك برچسب در وضعيت هاي خاص‪:‬‬
‫لينك ديده نشده ‪Tag:link‬‬

‫برچسبي كه ماوس رويش است ‪Tag:hover‬‬

‫لينك ديده شده ‪Tag:visited‬‬

‫برچسب درحال كليك ‪Tag:active‬‬
‫برچسب فعال صفحه ‪Tag:focus‬‬

‫•‬

‫همانطور كه قبل ذكر شد‪ ،‬هر بچسب در ‪ HTML‬مي تواند صفات خاص ي را داشته باشد‪ .‬صفاتي كه در‬

‫‪ CSS‬به ما كمك مي كنند‪ ،‬دو صفت ‪ class , id‬هستند‪ .‬با اختصاص دادن اين دو صفت به يك برچسب‬

‫در ‪ HTML‬مي توان ويژگيهاي ‪ CSS‬آنرا به سادگي كنترل كرد‪.‬‬

‫•‬

‫با تعريف يك كلس خاص براي برچسبي ‪ ،‬مي توان آنرا جزو دسته اي قرار داد كه ويژگيهاي ‪CSS‬مشترك‬

‫خاص ي بر روي همگي آنها اعمال شود‪.‬‬

‫•‬

‫با تعريف يك مشخصه منحصره (‪ )Unique Identifier‬براي يك برچسب‪ ،‬مي توان كنترل هاي‬

‫خاص ي از طريق ‪CSS‬و جاوااسكريپت بر روي آن برچسب اعمال كرد‪.‬‬

‫•‬

‫بايد توجه گردد كه ‪ id‬هيچ دو برچسبي در يك سند ‪HTML‬نبايد يكسان باشند‪ ،‬در غير اينصورت نتايج‬

‫قابل پيش بيني نخواهد بود‪.‬‬

*{
font-family: “Tahoma”, “Trebuchet”,”MS Sans Serif”
}
div.Container {
background-color:#777777;
border-width: 1px;
}
P#title {
font-weight:bold;
}
H1 + P {
font-style:italic;
}
input [type=‘button’] {
border-style:none;
}
Body Form > input[type=‘text’] {
text-align:center;
}
DIV P * [title] {
color:#ffffff;
}

‫•‬

‫براي اينكه ‪ CSS‬خاص ي را به چند انتخابگر يكجا اعمال كنيم‪ ،‬مي توانيم آنها را به صورت گروهي قرار‬

‫دهيم‪:‬‬
‫{ ]’‪div.Container , p , input[type=‘text‬‬
‫; ’‪font-family: ‘Tahoma’, ‘Comic Sans MS‬‬
‫}‬

‫•‬
‫• ‪CSS‬با استفاده از عبارات جاوااسكريپت مي تواند مقادير پويا (نسبت به شرايط ‪ )Client‬را به‬
‫در صورتي كه چند دستور يكسان ‪ CSS‬به يك برچسب خاص اعمال شوند‪ ،‬آخرين آنها باقي مي ماند‪.‬‬

‫‪ Property‬ها اعمال كند‪:‬‬
‫;‪Width: expression( document.width /2 )px‬‬

‫مشخصه هاي استاندارد ‪CSS 2‬‬

‫‪o‬‬
‫‪(scroll,fixed)o‬‬

‫‪ : Background‬خلصه اي براي تنظيم تمام مشخصات ‪Background‬‬
‫‪ : Background-Attachement‬وضعيت قرارگيري تصوير در‬

‫‪ ،Background‬در صورتي كه ‪fixed‬باشد‪ ،‬با جابجايي صفحه پشت صفحه آن حركت نخواهد كرد‪.‬‬

‫‪o‬‬
‫‪ :Background-image o‬يا مقدار ‪ none‬مي گيرد و يا با استفاده از )‪URL(adress‬يك آدرس‬
‫)‪ : Background-color (RGB Value‬رنگ پشت صفحه‬

‫فايل تصويري (آدرس وب)‬

‫‪o‬‬
‫‪ :Background-repeato‬در صورتي كه از تصوير استفاده شود‪ ،‬روش تكرار آنرا مشخص مي كند‪.‬‬
‫‪ :Background-position‬مقاديري مانند … ‪top left, center center ,‬‬

‫مقادير مجاز عبارتند از ‪no-repeat, repeat-x,repeat-y,repeat‬‬

‫‪o‬‬
‫‪ :Border-widtho‬عرض حاشيه (ضخامت آن) به عدد‪ ،‬درصد و واحد هاي ديگر اندازه‬
‫‪ :Border-coloro‬رنگ حاشيه به ‪RGB‬‬
‫‪ :Border-styleo‬نوع حاشيه از مقادير ‪none, hidden, dotted, dashed, solid,‬‬
‫‪ :Border‬خلصه اي براي تنظيم مشخصات حاشيه‪ ،‬به ترتيب عرض‪ ،‬نوع و رنگ مي گيرد‪.‬‬

‫‪double, groove, ridge, inset, outset‬‬

‫‪o‬‬

‫براي تغيير تنظيمات مربوط به حاشيه نواحي مختلف (باال‪ ،‬پايين‪ ،‬چپ‪ ،‬راست)مي توانيد از چهار ويژگي باال‬

‫به همراه نام طرف مورد نظر استفاده نماييد‪ ،‬براي مثال‪:‬‬

‫‪o‬‬
‫‪Border-top-coloro‬‬
‫‪Border-bottomo‬‬

‫‪Border-left-width‬‬

o

url(file), auto, ‫ مقادير مجاز عبارتند از‬،‫ شمايل اشاره گر ماوس را معين مي سازد‬:Cursor

crosshair, default, pointer, move, e-resize, ne-resize, nw-resize , nresize, se-resize, sw-resize, s-resize, w-resize , text, wait , help
none, inline, block, list- ‫ مقادير مجاز عبارتند از‬،‫ نحوه نمايش يك برچسب‬:Display

o

item, run-in, compact, marker, table, inline-table , ….

left,

right,

‫ مقادير مجاز عبارتند از‬،‫ گرايش و شناوري يك برچسب به طرفي خاص‬:Float

o

none
Static, Relative, ‫ مقادير مجاز عبارتند از‬،‫ نحوه قرارگيري يك برچسب در يك سند‬:Position

o

Absolute, Fixed

‫‪o‬‬
‫‪ :Line-Heighto‬فاصله بين دو خط متن در سند‬
‫‪ :Max-Heighto‬حداكثر ارتفاعي كه يك برچسب مي تواند داشته باشد‬
‫‪ :Min-Heighto‬حداقل ارتفاع يك برچسب‬
‫‪ :Widtho‬عرض يك برچسب‬
‫‪ :Max-Widtho‬حداكثر عرض يك برچسب‬
‫‪ :Min-Widtho‬حداقل عرض يك برچسب‬
‫‪ :Height‬ارتفاع يك برچسب در سند‪ .‬مشخصه اندازه اي‬

‫‪o‬‬
‫‪ :Font-Familyo‬نام قلم‪ ،‬بهتر است ليستي از قلمها بسته به پشتيباني از سيستم ها انتخاب شود‪.‬‬
‫‪ :Font‬ميانبري براي اعمال مشخصات كامل فونت و قلم‬

‫معموال نوشته هاي فارس ي با قلم ‪ Tahoma‬خوب نمايش داده مي شوند‪.‬‬

‫‪o‬‬

‫‪ :Font-Size‬اندازه قلم‪ .‬هم مي تواند از انواع مقداري قرار داده شود هم مي تواند يكي از مقادير مجاز‬

‫باشد‬

‫‪xx-small, x-small, small, medium, large, x-large, xx-large,‬‬

‫‪smaller, larger‬‬

‫‪o‬‬

‫‪ :Font-Stretch‬كشيدگي فونت (فاصلي افقي مابين حرفهاي آن)يا مقدار عددي يا يكي از مقادير‬

‫‪normal, wider, narrower, ultra-condensed, extra-condensed, condensed,‬‬
‫‪semi-condensed, semi-expanded, expanded, extra-expanded, ultra-expanded‬‬

‫‪o‬‬
‫‪ :Font-Weighto‬يكي از مقادير ‪ normal, bold, bolder, lighter‬و يا مقدار عددي‬
‫‪ :Font-Style‬يكي از مقادير ‪Normal, Italic, Oblique‬‬

o
none , url(file) :List-Style-Imageo
inside, outside :List-style-Positiono
‫ موارد مجاز عبارتند از‬،‫ شكل موارد ليست‬:List-Style-Typeo

‫ موقعيت و تصوير ليست را مي گيرد‬، ‫ نوع‬،‫ به ترتيب‬.‫ ميانبري براي تنظيمات ليست‬:List-Style

none, disc, circle,

square, decimal, decimal-leading-zero, lower-roman, upper-roman,
lower-alpha,

upper-alpha,

lower-greek,

lower-latin,

upper-latin,

hebrew, armenian, georgian, cjk-ideographic, hiragana, katakana,
hiragana-iroha, katakana-iroha

)auto ‫ فاصله علمت از نوشتار (مقدار يا‬:Marker-Offset

o

‫‪o‬‬

‫‪ :Margin‬ميانبري براي تنظيمات كناره‪ .‬به ترتيب اندازه كناره هاي باال‪ ،‬راست‪ ،‬پايين و چپ را مي گيرد‬

‫(ساعتگرد)‬

‫‪o‬‬

‫‪ :Margin-left, Margin-right, Margin-top, Margin-bottom‬مقدار كناره‪ ،‬مقدار يا‬

‫‪auto‬‬

‫‪o‬‬
‫‪ :Padding-left, Padding-right, Padding-top, Padding-bottomo‬مقدار اليي‬
‫‪ :Padding‬ميانبري براي تنظيم مشخصات اليي گذاري‪ ،‬به ترتيب باال‪ ،‬راست‪ ،‬پايين و چپ‬

‫گذاري‪ ،‬مقدار يا ‪auto‬‬

‫‪o‬‬
‫‪ :Outline-coloro‬رنگ خط حاشيه به ‪RGB‬‬
‫‪ :Outline-styleo‬نوع خط حاشيه يك ش يء‪ ،‬انوع مجاز عبارتند از ‪none, dotted, dashed,‬‬
‫‪ :Outline‬ميانبري براي تمام تنظيمات خط حاشيه‪ ،‬به ترتيب رنگ‪ ،‬نوع و عرض‬

‫‪solid , double , groove, ridge, inset, outset‬‬

‫‪o‬‬

‫‪ :Outline-width‬قطوري خط حاشيه‪ ،‬مقدار عددي يا يكي از مقادير ‪thin, thick, medium‬‬

‫‪o‬‬

‫‪ :Overflow‬در صورتي كه محتويات يك برچسب در آن جاي نگيرند‪ ،‬اين مشخصه معين مي سازد كه‬

‫چه اتفاقي بيافتد‪ .‬مقادير مجاز عبارتند از ‪Visible, Hidden, Auto, Scroll‬‬

‫‪o‬‬

‫‪ :Position‬نحوه قرارگيري برچسب نسبت به سند‪ ،‬مقادير مجاز عبارتند از ‪Static, Relative,‬‬

‫‪Absolute, Fixed‬‬

‫‪o‬‬

‫‪ :Vertical-Align‬نحوه قرارگيري عمودي يك برچسب در داخل برچسب پدر خود را مشخص مي كند‪.‬‬

‫مقادير مجاز عبارتند از ‪baseline, sub, super, top, text-top, middle, bottom,‬‬
‫‪ text-bottom‬و يا مقدار عددي‬

‫‪o‬‬

‫‪ :Z-Index‬اولويت قرارگيري در بعد سوم در صفحه (يعني جلو پشت ديگر برچسب ها)‪ Auto .‬يا يك‬

‫عدد‬

‫‪o‬‬

‫‪ :Border-Collapse‬معين مي سازد كه حواش ي جداول جدا باشند و يا يك مجموعه خط بهم‬

‫پيوسته باشند‪ .‬مقادير مجاز ‪Separate , Collapse‬‬

‫‪o‬‬
‫‪ :Empty-Cellsٍo‬مشخص مي كند كه سلول هاي خالي در مدل ‪ Seperate‬نمايش داده شوند و يا‬
‫‪ :Border-Spacing‬فاصله ميان دو حاشيه جدول‪ ،‬تنها در صورتي كه ‪ Seperate‬باشد‪.‬‬

‫خير‪ .‬مقادير مجاز ‪Show/Hide‬‬

‫‪o‬‬

‫‪ :Table Layout‬الگوريتم نحوه نمايش سلولهاي يك جدول‪Auto/Fixed ،‬‬

‫‪o‬‬
‫‪ :Directiono‬جهت متن (و محتويات)يك برچسب را مشخص مي سازد‪ ،‬مقادير مجاز ‪LTR/RTL‬‬
‫‪ :Text-Aligno‬مقادير مجاز ‪Left, Right, Center, Justify‬‬
‫‪ :Text-Decorationo‬افزودن افكتي به متن‪ ،‬مقادير مجاز عبارتند از ‪none, underline,‬‬
‫‪ :Color‬رنگ يك متن را مشخص مي سازد‪RGB ،‬‬

‫‪overline, line-through, blink‬‬

‫‪o‬‬
‫‪ :Word-Spacingo‬فاصله ميان لغات يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Letter-Spacingo‬فاصله ميان حروف يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Text-Indent‬تو رفتگي اولين خط يك متن‪ .‬مقدار عددي‬

‫تسلط كامل بر ‪CSS‬‬

‫‪o‬‬

‫در ‪ CSS‬رنگها را به دو شیوه می توان مشخص کرد‪:‬‬

‫‪o‬‬
‫‪o‬استفاده از نام رنگ‬

‫تعیين مقدار ‪ 24‬بیتی ‪ RGB‬آنها‬

‫‪o‬‬

‫در روش اول ‪ 16‬میلیون رنگ مختلف برای انتخاب وجود دارند‪ ،‬اما در روش دوم حدود ‪ 200‬رنگ با نام‬

‫های مختلف قابل استفاده هستند‪.‬‬

‫‪o‬‬
‫‪o‬برای مشخص کردن رنگ ‪ ،RGB‬پس از قرار دادن علمت ‪ #‬به ترتیب مقدار ‪ R‬و ‪ G‬و ‪ B‬را در مبنای ‪16‬‬
‫برای مشخص کردن رنگ با نام آن‪ ،‬کافیست نام رنگ را بنویسید‪Cyan, Purple :‬‬

‫وارد می کنیم‪#FFFFFF , #00FF00 :‬‬

‫‪o‬‬

‫همچنين می توان برای مشخص کردن رنگ ‪ RGB‬به صورت روبرو عمل کرد‪RGB(100,255,10):‬‬

‫و یا)‪RGB(70%,20%,100%‬‬

‫‪o‬‬

‫تمامی مقادیر اندازه ای در ‪ CSS‬واحد های متفاوتی را می پذیرند‪ .‬پایه ای ترین واحد همان ‪ Pixel‬است‬

‫که با ‪ px‬در انتهای مقدار مشخص می گردد‪ .‬واحدهای دیگر عبارتند از‪:‬‬

‫‪o‬‬
‫‪ :Ino‬اینچ‬
‫‪ :Cmo‬سانتیمتر‬
‫‪ :Mmo‬میلیمتر‬
‫‪ :Emo‬اندازه فونت‬
‫‪ 1/72 :Pto‬اینتچ‬
‫‪pt 12 :Pco‬‬
‫‪ :Pxo‬یک نقطه‬
‫‪ :%‬درصد!‬

‫‪o‬‬

‫شفافیت )‪ (Transparency‬یک عملیات پیچیده برای سیستم هاییست که کارت گرافیکی قدرتمندی‬

‫ندارد و موتور گرافیکی کاوشگر برای پیاده کردن آن بشدت زیر بار قرار می گيرد‪.‬‬

‫‪o‬‬

‫با استفاده از شفافیت می توان جذابیت بصری را بسیار باالتر برد‪ ،‬اما باید دقت داشت که کندی پردازش‬

‫تصویری سایت برای کاربر ایجاد مزاحمت نکند‪.‬‬

‫‪o‬‬
‫‪ o‬برای ایجاد شفافیت در کاوشگرهای استادارد‪ ،‬از ‪ Opacity : .5‬استفاده می شود‪.‬‬
‫‪o‬برای ایجاد شفافیت در ‪ IE‬از )‪ filter:alpha(opacity=50‬استفاده می شود‪.‬‬
‫‪o‬برای اینکه شفافیت در تمامی کاوشگرها درست نمایش داده شود الزم است هردو دستور باال بکار روند‪.‬‬
‫متاسفانه کاوشگر ‪ IE‬برای شفافیت از دستورات خود استفاده می کند که استاندارد نیستند‪.‬‬

‫‪o‬‬

‫کاوشگرهایی مانند ‪ Firefox‬دستورات ‪ CSS‬ویژه ای دارند (البته ‪ IE‬نيز دستورات مخصوص خود را‬

‫داراست) ‪.‬‬

‫‪o‬‬

‫عبارت ‪ –moz-border-radius‬می تواند گوشه های مستطیل ها را از تيزی درآورده و آنها را نرم‬

‫کند‪-moz-border-radius: 5px; :‬‬

‫‪o‬‬

‫استفاده از این عبارت و راه حل های مشابه پیشنهاد نمی شود زیرا این نما تنها در ‪ Firefox‬قابل مشاهده‬

‫خواهد بود‪.‬‬

‫‪o‬‬

‫‪ CSS‬توانایی آنرا داراست که برای رسانه های خاص تفاوت کند! برای مثال می توانید ‪ CSS‬یک سایت‬

‫را طوری تعریف کنید که رنگ نوشته های آن قرمز باشد ولی هنگام پرینت مشکی شود‪.‬‬

‫‪o‬‬

‫برای مشخص کردن اینکه ‪ CSS‬را برای چه رسانه ای می نویسیم‪ ،‬از ‪ @media‬استفاده می کنیم‪:‬‬
‫‪@media screen‬‬
‫};‪* { color:#ff0000‬‬
‫‪@media print‬‬
‫};‪* { color:#000000‬‬

‫رسانه های معمول عبارتند از‪all, braille, handheld, print, projection, screen, tv, :‬‬
‫…‬

‫‪ CSS‬را قورت بده!‬

‫‪o‬‬

‫فایل ‪ HTML‬ای که در تمرینات ‪ HTML‬ساخته اید و تمامی برچسب ها را داراست‪ ،‬با استفاده از تمامی‬

‫برچسب های ‪ CSS‬قالب بندی کنید‪ .‬سعی کنید زیبایی کافی و قالب بندی مناسب برای سند اتفاق بیافتد! در‬

‫داخل سند تنها می توانید برچسبهای ‪ DIV‬و ‪ SPAN‬اضافه کنید و یا به برچسب های موجود ‪ID ,‬‬
‫‪ CLASS‬بیافزایید‪.‬‬

‫‪o‬‬
‫‪o‬آیا می توان با استفاده از ‪ CSS‬منو ساخت؟ اگر بله راه حل را معين کنید‪.‬‬
‫‪o‬مزایا و معایب نوشتن ‪ CSS‬در یک فایل جداگانه را برشمارید‪.‬‬
‫‪o‬با استفاده از ‪ CSS‬یک ‪ taskbar‬برای یک صفحه بسازید که همواره در قسمت پایين پنجره کاوشگر‬
‫بدون استفاده از جداول و تنها با استفاده از ‪ CSS‬یک صفحه سه ستونی (مانند ‪ )SBCE.ir‬بسازید‪.‬‬

‫(نه لزوما انتهای سند) باشد‪.‬‬


Slide 30

‫کارگاه آموزش ی توسعه وب‬
‫بخش دوم ‪CSS -‬‬

‫ارائه‪ :‬عباس نادری‬
‫انجمن علمی دانشجویی‬
‫مهندس ی کامپیوتر‬
‫نسخه ‪1‬‬

‫دانشگاه شهید بهشتی‬

‫‪ CSS‬چیست ؟‬

‫•‬
‫•معمول ترین استفاده ‪ CSS‬برای قالب بندی اسناد وب )‪ (HTML‬منظور می شود‪.‬‬
‫•با پیچیده شدن وب ها‪ ،‬تصمیم بر آن شد تا محتوا از قالب بندی تفکیک شود و توسعه وب تسهیل‬
‫‪ CSS‬یا ‪ Casacading Style Sheets‬یک استاندارد قالب بندی ظاهری اسناد است‪.‬‬

‫گردد‪.‬‬

‫•‬

‫‪ CSS‬سه نسخه اصلی دارد‪:‬‬

‫•‬
‫•‪ :CSS 2‬در سال ‪ 1998‬توسط ‪ W3C‬استاندارد شد و هنوز به عنوان استاندارد بکار می رود‪.‬‬
‫•‪ :CSS 3‬هنوز در دست توسعه توسط ‪ W3C‬است‪.‬‬
‫‪ :CSS 1‬در سال ‪ 1996‬توسط ‪ W3C‬استاندارد شد‪.‬‬

‫•‬

‫‪ CSS‬به دلیل امکان استفاده مجدد‪ ،‬به شدت توسعه وب را ساده و سریع می کند‪ .‬همچنین قالب‬

‫بندی صفحات با استفاده از آن در قالب تیمی مقدور خواهد بود‪.‬‬

‫•‬

‫‪ CSS‬از طریق انتخابگرها قالب بندی را سرعت می بخشد‪ .‬همچنین از موتور انتخابگر ‪ CSS‬در‬

‫کاربردهای دیگر بهره فراوان برده می شود‪.‬‬

‫•‬

‫‪ :Layout Engine‬برنامه ایست در کاوشگرها که سند ‪ HTML‬و فایل ‪ CSS‬را دریافت کرده‪،‬‬

‫خروجی گرافیکی بر روی صفحه تولید می نماید‪.‬‬

‫•‬

‫‪ :Selector Engine‬موتوریست بر روی کاوشگر که زیرمجموعه ای از برچسب های ‪ HTML‬را‬

‫انتخاب می کند‪.‬‬

:‫ با چند مثال آنرا بررس ی می کنیم‬،‫ گرامر بسیار ساده ای دارد‬CSS
Template:
Selection {
Property: value;
Property: value;
//Comment /*Comment */
}
Example:
div.main {
background-color:#777777;
border-width: 1px;
border-style: solid;
font-family: ‘Tahoma’;
}



‫•‬
‫•در سه جای مختلف می توان از ‪ CSS‬استفاده کرد‪:‬‬

‫‪ CSS‬جزئیات گرامری مختلفی نیز دارد که در طی این ارائه با آنها بیشتر آشنا خواهیم شد‪.‬‬

‫•‬
‫•برچسب های ‪ Style‬در داخل فایل ‪ :HTML‬می توان با افزودن برچسب ‪ Style‬در ‪Head‬یا ‪Body‬‬
‫فایل های ‪ :CSS‬می توان ‪ CSS‬را در فایلی جداگانه نوشت و آنرا در ‪ HTML‬افزود‪.‬‬

‫یک سند‪ CSS ،‬تعریف کرد‪.‬‬

‫•‬

‫صفت ‪ Style‬برای برچسب ها‪ :‬می توان در یکی از صفتهای هر برچسب‪ CSS ،‬آنرا تعریف کرد‪ .‬در این‬

‫حالت دیگر انتخابگر مطرح نیست و قالب بندی تنها برای آن برچسب اعمال می شود‪.‬‬

‫•‬
‫•استفاده از حالت سوم (‪ )Inline CSS‬توصیه نمی شود و جدابودن محتوی از قالب را زیر سوال می‬
‫سه نوع تعریف ‪ CSS‬می توانند همزمان باشند‪ .‬اولویت آنها به ترتیب افزایش می یابد‪.‬‬

‫برد‪ ،‬اما در جاهای خاص ی استفاده از آن کار را راحتتر می کند‪.‬‬

:HTML ‫ جدا و استفاده از آن در‬CSS ‫تعریف در فایل‬
//SomeFile.css
input[text] {
width:200px;
background-color:#000000;
border:solid 0px;
}







:HTML ‫ در بدنه سند‬CSS ‫تعریف‬






:‫ در صفت یک برچسب‬CSS ‫تعریف‬


This is some text with tahoma font






‫چگونگی انتخاب برچسبها‬

‫•‬

‫براي مشخص كردن اينكه يك ‪ CSS‬به كدامين اشياء يك صفحه اعمال شود‪ ،‬بايد از انتخابگرها استفاده‬

‫نمود‪ .‬هر انتخاب گر يك يا چند ش يء در يك صفحه ‪ HTML‬را انتخاب مي كند و سپس مي توان قالب هاي‬

‫مورد نظر را به آن اعمال كرد‪.‬‬

‫•‬

‫انتخابگرهاي ‪ CSS‬تنوع و قدرت به سزايي دارند بنابراين در اين بخش در حدي كه نيازهاي اوليه مرتفع‬

‫شوند آنها را بررس ي خواهيم كرد‪.‬‬

‫•‬

‫انتخابگر ها در دو نحوه اوليه تعريف ‪ CSS‬ها قابل استفاده هستند به قالب زير‪:‬‬
‫{ ‪SelectorStatement‬‬
‫;‪Css Properties & Values‬‬

‫}‬

‫انتخاب تمام برچسب ها ‪* :‬‬
‫انتخاب برچسب هاي خاص‪tagName :‬‬
‫انتخاب برچسبي از زيربرچسب هاي يك برچسب ديگر‪ParentTag DescendantTag :‬‬
‫انتخاب برچسبي از فرزندان يك برچسب ديگر ‪ParentTag > ChildTag :‬‬
‫انتخاب برچسبي بعد از يك برچسب ديگر‪Tag1 + Tag2 :‬‬
‫انتخاب برچسبي با صفتي خاص‪Tag[attrib=“value”] :‬‬
‫آنتخاب يك برچسب در وضعيت هاي خاص‪:‬‬
‫لينك ديده نشده ‪Tag:link‬‬

‫برچسبي كه ماوس رويش است ‪Tag:hover‬‬

‫لينك ديده شده ‪Tag:visited‬‬

‫برچسب درحال كليك ‪Tag:active‬‬
‫برچسب فعال صفحه ‪Tag:focus‬‬

‫•‬

‫همانطور كه قبل ذكر شد‪ ،‬هر بچسب در ‪ HTML‬مي تواند صفات خاص ي را داشته باشد‪ .‬صفاتي كه در‬

‫‪ CSS‬به ما كمك مي كنند‪ ،‬دو صفت ‪ class , id‬هستند‪ .‬با اختصاص دادن اين دو صفت به يك برچسب‬

‫در ‪ HTML‬مي توان ويژگيهاي ‪ CSS‬آنرا به سادگي كنترل كرد‪.‬‬

‫•‬

‫با تعريف يك كلس خاص براي برچسبي ‪ ،‬مي توان آنرا جزو دسته اي قرار داد كه ويژگيهاي ‪CSS‬مشترك‬

‫خاص ي بر روي همگي آنها اعمال شود‪.‬‬

‫•‬

‫با تعريف يك مشخصه منحصره (‪ )Unique Identifier‬براي يك برچسب‪ ،‬مي توان كنترل هاي‬

‫خاص ي از طريق ‪CSS‬و جاوااسكريپت بر روي آن برچسب اعمال كرد‪.‬‬

‫•‬

‫بايد توجه گردد كه ‪ id‬هيچ دو برچسبي در يك سند ‪HTML‬نبايد يكسان باشند‪ ،‬در غير اينصورت نتايج‬

‫قابل پيش بيني نخواهد بود‪.‬‬

*{
font-family: “Tahoma”, “Trebuchet”,”MS Sans Serif”
}
div.Container {
background-color:#777777;
border-width: 1px;
}
P#title {
font-weight:bold;
}
H1 + P {
font-style:italic;
}
input [type=‘button’] {
border-style:none;
}
Body Form > input[type=‘text’] {
text-align:center;
}
DIV P * [title] {
color:#ffffff;
}

‫•‬

‫براي اينكه ‪ CSS‬خاص ي را به چند انتخابگر يكجا اعمال كنيم‪ ،‬مي توانيم آنها را به صورت گروهي قرار‬

‫دهيم‪:‬‬
‫{ ]’‪div.Container , p , input[type=‘text‬‬
‫; ’‪font-family: ‘Tahoma’, ‘Comic Sans MS‬‬
‫}‬

‫•‬
‫• ‪CSS‬با استفاده از عبارات جاوااسكريپت مي تواند مقادير پويا (نسبت به شرايط ‪ )Client‬را به‬
‫در صورتي كه چند دستور يكسان ‪ CSS‬به يك برچسب خاص اعمال شوند‪ ،‬آخرين آنها باقي مي ماند‪.‬‬

‫‪ Property‬ها اعمال كند‪:‬‬
‫;‪Width: expression( document.width /2 )px‬‬

‫مشخصه هاي استاندارد ‪CSS 2‬‬

‫‪o‬‬
‫‪(scroll,fixed)o‬‬

‫‪ : Background‬خلصه اي براي تنظيم تمام مشخصات ‪Background‬‬
‫‪ : Background-Attachement‬وضعيت قرارگيري تصوير در‬

‫‪ ،Background‬در صورتي كه ‪fixed‬باشد‪ ،‬با جابجايي صفحه پشت صفحه آن حركت نخواهد كرد‪.‬‬

‫‪o‬‬
‫‪ :Background-image o‬يا مقدار ‪ none‬مي گيرد و يا با استفاده از )‪URL(adress‬يك آدرس‬
‫)‪ : Background-color (RGB Value‬رنگ پشت صفحه‬

‫فايل تصويري (آدرس وب)‬

‫‪o‬‬
‫‪ :Background-repeato‬در صورتي كه از تصوير استفاده شود‪ ،‬روش تكرار آنرا مشخص مي كند‪.‬‬
‫‪ :Background-position‬مقاديري مانند … ‪top left, center center ,‬‬

‫مقادير مجاز عبارتند از ‪no-repeat, repeat-x,repeat-y,repeat‬‬

‫‪o‬‬
‫‪ :Border-widtho‬عرض حاشيه (ضخامت آن) به عدد‪ ،‬درصد و واحد هاي ديگر اندازه‬
‫‪ :Border-coloro‬رنگ حاشيه به ‪RGB‬‬
‫‪ :Border-styleo‬نوع حاشيه از مقادير ‪none, hidden, dotted, dashed, solid,‬‬
‫‪ :Border‬خلصه اي براي تنظيم مشخصات حاشيه‪ ،‬به ترتيب عرض‪ ،‬نوع و رنگ مي گيرد‪.‬‬

‫‪double, groove, ridge, inset, outset‬‬

‫‪o‬‬

‫براي تغيير تنظيمات مربوط به حاشيه نواحي مختلف (باال‪ ،‬پايين‪ ،‬چپ‪ ،‬راست)مي توانيد از چهار ويژگي باال‬

‫به همراه نام طرف مورد نظر استفاده نماييد‪ ،‬براي مثال‪:‬‬

‫‪o‬‬
‫‪Border-top-coloro‬‬
‫‪Border-bottomo‬‬

‫‪Border-left-width‬‬

o

url(file), auto, ‫ مقادير مجاز عبارتند از‬،‫ شمايل اشاره گر ماوس را معين مي سازد‬:Cursor

crosshair, default, pointer, move, e-resize, ne-resize, nw-resize , nresize, se-resize, sw-resize, s-resize, w-resize , text, wait , help
none, inline, block, list- ‫ مقادير مجاز عبارتند از‬،‫ نحوه نمايش يك برچسب‬:Display

o

item, run-in, compact, marker, table, inline-table , ….

left,

right,

‫ مقادير مجاز عبارتند از‬،‫ گرايش و شناوري يك برچسب به طرفي خاص‬:Float

o

none
Static, Relative, ‫ مقادير مجاز عبارتند از‬،‫ نحوه قرارگيري يك برچسب در يك سند‬:Position

o

Absolute, Fixed

‫‪o‬‬
‫‪ :Line-Heighto‬فاصله بين دو خط متن در سند‬
‫‪ :Max-Heighto‬حداكثر ارتفاعي كه يك برچسب مي تواند داشته باشد‬
‫‪ :Min-Heighto‬حداقل ارتفاع يك برچسب‬
‫‪ :Widtho‬عرض يك برچسب‬
‫‪ :Max-Widtho‬حداكثر عرض يك برچسب‬
‫‪ :Min-Widtho‬حداقل عرض يك برچسب‬
‫‪ :Height‬ارتفاع يك برچسب در سند‪ .‬مشخصه اندازه اي‬

‫‪o‬‬
‫‪ :Font-Familyo‬نام قلم‪ ،‬بهتر است ليستي از قلمها بسته به پشتيباني از سيستم ها انتخاب شود‪.‬‬
‫‪ :Font‬ميانبري براي اعمال مشخصات كامل فونت و قلم‬

‫معموال نوشته هاي فارس ي با قلم ‪ Tahoma‬خوب نمايش داده مي شوند‪.‬‬

‫‪o‬‬

‫‪ :Font-Size‬اندازه قلم‪ .‬هم مي تواند از انواع مقداري قرار داده شود هم مي تواند يكي از مقادير مجاز‬

‫باشد‬

‫‪xx-small, x-small, small, medium, large, x-large, xx-large,‬‬

‫‪smaller, larger‬‬

‫‪o‬‬

‫‪ :Font-Stretch‬كشيدگي فونت (فاصلي افقي مابين حرفهاي آن)يا مقدار عددي يا يكي از مقادير‬

‫‪normal, wider, narrower, ultra-condensed, extra-condensed, condensed,‬‬
‫‪semi-condensed, semi-expanded, expanded, extra-expanded, ultra-expanded‬‬

‫‪o‬‬
‫‪ :Font-Weighto‬يكي از مقادير ‪ normal, bold, bolder, lighter‬و يا مقدار عددي‬
‫‪ :Font-Style‬يكي از مقادير ‪Normal, Italic, Oblique‬‬

o
none , url(file) :List-Style-Imageo
inside, outside :List-style-Positiono
‫ موارد مجاز عبارتند از‬،‫ شكل موارد ليست‬:List-Style-Typeo

‫ موقعيت و تصوير ليست را مي گيرد‬، ‫ نوع‬،‫ به ترتيب‬.‫ ميانبري براي تنظيمات ليست‬:List-Style

none, disc, circle,

square, decimal, decimal-leading-zero, lower-roman, upper-roman,
lower-alpha,

upper-alpha,

lower-greek,

lower-latin,

upper-latin,

hebrew, armenian, georgian, cjk-ideographic, hiragana, katakana,
hiragana-iroha, katakana-iroha

)auto ‫ فاصله علمت از نوشتار (مقدار يا‬:Marker-Offset

o

‫‪o‬‬

‫‪ :Margin‬ميانبري براي تنظيمات كناره‪ .‬به ترتيب اندازه كناره هاي باال‪ ،‬راست‪ ،‬پايين و چپ را مي گيرد‬

‫(ساعتگرد)‬

‫‪o‬‬

‫‪ :Margin-left, Margin-right, Margin-top, Margin-bottom‬مقدار كناره‪ ،‬مقدار يا‬

‫‪auto‬‬

‫‪o‬‬
‫‪ :Padding-left, Padding-right, Padding-top, Padding-bottomo‬مقدار اليي‬
‫‪ :Padding‬ميانبري براي تنظيم مشخصات اليي گذاري‪ ،‬به ترتيب باال‪ ،‬راست‪ ،‬پايين و چپ‬

‫گذاري‪ ،‬مقدار يا ‪auto‬‬

‫‪o‬‬
‫‪ :Outline-coloro‬رنگ خط حاشيه به ‪RGB‬‬
‫‪ :Outline-styleo‬نوع خط حاشيه يك ش يء‪ ،‬انوع مجاز عبارتند از ‪none, dotted, dashed,‬‬
‫‪ :Outline‬ميانبري براي تمام تنظيمات خط حاشيه‪ ،‬به ترتيب رنگ‪ ،‬نوع و عرض‬

‫‪solid , double , groove, ridge, inset, outset‬‬

‫‪o‬‬

‫‪ :Outline-width‬قطوري خط حاشيه‪ ،‬مقدار عددي يا يكي از مقادير ‪thin, thick, medium‬‬

‫‪o‬‬

‫‪ :Overflow‬در صورتي كه محتويات يك برچسب در آن جاي نگيرند‪ ،‬اين مشخصه معين مي سازد كه‬

‫چه اتفاقي بيافتد‪ .‬مقادير مجاز عبارتند از ‪Visible, Hidden, Auto, Scroll‬‬

‫‪o‬‬

‫‪ :Position‬نحوه قرارگيري برچسب نسبت به سند‪ ،‬مقادير مجاز عبارتند از ‪Static, Relative,‬‬

‫‪Absolute, Fixed‬‬

‫‪o‬‬

‫‪ :Vertical-Align‬نحوه قرارگيري عمودي يك برچسب در داخل برچسب پدر خود را مشخص مي كند‪.‬‬

‫مقادير مجاز عبارتند از ‪baseline, sub, super, top, text-top, middle, bottom,‬‬
‫‪ text-bottom‬و يا مقدار عددي‬

‫‪o‬‬

‫‪ :Z-Index‬اولويت قرارگيري در بعد سوم در صفحه (يعني جلو پشت ديگر برچسب ها)‪ Auto .‬يا يك‬

‫عدد‬

‫‪o‬‬

‫‪ :Border-Collapse‬معين مي سازد كه حواش ي جداول جدا باشند و يا يك مجموعه خط بهم‬

‫پيوسته باشند‪ .‬مقادير مجاز ‪Separate , Collapse‬‬

‫‪o‬‬
‫‪ :Empty-Cellsٍo‬مشخص مي كند كه سلول هاي خالي در مدل ‪ Seperate‬نمايش داده شوند و يا‬
‫‪ :Border-Spacing‬فاصله ميان دو حاشيه جدول‪ ،‬تنها در صورتي كه ‪ Seperate‬باشد‪.‬‬

‫خير‪ .‬مقادير مجاز ‪Show/Hide‬‬

‫‪o‬‬

‫‪ :Table Layout‬الگوريتم نحوه نمايش سلولهاي يك جدول‪Auto/Fixed ،‬‬

‫‪o‬‬
‫‪ :Directiono‬جهت متن (و محتويات)يك برچسب را مشخص مي سازد‪ ،‬مقادير مجاز ‪LTR/RTL‬‬
‫‪ :Text-Aligno‬مقادير مجاز ‪Left, Right, Center, Justify‬‬
‫‪ :Text-Decorationo‬افزودن افكتي به متن‪ ،‬مقادير مجاز عبارتند از ‪none, underline,‬‬
‫‪ :Color‬رنگ يك متن را مشخص مي سازد‪RGB ،‬‬

‫‪overline, line-through, blink‬‬

‫‪o‬‬
‫‪ :Word-Spacingo‬فاصله ميان لغات يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Letter-Spacingo‬فاصله ميان حروف يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Text-Indent‬تو رفتگي اولين خط يك متن‪ .‬مقدار عددي‬

‫تسلط كامل بر ‪CSS‬‬

‫‪o‬‬

‫در ‪ CSS‬رنگها را به دو شیوه می توان مشخص کرد‪:‬‬

‫‪o‬‬
‫‪o‬استفاده از نام رنگ‬

‫تعیين مقدار ‪ 24‬بیتی ‪ RGB‬آنها‬

‫‪o‬‬

‫در روش اول ‪ 16‬میلیون رنگ مختلف برای انتخاب وجود دارند‪ ،‬اما در روش دوم حدود ‪ 200‬رنگ با نام‬

‫های مختلف قابل استفاده هستند‪.‬‬

‫‪o‬‬
‫‪o‬برای مشخص کردن رنگ ‪ ،RGB‬پس از قرار دادن علمت ‪ #‬به ترتیب مقدار ‪ R‬و ‪ G‬و ‪ B‬را در مبنای ‪16‬‬
‫برای مشخص کردن رنگ با نام آن‪ ،‬کافیست نام رنگ را بنویسید‪Cyan, Purple :‬‬

‫وارد می کنیم‪#FFFFFF , #00FF00 :‬‬

‫‪o‬‬

‫همچنين می توان برای مشخص کردن رنگ ‪ RGB‬به صورت روبرو عمل کرد‪RGB(100,255,10):‬‬

‫و یا)‪RGB(70%,20%,100%‬‬

‫‪o‬‬

‫تمامی مقادیر اندازه ای در ‪ CSS‬واحد های متفاوتی را می پذیرند‪ .‬پایه ای ترین واحد همان ‪ Pixel‬است‬

‫که با ‪ px‬در انتهای مقدار مشخص می گردد‪ .‬واحدهای دیگر عبارتند از‪:‬‬

‫‪o‬‬
‫‪ :Ino‬اینچ‬
‫‪ :Cmo‬سانتیمتر‬
‫‪ :Mmo‬میلیمتر‬
‫‪ :Emo‬اندازه فونت‬
‫‪ 1/72 :Pto‬اینتچ‬
‫‪pt 12 :Pco‬‬
‫‪ :Pxo‬یک نقطه‬
‫‪ :%‬درصد!‬

‫‪o‬‬

‫شفافیت )‪ (Transparency‬یک عملیات پیچیده برای سیستم هاییست که کارت گرافیکی قدرتمندی‬

‫ندارد و موتور گرافیکی کاوشگر برای پیاده کردن آن بشدت زیر بار قرار می گيرد‪.‬‬

‫‪o‬‬

‫با استفاده از شفافیت می توان جذابیت بصری را بسیار باالتر برد‪ ،‬اما باید دقت داشت که کندی پردازش‬

‫تصویری سایت برای کاربر ایجاد مزاحمت نکند‪.‬‬

‫‪o‬‬
‫‪ o‬برای ایجاد شفافیت در کاوشگرهای استادارد‪ ،‬از ‪ Opacity : .5‬استفاده می شود‪.‬‬
‫‪o‬برای ایجاد شفافیت در ‪ IE‬از )‪ filter:alpha(opacity=50‬استفاده می شود‪.‬‬
‫‪o‬برای اینکه شفافیت در تمامی کاوشگرها درست نمایش داده شود الزم است هردو دستور باال بکار روند‪.‬‬
‫متاسفانه کاوشگر ‪ IE‬برای شفافیت از دستورات خود استفاده می کند که استاندارد نیستند‪.‬‬

‫‪o‬‬

‫کاوشگرهایی مانند ‪ Firefox‬دستورات ‪ CSS‬ویژه ای دارند (البته ‪ IE‬نيز دستورات مخصوص خود را‬

‫داراست) ‪.‬‬

‫‪o‬‬

‫عبارت ‪ –moz-border-radius‬می تواند گوشه های مستطیل ها را از تيزی درآورده و آنها را نرم‬

‫کند‪-moz-border-radius: 5px; :‬‬

‫‪o‬‬

‫استفاده از این عبارت و راه حل های مشابه پیشنهاد نمی شود زیرا این نما تنها در ‪ Firefox‬قابل مشاهده‬

‫خواهد بود‪.‬‬

‫‪o‬‬

‫‪ CSS‬توانایی آنرا داراست که برای رسانه های خاص تفاوت کند! برای مثال می توانید ‪ CSS‬یک سایت‬

‫را طوری تعریف کنید که رنگ نوشته های آن قرمز باشد ولی هنگام پرینت مشکی شود‪.‬‬

‫‪o‬‬

‫برای مشخص کردن اینکه ‪ CSS‬را برای چه رسانه ای می نویسیم‪ ،‬از ‪ @media‬استفاده می کنیم‪:‬‬
‫‪@media screen‬‬
‫};‪* { color:#ff0000‬‬
‫‪@media print‬‬
‫};‪* { color:#000000‬‬

‫رسانه های معمول عبارتند از‪all, braille, handheld, print, projection, screen, tv, :‬‬
‫…‬

‫‪ CSS‬را قورت بده!‬

‫‪o‬‬

‫فایل ‪ HTML‬ای که در تمرینات ‪ HTML‬ساخته اید و تمامی برچسب ها را داراست‪ ،‬با استفاده از تمامی‬

‫برچسب های ‪ CSS‬قالب بندی کنید‪ .‬سعی کنید زیبایی کافی و قالب بندی مناسب برای سند اتفاق بیافتد! در‬

‫داخل سند تنها می توانید برچسبهای ‪ DIV‬و ‪ SPAN‬اضافه کنید و یا به برچسب های موجود ‪ID ,‬‬
‫‪ CLASS‬بیافزایید‪.‬‬

‫‪o‬‬
‫‪o‬آیا می توان با استفاده از ‪ CSS‬منو ساخت؟ اگر بله راه حل را معين کنید‪.‬‬
‫‪o‬مزایا و معایب نوشتن ‪ CSS‬در یک فایل جداگانه را برشمارید‪.‬‬
‫‪o‬با استفاده از ‪ CSS‬یک ‪ taskbar‬برای یک صفحه بسازید که همواره در قسمت پایين پنجره کاوشگر‬
‫بدون استفاده از جداول و تنها با استفاده از ‪ CSS‬یک صفحه سه ستونی (مانند ‪ )SBCE.ir‬بسازید‪.‬‬

‫(نه لزوما انتهای سند) باشد‪.‬‬


Slide 31

‫کارگاه آموزش ی توسعه وب‬
‫بخش دوم ‪CSS -‬‬

‫ارائه‪ :‬عباس نادری‬
‫انجمن علمی دانشجویی‬
‫مهندس ی کامپیوتر‬
‫نسخه ‪1‬‬

‫دانشگاه شهید بهشتی‬

‫‪ CSS‬چیست ؟‬

‫•‬
‫•معمول ترین استفاده ‪ CSS‬برای قالب بندی اسناد وب )‪ (HTML‬منظور می شود‪.‬‬
‫•با پیچیده شدن وب ها‪ ،‬تصمیم بر آن شد تا محتوا از قالب بندی تفکیک شود و توسعه وب تسهیل‬
‫‪ CSS‬یا ‪ Casacading Style Sheets‬یک استاندارد قالب بندی ظاهری اسناد است‪.‬‬

‫گردد‪.‬‬

‫•‬

‫‪ CSS‬سه نسخه اصلی دارد‪:‬‬

‫•‬
‫•‪ :CSS 2‬در سال ‪ 1998‬توسط ‪ W3C‬استاندارد شد و هنوز به عنوان استاندارد بکار می رود‪.‬‬
‫•‪ :CSS 3‬هنوز در دست توسعه توسط ‪ W3C‬است‪.‬‬
‫‪ :CSS 1‬در سال ‪ 1996‬توسط ‪ W3C‬استاندارد شد‪.‬‬

‫•‬

‫‪ CSS‬به دلیل امکان استفاده مجدد‪ ،‬به شدت توسعه وب را ساده و سریع می کند‪ .‬همچنین قالب‬

‫بندی صفحات با استفاده از آن در قالب تیمی مقدور خواهد بود‪.‬‬

‫•‬

‫‪ CSS‬از طریق انتخابگرها قالب بندی را سرعت می بخشد‪ .‬همچنین از موتور انتخابگر ‪ CSS‬در‬

‫کاربردهای دیگر بهره فراوان برده می شود‪.‬‬

‫•‬

‫‪ :Layout Engine‬برنامه ایست در کاوشگرها که سند ‪ HTML‬و فایل ‪ CSS‬را دریافت کرده‪،‬‬

‫خروجی گرافیکی بر روی صفحه تولید می نماید‪.‬‬

‫•‬

‫‪ :Selector Engine‬موتوریست بر روی کاوشگر که زیرمجموعه ای از برچسب های ‪ HTML‬را‬

‫انتخاب می کند‪.‬‬

:‫ با چند مثال آنرا بررس ی می کنیم‬،‫ گرامر بسیار ساده ای دارد‬CSS
Template:
Selection {
Property: value;
Property: value;
//Comment /*Comment */
}
Example:
div.main {
background-color:#777777;
border-width: 1px;
border-style: solid;
font-family: ‘Tahoma’;
}



‫•‬
‫•در سه جای مختلف می توان از ‪ CSS‬استفاده کرد‪:‬‬

‫‪ CSS‬جزئیات گرامری مختلفی نیز دارد که در طی این ارائه با آنها بیشتر آشنا خواهیم شد‪.‬‬

‫•‬
‫•برچسب های ‪ Style‬در داخل فایل ‪ :HTML‬می توان با افزودن برچسب ‪ Style‬در ‪Head‬یا ‪Body‬‬
‫فایل های ‪ :CSS‬می توان ‪ CSS‬را در فایلی جداگانه نوشت و آنرا در ‪ HTML‬افزود‪.‬‬

‫یک سند‪ CSS ،‬تعریف کرد‪.‬‬

‫•‬

‫صفت ‪ Style‬برای برچسب ها‪ :‬می توان در یکی از صفتهای هر برچسب‪ CSS ،‬آنرا تعریف کرد‪ .‬در این‬

‫حالت دیگر انتخابگر مطرح نیست و قالب بندی تنها برای آن برچسب اعمال می شود‪.‬‬

‫•‬
‫•استفاده از حالت سوم (‪ )Inline CSS‬توصیه نمی شود و جدابودن محتوی از قالب را زیر سوال می‬
‫سه نوع تعریف ‪ CSS‬می توانند همزمان باشند‪ .‬اولویت آنها به ترتیب افزایش می یابد‪.‬‬

‫برد‪ ،‬اما در جاهای خاص ی استفاده از آن کار را راحتتر می کند‪.‬‬

:HTML ‫ جدا و استفاده از آن در‬CSS ‫تعریف در فایل‬
//SomeFile.css
input[text] {
width:200px;
background-color:#000000;
border:solid 0px;
}







:HTML ‫ در بدنه سند‬CSS ‫تعریف‬






:‫ در صفت یک برچسب‬CSS ‫تعریف‬


This is some text with tahoma font






‫چگونگی انتخاب برچسبها‬

‫•‬

‫براي مشخص كردن اينكه يك ‪ CSS‬به كدامين اشياء يك صفحه اعمال شود‪ ،‬بايد از انتخابگرها استفاده‬

‫نمود‪ .‬هر انتخاب گر يك يا چند ش يء در يك صفحه ‪ HTML‬را انتخاب مي كند و سپس مي توان قالب هاي‬

‫مورد نظر را به آن اعمال كرد‪.‬‬

‫•‬

‫انتخابگرهاي ‪ CSS‬تنوع و قدرت به سزايي دارند بنابراين در اين بخش در حدي كه نيازهاي اوليه مرتفع‬

‫شوند آنها را بررس ي خواهيم كرد‪.‬‬

‫•‬

‫انتخابگر ها در دو نحوه اوليه تعريف ‪ CSS‬ها قابل استفاده هستند به قالب زير‪:‬‬
‫{ ‪SelectorStatement‬‬
‫;‪Css Properties & Values‬‬

‫}‬

‫انتخاب تمام برچسب ها ‪* :‬‬
‫انتخاب برچسب هاي خاص‪tagName :‬‬
‫انتخاب برچسبي از زيربرچسب هاي يك برچسب ديگر‪ParentTag DescendantTag :‬‬
‫انتخاب برچسبي از فرزندان يك برچسب ديگر ‪ParentTag > ChildTag :‬‬
‫انتخاب برچسبي بعد از يك برچسب ديگر‪Tag1 + Tag2 :‬‬
‫انتخاب برچسبي با صفتي خاص‪Tag[attrib=“value”] :‬‬
‫آنتخاب يك برچسب در وضعيت هاي خاص‪:‬‬
‫لينك ديده نشده ‪Tag:link‬‬

‫برچسبي كه ماوس رويش است ‪Tag:hover‬‬

‫لينك ديده شده ‪Tag:visited‬‬

‫برچسب درحال كليك ‪Tag:active‬‬
‫برچسب فعال صفحه ‪Tag:focus‬‬

‫•‬

‫همانطور كه قبل ذكر شد‪ ،‬هر بچسب در ‪ HTML‬مي تواند صفات خاص ي را داشته باشد‪ .‬صفاتي كه در‬

‫‪ CSS‬به ما كمك مي كنند‪ ،‬دو صفت ‪ class , id‬هستند‪ .‬با اختصاص دادن اين دو صفت به يك برچسب‬

‫در ‪ HTML‬مي توان ويژگيهاي ‪ CSS‬آنرا به سادگي كنترل كرد‪.‬‬

‫•‬

‫با تعريف يك كلس خاص براي برچسبي ‪ ،‬مي توان آنرا جزو دسته اي قرار داد كه ويژگيهاي ‪CSS‬مشترك‬

‫خاص ي بر روي همگي آنها اعمال شود‪.‬‬

‫•‬

‫با تعريف يك مشخصه منحصره (‪ )Unique Identifier‬براي يك برچسب‪ ،‬مي توان كنترل هاي‬

‫خاص ي از طريق ‪CSS‬و جاوااسكريپت بر روي آن برچسب اعمال كرد‪.‬‬

‫•‬

‫بايد توجه گردد كه ‪ id‬هيچ دو برچسبي در يك سند ‪HTML‬نبايد يكسان باشند‪ ،‬در غير اينصورت نتايج‬

‫قابل پيش بيني نخواهد بود‪.‬‬

*{
font-family: “Tahoma”, “Trebuchet”,”MS Sans Serif”
}
div.Container {
background-color:#777777;
border-width: 1px;
}
P#title {
font-weight:bold;
}
H1 + P {
font-style:italic;
}
input [type=‘button’] {
border-style:none;
}
Body Form > input[type=‘text’] {
text-align:center;
}
DIV P * [title] {
color:#ffffff;
}

‫•‬

‫براي اينكه ‪ CSS‬خاص ي را به چند انتخابگر يكجا اعمال كنيم‪ ،‬مي توانيم آنها را به صورت گروهي قرار‬

‫دهيم‪:‬‬
‫{ ]’‪div.Container , p , input[type=‘text‬‬
‫; ’‪font-family: ‘Tahoma’, ‘Comic Sans MS‬‬
‫}‬

‫•‬
‫• ‪CSS‬با استفاده از عبارات جاوااسكريپت مي تواند مقادير پويا (نسبت به شرايط ‪ )Client‬را به‬
‫در صورتي كه چند دستور يكسان ‪ CSS‬به يك برچسب خاص اعمال شوند‪ ،‬آخرين آنها باقي مي ماند‪.‬‬

‫‪ Property‬ها اعمال كند‪:‬‬
‫;‪Width: expression( document.width /2 )px‬‬

‫مشخصه هاي استاندارد ‪CSS 2‬‬

‫‪o‬‬
‫‪(scroll,fixed)o‬‬

‫‪ : Background‬خلصه اي براي تنظيم تمام مشخصات ‪Background‬‬
‫‪ : Background-Attachement‬وضعيت قرارگيري تصوير در‬

‫‪ ،Background‬در صورتي كه ‪fixed‬باشد‪ ،‬با جابجايي صفحه پشت صفحه آن حركت نخواهد كرد‪.‬‬

‫‪o‬‬
‫‪ :Background-image o‬يا مقدار ‪ none‬مي گيرد و يا با استفاده از )‪URL(adress‬يك آدرس‬
‫)‪ : Background-color (RGB Value‬رنگ پشت صفحه‬

‫فايل تصويري (آدرس وب)‬

‫‪o‬‬
‫‪ :Background-repeato‬در صورتي كه از تصوير استفاده شود‪ ،‬روش تكرار آنرا مشخص مي كند‪.‬‬
‫‪ :Background-position‬مقاديري مانند … ‪top left, center center ,‬‬

‫مقادير مجاز عبارتند از ‪no-repeat, repeat-x,repeat-y,repeat‬‬

‫‪o‬‬
‫‪ :Border-widtho‬عرض حاشيه (ضخامت آن) به عدد‪ ،‬درصد و واحد هاي ديگر اندازه‬
‫‪ :Border-coloro‬رنگ حاشيه به ‪RGB‬‬
‫‪ :Border-styleo‬نوع حاشيه از مقادير ‪none, hidden, dotted, dashed, solid,‬‬
‫‪ :Border‬خلصه اي براي تنظيم مشخصات حاشيه‪ ،‬به ترتيب عرض‪ ،‬نوع و رنگ مي گيرد‪.‬‬

‫‪double, groove, ridge, inset, outset‬‬

‫‪o‬‬

‫براي تغيير تنظيمات مربوط به حاشيه نواحي مختلف (باال‪ ،‬پايين‪ ،‬چپ‪ ،‬راست)مي توانيد از چهار ويژگي باال‬

‫به همراه نام طرف مورد نظر استفاده نماييد‪ ،‬براي مثال‪:‬‬

‫‪o‬‬
‫‪Border-top-coloro‬‬
‫‪Border-bottomo‬‬

‫‪Border-left-width‬‬

o

url(file), auto, ‫ مقادير مجاز عبارتند از‬،‫ شمايل اشاره گر ماوس را معين مي سازد‬:Cursor

crosshair, default, pointer, move, e-resize, ne-resize, nw-resize , nresize, se-resize, sw-resize, s-resize, w-resize , text, wait , help
none, inline, block, list- ‫ مقادير مجاز عبارتند از‬،‫ نحوه نمايش يك برچسب‬:Display

o

item, run-in, compact, marker, table, inline-table , ….

left,

right,

‫ مقادير مجاز عبارتند از‬،‫ گرايش و شناوري يك برچسب به طرفي خاص‬:Float

o

none
Static, Relative, ‫ مقادير مجاز عبارتند از‬،‫ نحوه قرارگيري يك برچسب در يك سند‬:Position

o

Absolute, Fixed

‫‪o‬‬
‫‪ :Line-Heighto‬فاصله بين دو خط متن در سند‬
‫‪ :Max-Heighto‬حداكثر ارتفاعي كه يك برچسب مي تواند داشته باشد‬
‫‪ :Min-Heighto‬حداقل ارتفاع يك برچسب‬
‫‪ :Widtho‬عرض يك برچسب‬
‫‪ :Max-Widtho‬حداكثر عرض يك برچسب‬
‫‪ :Min-Widtho‬حداقل عرض يك برچسب‬
‫‪ :Height‬ارتفاع يك برچسب در سند‪ .‬مشخصه اندازه اي‬

‫‪o‬‬
‫‪ :Font-Familyo‬نام قلم‪ ،‬بهتر است ليستي از قلمها بسته به پشتيباني از سيستم ها انتخاب شود‪.‬‬
‫‪ :Font‬ميانبري براي اعمال مشخصات كامل فونت و قلم‬

‫معموال نوشته هاي فارس ي با قلم ‪ Tahoma‬خوب نمايش داده مي شوند‪.‬‬

‫‪o‬‬

‫‪ :Font-Size‬اندازه قلم‪ .‬هم مي تواند از انواع مقداري قرار داده شود هم مي تواند يكي از مقادير مجاز‬

‫باشد‬

‫‪xx-small, x-small, small, medium, large, x-large, xx-large,‬‬

‫‪smaller, larger‬‬

‫‪o‬‬

‫‪ :Font-Stretch‬كشيدگي فونت (فاصلي افقي مابين حرفهاي آن)يا مقدار عددي يا يكي از مقادير‬

‫‪normal, wider, narrower, ultra-condensed, extra-condensed, condensed,‬‬
‫‪semi-condensed, semi-expanded, expanded, extra-expanded, ultra-expanded‬‬

‫‪o‬‬
‫‪ :Font-Weighto‬يكي از مقادير ‪ normal, bold, bolder, lighter‬و يا مقدار عددي‬
‫‪ :Font-Style‬يكي از مقادير ‪Normal, Italic, Oblique‬‬

o
none , url(file) :List-Style-Imageo
inside, outside :List-style-Positiono
‫ موارد مجاز عبارتند از‬،‫ شكل موارد ليست‬:List-Style-Typeo

‫ موقعيت و تصوير ليست را مي گيرد‬، ‫ نوع‬،‫ به ترتيب‬.‫ ميانبري براي تنظيمات ليست‬:List-Style

none, disc, circle,

square, decimal, decimal-leading-zero, lower-roman, upper-roman,
lower-alpha,

upper-alpha,

lower-greek,

lower-latin,

upper-latin,

hebrew, armenian, georgian, cjk-ideographic, hiragana, katakana,
hiragana-iroha, katakana-iroha

)auto ‫ فاصله علمت از نوشتار (مقدار يا‬:Marker-Offset

o

‫‪o‬‬

‫‪ :Margin‬ميانبري براي تنظيمات كناره‪ .‬به ترتيب اندازه كناره هاي باال‪ ،‬راست‪ ،‬پايين و چپ را مي گيرد‬

‫(ساعتگرد)‬

‫‪o‬‬

‫‪ :Margin-left, Margin-right, Margin-top, Margin-bottom‬مقدار كناره‪ ،‬مقدار يا‬

‫‪auto‬‬

‫‪o‬‬
‫‪ :Padding-left, Padding-right, Padding-top, Padding-bottomo‬مقدار اليي‬
‫‪ :Padding‬ميانبري براي تنظيم مشخصات اليي گذاري‪ ،‬به ترتيب باال‪ ،‬راست‪ ،‬پايين و چپ‬

‫گذاري‪ ،‬مقدار يا ‪auto‬‬

‫‪o‬‬
‫‪ :Outline-coloro‬رنگ خط حاشيه به ‪RGB‬‬
‫‪ :Outline-styleo‬نوع خط حاشيه يك ش يء‪ ،‬انوع مجاز عبارتند از ‪none, dotted, dashed,‬‬
‫‪ :Outline‬ميانبري براي تمام تنظيمات خط حاشيه‪ ،‬به ترتيب رنگ‪ ،‬نوع و عرض‬

‫‪solid , double , groove, ridge, inset, outset‬‬

‫‪o‬‬

‫‪ :Outline-width‬قطوري خط حاشيه‪ ،‬مقدار عددي يا يكي از مقادير ‪thin, thick, medium‬‬

‫‪o‬‬

‫‪ :Overflow‬در صورتي كه محتويات يك برچسب در آن جاي نگيرند‪ ،‬اين مشخصه معين مي سازد كه‬

‫چه اتفاقي بيافتد‪ .‬مقادير مجاز عبارتند از ‪Visible, Hidden, Auto, Scroll‬‬

‫‪o‬‬

‫‪ :Position‬نحوه قرارگيري برچسب نسبت به سند‪ ،‬مقادير مجاز عبارتند از ‪Static, Relative,‬‬

‫‪Absolute, Fixed‬‬

‫‪o‬‬

‫‪ :Vertical-Align‬نحوه قرارگيري عمودي يك برچسب در داخل برچسب پدر خود را مشخص مي كند‪.‬‬

‫مقادير مجاز عبارتند از ‪baseline, sub, super, top, text-top, middle, bottom,‬‬
‫‪ text-bottom‬و يا مقدار عددي‬

‫‪o‬‬

‫‪ :Z-Index‬اولويت قرارگيري در بعد سوم در صفحه (يعني جلو پشت ديگر برچسب ها)‪ Auto .‬يا يك‬

‫عدد‬

‫‪o‬‬

‫‪ :Border-Collapse‬معين مي سازد كه حواش ي جداول جدا باشند و يا يك مجموعه خط بهم‬

‫پيوسته باشند‪ .‬مقادير مجاز ‪Separate , Collapse‬‬

‫‪o‬‬
‫‪ :Empty-Cellsٍo‬مشخص مي كند كه سلول هاي خالي در مدل ‪ Seperate‬نمايش داده شوند و يا‬
‫‪ :Border-Spacing‬فاصله ميان دو حاشيه جدول‪ ،‬تنها در صورتي كه ‪ Seperate‬باشد‪.‬‬

‫خير‪ .‬مقادير مجاز ‪Show/Hide‬‬

‫‪o‬‬

‫‪ :Table Layout‬الگوريتم نحوه نمايش سلولهاي يك جدول‪Auto/Fixed ،‬‬

‫‪o‬‬
‫‪ :Directiono‬جهت متن (و محتويات)يك برچسب را مشخص مي سازد‪ ،‬مقادير مجاز ‪LTR/RTL‬‬
‫‪ :Text-Aligno‬مقادير مجاز ‪Left, Right, Center, Justify‬‬
‫‪ :Text-Decorationo‬افزودن افكتي به متن‪ ،‬مقادير مجاز عبارتند از ‪none, underline,‬‬
‫‪ :Color‬رنگ يك متن را مشخص مي سازد‪RGB ،‬‬

‫‪overline, line-through, blink‬‬

‫‪o‬‬
‫‪ :Word-Spacingo‬فاصله ميان لغات يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Letter-Spacingo‬فاصله ميان حروف يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Text-Indent‬تو رفتگي اولين خط يك متن‪ .‬مقدار عددي‬

‫تسلط كامل بر ‪CSS‬‬

‫‪o‬‬

‫در ‪ CSS‬رنگها را به دو شیوه می توان مشخص کرد‪:‬‬

‫‪o‬‬
‫‪o‬استفاده از نام رنگ‬

‫تعیين مقدار ‪ 24‬بیتی ‪ RGB‬آنها‬

‫‪o‬‬

‫در روش اول ‪ 16‬میلیون رنگ مختلف برای انتخاب وجود دارند‪ ،‬اما در روش دوم حدود ‪ 200‬رنگ با نام‬

‫های مختلف قابل استفاده هستند‪.‬‬

‫‪o‬‬
‫‪o‬برای مشخص کردن رنگ ‪ ،RGB‬پس از قرار دادن علمت ‪ #‬به ترتیب مقدار ‪ R‬و ‪ G‬و ‪ B‬را در مبنای ‪16‬‬
‫برای مشخص کردن رنگ با نام آن‪ ،‬کافیست نام رنگ را بنویسید‪Cyan, Purple :‬‬

‫وارد می کنیم‪#FFFFFF , #00FF00 :‬‬

‫‪o‬‬

‫همچنين می توان برای مشخص کردن رنگ ‪ RGB‬به صورت روبرو عمل کرد‪RGB(100,255,10):‬‬

‫و یا)‪RGB(70%,20%,100%‬‬

‫‪o‬‬

‫تمامی مقادیر اندازه ای در ‪ CSS‬واحد های متفاوتی را می پذیرند‪ .‬پایه ای ترین واحد همان ‪ Pixel‬است‬

‫که با ‪ px‬در انتهای مقدار مشخص می گردد‪ .‬واحدهای دیگر عبارتند از‪:‬‬

‫‪o‬‬
‫‪ :Ino‬اینچ‬
‫‪ :Cmo‬سانتیمتر‬
‫‪ :Mmo‬میلیمتر‬
‫‪ :Emo‬اندازه فونت‬
‫‪ 1/72 :Pto‬اینتچ‬
‫‪pt 12 :Pco‬‬
‫‪ :Pxo‬یک نقطه‬
‫‪ :%‬درصد!‬

‫‪o‬‬

‫شفافیت )‪ (Transparency‬یک عملیات پیچیده برای سیستم هاییست که کارت گرافیکی قدرتمندی‬

‫ندارد و موتور گرافیکی کاوشگر برای پیاده کردن آن بشدت زیر بار قرار می گيرد‪.‬‬

‫‪o‬‬

‫با استفاده از شفافیت می توان جذابیت بصری را بسیار باالتر برد‪ ،‬اما باید دقت داشت که کندی پردازش‬

‫تصویری سایت برای کاربر ایجاد مزاحمت نکند‪.‬‬

‫‪o‬‬
‫‪ o‬برای ایجاد شفافیت در کاوشگرهای استادارد‪ ،‬از ‪ Opacity : .5‬استفاده می شود‪.‬‬
‫‪o‬برای ایجاد شفافیت در ‪ IE‬از )‪ filter:alpha(opacity=50‬استفاده می شود‪.‬‬
‫‪o‬برای اینکه شفافیت در تمامی کاوشگرها درست نمایش داده شود الزم است هردو دستور باال بکار روند‪.‬‬
‫متاسفانه کاوشگر ‪ IE‬برای شفافیت از دستورات خود استفاده می کند که استاندارد نیستند‪.‬‬

‫‪o‬‬

‫کاوشگرهایی مانند ‪ Firefox‬دستورات ‪ CSS‬ویژه ای دارند (البته ‪ IE‬نيز دستورات مخصوص خود را‬

‫داراست) ‪.‬‬

‫‪o‬‬

‫عبارت ‪ –moz-border-radius‬می تواند گوشه های مستطیل ها را از تيزی درآورده و آنها را نرم‬

‫کند‪-moz-border-radius: 5px; :‬‬

‫‪o‬‬

‫استفاده از این عبارت و راه حل های مشابه پیشنهاد نمی شود زیرا این نما تنها در ‪ Firefox‬قابل مشاهده‬

‫خواهد بود‪.‬‬

‫‪o‬‬

‫‪ CSS‬توانایی آنرا داراست که برای رسانه های خاص تفاوت کند! برای مثال می توانید ‪ CSS‬یک سایت‬

‫را طوری تعریف کنید که رنگ نوشته های آن قرمز باشد ولی هنگام پرینت مشکی شود‪.‬‬

‫‪o‬‬

‫برای مشخص کردن اینکه ‪ CSS‬را برای چه رسانه ای می نویسیم‪ ،‬از ‪ @media‬استفاده می کنیم‪:‬‬
‫‪@media screen‬‬
‫};‪* { color:#ff0000‬‬
‫‪@media print‬‬
‫};‪* { color:#000000‬‬

‫رسانه های معمول عبارتند از‪all, braille, handheld, print, projection, screen, tv, :‬‬
‫…‬

‫‪ CSS‬را قورت بده!‬

‫‪o‬‬

‫فایل ‪ HTML‬ای که در تمرینات ‪ HTML‬ساخته اید و تمامی برچسب ها را داراست‪ ،‬با استفاده از تمامی‬

‫برچسب های ‪ CSS‬قالب بندی کنید‪ .‬سعی کنید زیبایی کافی و قالب بندی مناسب برای سند اتفاق بیافتد! در‬

‫داخل سند تنها می توانید برچسبهای ‪ DIV‬و ‪ SPAN‬اضافه کنید و یا به برچسب های موجود ‪ID ,‬‬
‫‪ CLASS‬بیافزایید‪.‬‬

‫‪o‬‬
‫‪o‬آیا می توان با استفاده از ‪ CSS‬منو ساخت؟ اگر بله راه حل را معين کنید‪.‬‬
‫‪o‬مزایا و معایب نوشتن ‪ CSS‬در یک فایل جداگانه را برشمارید‪.‬‬
‫‪o‬با استفاده از ‪ CSS‬یک ‪ taskbar‬برای یک صفحه بسازید که همواره در قسمت پایين پنجره کاوشگر‬
‫بدون استفاده از جداول و تنها با استفاده از ‪ CSS‬یک صفحه سه ستونی (مانند ‪ )SBCE.ir‬بسازید‪.‬‬

‫(نه لزوما انتهای سند) باشد‪.‬‬


Slide 32

‫کارگاه آموزش ی توسعه وب‬
‫بخش دوم ‪CSS -‬‬

‫ارائه‪ :‬عباس نادری‬
‫انجمن علمی دانشجویی‬
‫مهندس ی کامپیوتر‬
‫نسخه ‪1‬‬

‫دانشگاه شهید بهشتی‬

‫‪ CSS‬چیست ؟‬

‫•‬
‫•معمول ترین استفاده ‪ CSS‬برای قالب بندی اسناد وب )‪ (HTML‬منظور می شود‪.‬‬
‫•با پیچیده شدن وب ها‪ ،‬تصمیم بر آن شد تا محتوا از قالب بندی تفکیک شود و توسعه وب تسهیل‬
‫‪ CSS‬یا ‪ Casacading Style Sheets‬یک استاندارد قالب بندی ظاهری اسناد است‪.‬‬

‫گردد‪.‬‬

‫•‬

‫‪ CSS‬سه نسخه اصلی دارد‪:‬‬

‫•‬
‫•‪ :CSS 2‬در سال ‪ 1998‬توسط ‪ W3C‬استاندارد شد و هنوز به عنوان استاندارد بکار می رود‪.‬‬
‫•‪ :CSS 3‬هنوز در دست توسعه توسط ‪ W3C‬است‪.‬‬
‫‪ :CSS 1‬در سال ‪ 1996‬توسط ‪ W3C‬استاندارد شد‪.‬‬

‫•‬

‫‪ CSS‬به دلیل امکان استفاده مجدد‪ ،‬به شدت توسعه وب را ساده و سریع می کند‪ .‬همچنین قالب‬

‫بندی صفحات با استفاده از آن در قالب تیمی مقدور خواهد بود‪.‬‬

‫•‬

‫‪ CSS‬از طریق انتخابگرها قالب بندی را سرعت می بخشد‪ .‬همچنین از موتور انتخابگر ‪ CSS‬در‬

‫کاربردهای دیگر بهره فراوان برده می شود‪.‬‬

‫•‬

‫‪ :Layout Engine‬برنامه ایست در کاوشگرها که سند ‪ HTML‬و فایل ‪ CSS‬را دریافت کرده‪،‬‬

‫خروجی گرافیکی بر روی صفحه تولید می نماید‪.‬‬

‫•‬

‫‪ :Selector Engine‬موتوریست بر روی کاوشگر که زیرمجموعه ای از برچسب های ‪ HTML‬را‬

‫انتخاب می کند‪.‬‬

:‫ با چند مثال آنرا بررس ی می کنیم‬،‫ گرامر بسیار ساده ای دارد‬CSS
Template:
Selection {
Property: value;
Property: value;
//Comment /*Comment */
}
Example:
div.main {
background-color:#777777;
border-width: 1px;
border-style: solid;
font-family: ‘Tahoma’;
}



‫•‬
‫•در سه جای مختلف می توان از ‪ CSS‬استفاده کرد‪:‬‬

‫‪ CSS‬جزئیات گرامری مختلفی نیز دارد که در طی این ارائه با آنها بیشتر آشنا خواهیم شد‪.‬‬

‫•‬
‫•برچسب های ‪ Style‬در داخل فایل ‪ :HTML‬می توان با افزودن برچسب ‪ Style‬در ‪Head‬یا ‪Body‬‬
‫فایل های ‪ :CSS‬می توان ‪ CSS‬را در فایلی جداگانه نوشت و آنرا در ‪ HTML‬افزود‪.‬‬

‫یک سند‪ CSS ،‬تعریف کرد‪.‬‬

‫•‬

‫صفت ‪ Style‬برای برچسب ها‪ :‬می توان در یکی از صفتهای هر برچسب‪ CSS ،‬آنرا تعریف کرد‪ .‬در این‬

‫حالت دیگر انتخابگر مطرح نیست و قالب بندی تنها برای آن برچسب اعمال می شود‪.‬‬

‫•‬
‫•استفاده از حالت سوم (‪ )Inline CSS‬توصیه نمی شود و جدابودن محتوی از قالب را زیر سوال می‬
‫سه نوع تعریف ‪ CSS‬می توانند همزمان باشند‪ .‬اولویت آنها به ترتیب افزایش می یابد‪.‬‬

‫برد‪ ،‬اما در جاهای خاص ی استفاده از آن کار را راحتتر می کند‪.‬‬

:HTML ‫ جدا و استفاده از آن در‬CSS ‫تعریف در فایل‬
//SomeFile.css
input[text] {
width:200px;
background-color:#000000;
border:solid 0px;
}







:HTML ‫ در بدنه سند‬CSS ‫تعریف‬






:‫ در صفت یک برچسب‬CSS ‫تعریف‬


This is some text with tahoma font






‫چگونگی انتخاب برچسبها‬

‫•‬

‫براي مشخص كردن اينكه يك ‪ CSS‬به كدامين اشياء يك صفحه اعمال شود‪ ،‬بايد از انتخابگرها استفاده‬

‫نمود‪ .‬هر انتخاب گر يك يا چند ش يء در يك صفحه ‪ HTML‬را انتخاب مي كند و سپس مي توان قالب هاي‬

‫مورد نظر را به آن اعمال كرد‪.‬‬

‫•‬

‫انتخابگرهاي ‪ CSS‬تنوع و قدرت به سزايي دارند بنابراين در اين بخش در حدي كه نيازهاي اوليه مرتفع‬

‫شوند آنها را بررس ي خواهيم كرد‪.‬‬

‫•‬

‫انتخابگر ها در دو نحوه اوليه تعريف ‪ CSS‬ها قابل استفاده هستند به قالب زير‪:‬‬
‫{ ‪SelectorStatement‬‬
‫;‪Css Properties & Values‬‬

‫}‬

‫انتخاب تمام برچسب ها ‪* :‬‬
‫انتخاب برچسب هاي خاص‪tagName :‬‬
‫انتخاب برچسبي از زيربرچسب هاي يك برچسب ديگر‪ParentTag DescendantTag :‬‬
‫انتخاب برچسبي از فرزندان يك برچسب ديگر ‪ParentTag > ChildTag :‬‬
‫انتخاب برچسبي بعد از يك برچسب ديگر‪Tag1 + Tag2 :‬‬
‫انتخاب برچسبي با صفتي خاص‪Tag[attrib=“value”] :‬‬
‫آنتخاب يك برچسب در وضعيت هاي خاص‪:‬‬
‫لينك ديده نشده ‪Tag:link‬‬

‫برچسبي كه ماوس رويش است ‪Tag:hover‬‬

‫لينك ديده شده ‪Tag:visited‬‬

‫برچسب درحال كليك ‪Tag:active‬‬
‫برچسب فعال صفحه ‪Tag:focus‬‬

‫•‬

‫همانطور كه قبل ذكر شد‪ ،‬هر بچسب در ‪ HTML‬مي تواند صفات خاص ي را داشته باشد‪ .‬صفاتي كه در‬

‫‪ CSS‬به ما كمك مي كنند‪ ،‬دو صفت ‪ class , id‬هستند‪ .‬با اختصاص دادن اين دو صفت به يك برچسب‬

‫در ‪ HTML‬مي توان ويژگيهاي ‪ CSS‬آنرا به سادگي كنترل كرد‪.‬‬

‫•‬

‫با تعريف يك كلس خاص براي برچسبي ‪ ،‬مي توان آنرا جزو دسته اي قرار داد كه ويژگيهاي ‪CSS‬مشترك‬

‫خاص ي بر روي همگي آنها اعمال شود‪.‬‬

‫•‬

‫با تعريف يك مشخصه منحصره (‪ )Unique Identifier‬براي يك برچسب‪ ،‬مي توان كنترل هاي‬

‫خاص ي از طريق ‪CSS‬و جاوااسكريپت بر روي آن برچسب اعمال كرد‪.‬‬

‫•‬

‫بايد توجه گردد كه ‪ id‬هيچ دو برچسبي در يك سند ‪HTML‬نبايد يكسان باشند‪ ،‬در غير اينصورت نتايج‬

‫قابل پيش بيني نخواهد بود‪.‬‬

*{
font-family: “Tahoma”, “Trebuchet”,”MS Sans Serif”
}
div.Container {
background-color:#777777;
border-width: 1px;
}
P#title {
font-weight:bold;
}
H1 + P {
font-style:italic;
}
input [type=‘button’] {
border-style:none;
}
Body Form > input[type=‘text’] {
text-align:center;
}
DIV P * [title] {
color:#ffffff;
}

‫•‬

‫براي اينكه ‪ CSS‬خاص ي را به چند انتخابگر يكجا اعمال كنيم‪ ،‬مي توانيم آنها را به صورت گروهي قرار‬

‫دهيم‪:‬‬
‫{ ]’‪div.Container , p , input[type=‘text‬‬
‫; ’‪font-family: ‘Tahoma’, ‘Comic Sans MS‬‬
‫}‬

‫•‬
‫• ‪CSS‬با استفاده از عبارات جاوااسكريپت مي تواند مقادير پويا (نسبت به شرايط ‪ )Client‬را به‬
‫در صورتي كه چند دستور يكسان ‪ CSS‬به يك برچسب خاص اعمال شوند‪ ،‬آخرين آنها باقي مي ماند‪.‬‬

‫‪ Property‬ها اعمال كند‪:‬‬
‫;‪Width: expression( document.width /2 )px‬‬

‫مشخصه هاي استاندارد ‪CSS 2‬‬

‫‪o‬‬
‫‪(scroll,fixed)o‬‬

‫‪ : Background‬خلصه اي براي تنظيم تمام مشخصات ‪Background‬‬
‫‪ : Background-Attachement‬وضعيت قرارگيري تصوير در‬

‫‪ ،Background‬در صورتي كه ‪fixed‬باشد‪ ،‬با جابجايي صفحه پشت صفحه آن حركت نخواهد كرد‪.‬‬

‫‪o‬‬
‫‪ :Background-image o‬يا مقدار ‪ none‬مي گيرد و يا با استفاده از )‪URL(adress‬يك آدرس‬
‫)‪ : Background-color (RGB Value‬رنگ پشت صفحه‬

‫فايل تصويري (آدرس وب)‬

‫‪o‬‬
‫‪ :Background-repeato‬در صورتي كه از تصوير استفاده شود‪ ،‬روش تكرار آنرا مشخص مي كند‪.‬‬
‫‪ :Background-position‬مقاديري مانند … ‪top left, center center ,‬‬

‫مقادير مجاز عبارتند از ‪no-repeat, repeat-x,repeat-y,repeat‬‬

‫‪o‬‬
‫‪ :Border-widtho‬عرض حاشيه (ضخامت آن) به عدد‪ ،‬درصد و واحد هاي ديگر اندازه‬
‫‪ :Border-coloro‬رنگ حاشيه به ‪RGB‬‬
‫‪ :Border-styleo‬نوع حاشيه از مقادير ‪none, hidden, dotted, dashed, solid,‬‬
‫‪ :Border‬خلصه اي براي تنظيم مشخصات حاشيه‪ ،‬به ترتيب عرض‪ ،‬نوع و رنگ مي گيرد‪.‬‬

‫‪double, groove, ridge, inset, outset‬‬

‫‪o‬‬

‫براي تغيير تنظيمات مربوط به حاشيه نواحي مختلف (باال‪ ،‬پايين‪ ،‬چپ‪ ،‬راست)مي توانيد از چهار ويژگي باال‬

‫به همراه نام طرف مورد نظر استفاده نماييد‪ ،‬براي مثال‪:‬‬

‫‪o‬‬
‫‪Border-top-coloro‬‬
‫‪Border-bottomo‬‬

‫‪Border-left-width‬‬

o

url(file), auto, ‫ مقادير مجاز عبارتند از‬،‫ شمايل اشاره گر ماوس را معين مي سازد‬:Cursor

crosshair, default, pointer, move, e-resize, ne-resize, nw-resize , nresize, se-resize, sw-resize, s-resize, w-resize , text, wait , help
none, inline, block, list- ‫ مقادير مجاز عبارتند از‬،‫ نحوه نمايش يك برچسب‬:Display

o

item, run-in, compact, marker, table, inline-table , ….

left,

right,

‫ مقادير مجاز عبارتند از‬،‫ گرايش و شناوري يك برچسب به طرفي خاص‬:Float

o

none
Static, Relative, ‫ مقادير مجاز عبارتند از‬،‫ نحوه قرارگيري يك برچسب در يك سند‬:Position

o

Absolute, Fixed

‫‪o‬‬
‫‪ :Line-Heighto‬فاصله بين دو خط متن در سند‬
‫‪ :Max-Heighto‬حداكثر ارتفاعي كه يك برچسب مي تواند داشته باشد‬
‫‪ :Min-Heighto‬حداقل ارتفاع يك برچسب‬
‫‪ :Widtho‬عرض يك برچسب‬
‫‪ :Max-Widtho‬حداكثر عرض يك برچسب‬
‫‪ :Min-Widtho‬حداقل عرض يك برچسب‬
‫‪ :Height‬ارتفاع يك برچسب در سند‪ .‬مشخصه اندازه اي‬

‫‪o‬‬
‫‪ :Font-Familyo‬نام قلم‪ ،‬بهتر است ليستي از قلمها بسته به پشتيباني از سيستم ها انتخاب شود‪.‬‬
‫‪ :Font‬ميانبري براي اعمال مشخصات كامل فونت و قلم‬

‫معموال نوشته هاي فارس ي با قلم ‪ Tahoma‬خوب نمايش داده مي شوند‪.‬‬

‫‪o‬‬

‫‪ :Font-Size‬اندازه قلم‪ .‬هم مي تواند از انواع مقداري قرار داده شود هم مي تواند يكي از مقادير مجاز‬

‫باشد‬

‫‪xx-small, x-small, small, medium, large, x-large, xx-large,‬‬

‫‪smaller, larger‬‬

‫‪o‬‬

‫‪ :Font-Stretch‬كشيدگي فونت (فاصلي افقي مابين حرفهاي آن)يا مقدار عددي يا يكي از مقادير‬

‫‪normal, wider, narrower, ultra-condensed, extra-condensed, condensed,‬‬
‫‪semi-condensed, semi-expanded, expanded, extra-expanded, ultra-expanded‬‬

‫‪o‬‬
‫‪ :Font-Weighto‬يكي از مقادير ‪ normal, bold, bolder, lighter‬و يا مقدار عددي‬
‫‪ :Font-Style‬يكي از مقادير ‪Normal, Italic, Oblique‬‬

o
none , url(file) :List-Style-Imageo
inside, outside :List-style-Positiono
‫ موارد مجاز عبارتند از‬،‫ شكل موارد ليست‬:List-Style-Typeo

‫ موقعيت و تصوير ليست را مي گيرد‬، ‫ نوع‬،‫ به ترتيب‬.‫ ميانبري براي تنظيمات ليست‬:List-Style

none, disc, circle,

square, decimal, decimal-leading-zero, lower-roman, upper-roman,
lower-alpha,

upper-alpha,

lower-greek,

lower-latin,

upper-latin,

hebrew, armenian, georgian, cjk-ideographic, hiragana, katakana,
hiragana-iroha, katakana-iroha

)auto ‫ فاصله علمت از نوشتار (مقدار يا‬:Marker-Offset

o

‫‪o‬‬

‫‪ :Margin‬ميانبري براي تنظيمات كناره‪ .‬به ترتيب اندازه كناره هاي باال‪ ،‬راست‪ ،‬پايين و چپ را مي گيرد‬

‫(ساعتگرد)‬

‫‪o‬‬

‫‪ :Margin-left, Margin-right, Margin-top, Margin-bottom‬مقدار كناره‪ ،‬مقدار يا‬

‫‪auto‬‬

‫‪o‬‬
‫‪ :Padding-left, Padding-right, Padding-top, Padding-bottomo‬مقدار اليي‬
‫‪ :Padding‬ميانبري براي تنظيم مشخصات اليي گذاري‪ ،‬به ترتيب باال‪ ،‬راست‪ ،‬پايين و چپ‬

‫گذاري‪ ،‬مقدار يا ‪auto‬‬

‫‪o‬‬
‫‪ :Outline-coloro‬رنگ خط حاشيه به ‪RGB‬‬
‫‪ :Outline-styleo‬نوع خط حاشيه يك ش يء‪ ،‬انوع مجاز عبارتند از ‪none, dotted, dashed,‬‬
‫‪ :Outline‬ميانبري براي تمام تنظيمات خط حاشيه‪ ،‬به ترتيب رنگ‪ ،‬نوع و عرض‬

‫‪solid , double , groove, ridge, inset, outset‬‬

‫‪o‬‬

‫‪ :Outline-width‬قطوري خط حاشيه‪ ،‬مقدار عددي يا يكي از مقادير ‪thin, thick, medium‬‬

‫‪o‬‬

‫‪ :Overflow‬در صورتي كه محتويات يك برچسب در آن جاي نگيرند‪ ،‬اين مشخصه معين مي سازد كه‬

‫چه اتفاقي بيافتد‪ .‬مقادير مجاز عبارتند از ‪Visible, Hidden, Auto, Scroll‬‬

‫‪o‬‬

‫‪ :Position‬نحوه قرارگيري برچسب نسبت به سند‪ ،‬مقادير مجاز عبارتند از ‪Static, Relative,‬‬

‫‪Absolute, Fixed‬‬

‫‪o‬‬

‫‪ :Vertical-Align‬نحوه قرارگيري عمودي يك برچسب در داخل برچسب پدر خود را مشخص مي كند‪.‬‬

‫مقادير مجاز عبارتند از ‪baseline, sub, super, top, text-top, middle, bottom,‬‬
‫‪ text-bottom‬و يا مقدار عددي‬

‫‪o‬‬

‫‪ :Z-Index‬اولويت قرارگيري در بعد سوم در صفحه (يعني جلو پشت ديگر برچسب ها)‪ Auto .‬يا يك‬

‫عدد‬

‫‪o‬‬

‫‪ :Border-Collapse‬معين مي سازد كه حواش ي جداول جدا باشند و يا يك مجموعه خط بهم‬

‫پيوسته باشند‪ .‬مقادير مجاز ‪Separate , Collapse‬‬

‫‪o‬‬
‫‪ :Empty-Cellsٍo‬مشخص مي كند كه سلول هاي خالي در مدل ‪ Seperate‬نمايش داده شوند و يا‬
‫‪ :Border-Spacing‬فاصله ميان دو حاشيه جدول‪ ،‬تنها در صورتي كه ‪ Seperate‬باشد‪.‬‬

‫خير‪ .‬مقادير مجاز ‪Show/Hide‬‬

‫‪o‬‬

‫‪ :Table Layout‬الگوريتم نحوه نمايش سلولهاي يك جدول‪Auto/Fixed ،‬‬

‫‪o‬‬
‫‪ :Directiono‬جهت متن (و محتويات)يك برچسب را مشخص مي سازد‪ ،‬مقادير مجاز ‪LTR/RTL‬‬
‫‪ :Text-Aligno‬مقادير مجاز ‪Left, Right, Center, Justify‬‬
‫‪ :Text-Decorationo‬افزودن افكتي به متن‪ ،‬مقادير مجاز عبارتند از ‪none, underline,‬‬
‫‪ :Color‬رنگ يك متن را مشخص مي سازد‪RGB ،‬‬

‫‪overline, line-through, blink‬‬

‫‪o‬‬
‫‪ :Word-Spacingo‬فاصله ميان لغات يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Letter-Spacingo‬فاصله ميان حروف يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Text-Indent‬تو رفتگي اولين خط يك متن‪ .‬مقدار عددي‬

‫تسلط كامل بر ‪CSS‬‬

‫‪o‬‬

‫در ‪ CSS‬رنگها را به دو شیوه می توان مشخص کرد‪:‬‬

‫‪o‬‬
‫‪o‬استفاده از نام رنگ‬

‫تعیين مقدار ‪ 24‬بیتی ‪ RGB‬آنها‬

‫‪o‬‬

‫در روش اول ‪ 16‬میلیون رنگ مختلف برای انتخاب وجود دارند‪ ،‬اما در روش دوم حدود ‪ 200‬رنگ با نام‬

‫های مختلف قابل استفاده هستند‪.‬‬

‫‪o‬‬
‫‪o‬برای مشخص کردن رنگ ‪ ،RGB‬پس از قرار دادن علمت ‪ #‬به ترتیب مقدار ‪ R‬و ‪ G‬و ‪ B‬را در مبنای ‪16‬‬
‫برای مشخص کردن رنگ با نام آن‪ ،‬کافیست نام رنگ را بنویسید‪Cyan, Purple :‬‬

‫وارد می کنیم‪#FFFFFF , #00FF00 :‬‬

‫‪o‬‬

‫همچنين می توان برای مشخص کردن رنگ ‪ RGB‬به صورت روبرو عمل کرد‪RGB(100,255,10):‬‬

‫و یا)‪RGB(70%,20%,100%‬‬

‫‪o‬‬

‫تمامی مقادیر اندازه ای در ‪ CSS‬واحد های متفاوتی را می پذیرند‪ .‬پایه ای ترین واحد همان ‪ Pixel‬است‬

‫که با ‪ px‬در انتهای مقدار مشخص می گردد‪ .‬واحدهای دیگر عبارتند از‪:‬‬

‫‪o‬‬
‫‪ :Ino‬اینچ‬
‫‪ :Cmo‬سانتیمتر‬
‫‪ :Mmo‬میلیمتر‬
‫‪ :Emo‬اندازه فونت‬
‫‪ 1/72 :Pto‬اینتچ‬
‫‪pt 12 :Pco‬‬
‫‪ :Pxo‬یک نقطه‬
‫‪ :%‬درصد!‬

‫‪o‬‬

‫شفافیت )‪ (Transparency‬یک عملیات پیچیده برای سیستم هاییست که کارت گرافیکی قدرتمندی‬

‫ندارد و موتور گرافیکی کاوشگر برای پیاده کردن آن بشدت زیر بار قرار می گيرد‪.‬‬

‫‪o‬‬

‫با استفاده از شفافیت می توان جذابیت بصری را بسیار باالتر برد‪ ،‬اما باید دقت داشت که کندی پردازش‬

‫تصویری سایت برای کاربر ایجاد مزاحمت نکند‪.‬‬

‫‪o‬‬
‫‪ o‬برای ایجاد شفافیت در کاوشگرهای استادارد‪ ،‬از ‪ Opacity : .5‬استفاده می شود‪.‬‬
‫‪o‬برای ایجاد شفافیت در ‪ IE‬از )‪ filter:alpha(opacity=50‬استفاده می شود‪.‬‬
‫‪o‬برای اینکه شفافیت در تمامی کاوشگرها درست نمایش داده شود الزم است هردو دستور باال بکار روند‪.‬‬
‫متاسفانه کاوشگر ‪ IE‬برای شفافیت از دستورات خود استفاده می کند که استاندارد نیستند‪.‬‬

‫‪o‬‬

‫کاوشگرهایی مانند ‪ Firefox‬دستورات ‪ CSS‬ویژه ای دارند (البته ‪ IE‬نيز دستورات مخصوص خود را‬

‫داراست) ‪.‬‬

‫‪o‬‬

‫عبارت ‪ –moz-border-radius‬می تواند گوشه های مستطیل ها را از تيزی درآورده و آنها را نرم‬

‫کند‪-moz-border-radius: 5px; :‬‬

‫‪o‬‬

‫استفاده از این عبارت و راه حل های مشابه پیشنهاد نمی شود زیرا این نما تنها در ‪ Firefox‬قابل مشاهده‬

‫خواهد بود‪.‬‬

‫‪o‬‬

‫‪ CSS‬توانایی آنرا داراست که برای رسانه های خاص تفاوت کند! برای مثال می توانید ‪ CSS‬یک سایت‬

‫را طوری تعریف کنید که رنگ نوشته های آن قرمز باشد ولی هنگام پرینت مشکی شود‪.‬‬

‫‪o‬‬

‫برای مشخص کردن اینکه ‪ CSS‬را برای چه رسانه ای می نویسیم‪ ،‬از ‪ @media‬استفاده می کنیم‪:‬‬
‫‪@media screen‬‬
‫};‪* { color:#ff0000‬‬
‫‪@media print‬‬
‫};‪* { color:#000000‬‬

‫رسانه های معمول عبارتند از‪all, braille, handheld, print, projection, screen, tv, :‬‬
‫…‬

‫‪ CSS‬را قورت بده!‬

‫‪o‬‬

‫فایل ‪ HTML‬ای که در تمرینات ‪ HTML‬ساخته اید و تمامی برچسب ها را داراست‪ ،‬با استفاده از تمامی‬

‫برچسب های ‪ CSS‬قالب بندی کنید‪ .‬سعی کنید زیبایی کافی و قالب بندی مناسب برای سند اتفاق بیافتد! در‬

‫داخل سند تنها می توانید برچسبهای ‪ DIV‬و ‪ SPAN‬اضافه کنید و یا به برچسب های موجود ‪ID ,‬‬
‫‪ CLASS‬بیافزایید‪.‬‬

‫‪o‬‬
‫‪o‬آیا می توان با استفاده از ‪ CSS‬منو ساخت؟ اگر بله راه حل را معين کنید‪.‬‬
‫‪o‬مزایا و معایب نوشتن ‪ CSS‬در یک فایل جداگانه را برشمارید‪.‬‬
‫‪o‬با استفاده از ‪ CSS‬یک ‪ taskbar‬برای یک صفحه بسازید که همواره در قسمت پایين پنجره کاوشگر‬
‫بدون استفاده از جداول و تنها با استفاده از ‪ CSS‬یک صفحه سه ستونی (مانند ‪ )SBCE.ir‬بسازید‪.‬‬

‫(نه لزوما انتهای سند) باشد‪.‬‬


Slide 33

‫کارگاه آموزش ی توسعه وب‬
‫بخش دوم ‪CSS -‬‬

‫ارائه‪ :‬عباس نادری‬
‫انجمن علمی دانشجویی‬
‫مهندس ی کامپیوتر‬
‫نسخه ‪1‬‬

‫دانشگاه شهید بهشتی‬

‫‪ CSS‬چیست ؟‬

‫•‬
‫•معمول ترین استفاده ‪ CSS‬برای قالب بندی اسناد وب )‪ (HTML‬منظور می شود‪.‬‬
‫•با پیچیده شدن وب ها‪ ،‬تصمیم بر آن شد تا محتوا از قالب بندی تفکیک شود و توسعه وب تسهیل‬
‫‪ CSS‬یا ‪ Casacading Style Sheets‬یک استاندارد قالب بندی ظاهری اسناد است‪.‬‬

‫گردد‪.‬‬

‫•‬

‫‪ CSS‬سه نسخه اصلی دارد‪:‬‬

‫•‬
‫•‪ :CSS 2‬در سال ‪ 1998‬توسط ‪ W3C‬استاندارد شد و هنوز به عنوان استاندارد بکار می رود‪.‬‬
‫•‪ :CSS 3‬هنوز در دست توسعه توسط ‪ W3C‬است‪.‬‬
‫‪ :CSS 1‬در سال ‪ 1996‬توسط ‪ W3C‬استاندارد شد‪.‬‬

‫•‬

‫‪ CSS‬به دلیل امکان استفاده مجدد‪ ،‬به شدت توسعه وب را ساده و سریع می کند‪ .‬همچنین قالب‬

‫بندی صفحات با استفاده از آن در قالب تیمی مقدور خواهد بود‪.‬‬

‫•‬

‫‪ CSS‬از طریق انتخابگرها قالب بندی را سرعت می بخشد‪ .‬همچنین از موتور انتخابگر ‪ CSS‬در‬

‫کاربردهای دیگر بهره فراوان برده می شود‪.‬‬

‫•‬

‫‪ :Layout Engine‬برنامه ایست در کاوشگرها که سند ‪ HTML‬و فایل ‪ CSS‬را دریافت کرده‪،‬‬

‫خروجی گرافیکی بر روی صفحه تولید می نماید‪.‬‬

‫•‬

‫‪ :Selector Engine‬موتوریست بر روی کاوشگر که زیرمجموعه ای از برچسب های ‪ HTML‬را‬

‫انتخاب می کند‪.‬‬

:‫ با چند مثال آنرا بررس ی می کنیم‬،‫ گرامر بسیار ساده ای دارد‬CSS
Template:
Selection {
Property: value;
Property: value;
//Comment /*Comment */
}
Example:
div.main {
background-color:#777777;
border-width: 1px;
border-style: solid;
font-family: ‘Tahoma’;
}



‫•‬
‫•در سه جای مختلف می توان از ‪ CSS‬استفاده کرد‪:‬‬

‫‪ CSS‬جزئیات گرامری مختلفی نیز دارد که در طی این ارائه با آنها بیشتر آشنا خواهیم شد‪.‬‬

‫•‬
‫•برچسب های ‪ Style‬در داخل فایل ‪ :HTML‬می توان با افزودن برچسب ‪ Style‬در ‪Head‬یا ‪Body‬‬
‫فایل های ‪ :CSS‬می توان ‪ CSS‬را در فایلی جداگانه نوشت و آنرا در ‪ HTML‬افزود‪.‬‬

‫یک سند‪ CSS ،‬تعریف کرد‪.‬‬

‫•‬

‫صفت ‪ Style‬برای برچسب ها‪ :‬می توان در یکی از صفتهای هر برچسب‪ CSS ،‬آنرا تعریف کرد‪ .‬در این‬

‫حالت دیگر انتخابگر مطرح نیست و قالب بندی تنها برای آن برچسب اعمال می شود‪.‬‬

‫•‬
‫•استفاده از حالت سوم (‪ )Inline CSS‬توصیه نمی شود و جدابودن محتوی از قالب را زیر سوال می‬
‫سه نوع تعریف ‪ CSS‬می توانند همزمان باشند‪ .‬اولویت آنها به ترتیب افزایش می یابد‪.‬‬

‫برد‪ ،‬اما در جاهای خاص ی استفاده از آن کار را راحتتر می کند‪.‬‬

:HTML ‫ جدا و استفاده از آن در‬CSS ‫تعریف در فایل‬
//SomeFile.css
input[text] {
width:200px;
background-color:#000000;
border:solid 0px;
}







:HTML ‫ در بدنه سند‬CSS ‫تعریف‬






:‫ در صفت یک برچسب‬CSS ‫تعریف‬


This is some text with tahoma font






‫چگونگی انتخاب برچسبها‬

‫•‬

‫براي مشخص كردن اينكه يك ‪ CSS‬به كدامين اشياء يك صفحه اعمال شود‪ ،‬بايد از انتخابگرها استفاده‬

‫نمود‪ .‬هر انتخاب گر يك يا چند ش يء در يك صفحه ‪ HTML‬را انتخاب مي كند و سپس مي توان قالب هاي‬

‫مورد نظر را به آن اعمال كرد‪.‬‬

‫•‬

‫انتخابگرهاي ‪ CSS‬تنوع و قدرت به سزايي دارند بنابراين در اين بخش در حدي كه نيازهاي اوليه مرتفع‬

‫شوند آنها را بررس ي خواهيم كرد‪.‬‬

‫•‬

‫انتخابگر ها در دو نحوه اوليه تعريف ‪ CSS‬ها قابل استفاده هستند به قالب زير‪:‬‬
‫{ ‪SelectorStatement‬‬
‫;‪Css Properties & Values‬‬

‫}‬

‫انتخاب تمام برچسب ها ‪* :‬‬
‫انتخاب برچسب هاي خاص‪tagName :‬‬
‫انتخاب برچسبي از زيربرچسب هاي يك برچسب ديگر‪ParentTag DescendantTag :‬‬
‫انتخاب برچسبي از فرزندان يك برچسب ديگر ‪ParentTag > ChildTag :‬‬
‫انتخاب برچسبي بعد از يك برچسب ديگر‪Tag1 + Tag2 :‬‬
‫انتخاب برچسبي با صفتي خاص‪Tag[attrib=“value”] :‬‬
‫آنتخاب يك برچسب در وضعيت هاي خاص‪:‬‬
‫لينك ديده نشده ‪Tag:link‬‬

‫برچسبي كه ماوس رويش است ‪Tag:hover‬‬

‫لينك ديده شده ‪Tag:visited‬‬

‫برچسب درحال كليك ‪Tag:active‬‬
‫برچسب فعال صفحه ‪Tag:focus‬‬

‫•‬

‫همانطور كه قبل ذكر شد‪ ،‬هر بچسب در ‪ HTML‬مي تواند صفات خاص ي را داشته باشد‪ .‬صفاتي كه در‬

‫‪ CSS‬به ما كمك مي كنند‪ ،‬دو صفت ‪ class , id‬هستند‪ .‬با اختصاص دادن اين دو صفت به يك برچسب‬

‫در ‪ HTML‬مي توان ويژگيهاي ‪ CSS‬آنرا به سادگي كنترل كرد‪.‬‬

‫•‬

‫با تعريف يك كلس خاص براي برچسبي ‪ ،‬مي توان آنرا جزو دسته اي قرار داد كه ويژگيهاي ‪CSS‬مشترك‬

‫خاص ي بر روي همگي آنها اعمال شود‪.‬‬

‫•‬

‫با تعريف يك مشخصه منحصره (‪ )Unique Identifier‬براي يك برچسب‪ ،‬مي توان كنترل هاي‬

‫خاص ي از طريق ‪CSS‬و جاوااسكريپت بر روي آن برچسب اعمال كرد‪.‬‬

‫•‬

‫بايد توجه گردد كه ‪ id‬هيچ دو برچسبي در يك سند ‪HTML‬نبايد يكسان باشند‪ ،‬در غير اينصورت نتايج‬

‫قابل پيش بيني نخواهد بود‪.‬‬

*{
font-family: “Tahoma”, “Trebuchet”,”MS Sans Serif”
}
div.Container {
background-color:#777777;
border-width: 1px;
}
P#title {
font-weight:bold;
}
H1 + P {
font-style:italic;
}
input [type=‘button’] {
border-style:none;
}
Body Form > input[type=‘text’] {
text-align:center;
}
DIV P * [title] {
color:#ffffff;
}

‫•‬

‫براي اينكه ‪ CSS‬خاص ي را به چند انتخابگر يكجا اعمال كنيم‪ ،‬مي توانيم آنها را به صورت گروهي قرار‬

‫دهيم‪:‬‬
‫{ ]’‪div.Container , p , input[type=‘text‬‬
‫; ’‪font-family: ‘Tahoma’, ‘Comic Sans MS‬‬
‫}‬

‫•‬
‫• ‪CSS‬با استفاده از عبارات جاوااسكريپت مي تواند مقادير پويا (نسبت به شرايط ‪ )Client‬را به‬
‫در صورتي كه چند دستور يكسان ‪ CSS‬به يك برچسب خاص اعمال شوند‪ ،‬آخرين آنها باقي مي ماند‪.‬‬

‫‪ Property‬ها اعمال كند‪:‬‬
‫;‪Width: expression( document.width /2 )px‬‬

‫مشخصه هاي استاندارد ‪CSS 2‬‬

‫‪o‬‬
‫‪(scroll,fixed)o‬‬

‫‪ : Background‬خلصه اي براي تنظيم تمام مشخصات ‪Background‬‬
‫‪ : Background-Attachement‬وضعيت قرارگيري تصوير در‬

‫‪ ،Background‬در صورتي كه ‪fixed‬باشد‪ ،‬با جابجايي صفحه پشت صفحه آن حركت نخواهد كرد‪.‬‬

‫‪o‬‬
‫‪ :Background-image o‬يا مقدار ‪ none‬مي گيرد و يا با استفاده از )‪URL(adress‬يك آدرس‬
‫)‪ : Background-color (RGB Value‬رنگ پشت صفحه‬

‫فايل تصويري (آدرس وب)‬

‫‪o‬‬
‫‪ :Background-repeato‬در صورتي كه از تصوير استفاده شود‪ ،‬روش تكرار آنرا مشخص مي كند‪.‬‬
‫‪ :Background-position‬مقاديري مانند … ‪top left, center center ,‬‬

‫مقادير مجاز عبارتند از ‪no-repeat, repeat-x,repeat-y,repeat‬‬

‫‪o‬‬
‫‪ :Border-widtho‬عرض حاشيه (ضخامت آن) به عدد‪ ،‬درصد و واحد هاي ديگر اندازه‬
‫‪ :Border-coloro‬رنگ حاشيه به ‪RGB‬‬
‫‪ :Border-styleo‬نوع حاشيه از مقادير ‪none, hidden, dotted, dashed, solid,‬‬
‫‪ :Border‬خلصه اي براي تنظيم مشخصات حاشيه‪ ،‬به ترتيب عرض‪ ،‬نوع و رنگ مي گيرد‪.‬‬

‫‪double, groove, ridge, inset, outset‬‬

‫‪o‬‬

‫براي تغيير تنظيمات مربوط به حاشيه نواحي مختلف (باال‪ ،‬پايين‪ ،‬چپ‪ ،‬راست)مي توانيد از چهار ويژگي باال‬

‫به همراه نام طرف مورد نظر استفاده نماييد‪ ،‬براي مثال‪:‬‬

‫‪o‬‬
‫‪Border-top-coloro‬‬
‫‪Border-bottomo‬‬

‫‪Border-left-width‬‬

o

url(file), auto, ‫ مقادير مجاز عبارتند از‬،‫ شمايل اشاره گر ماوس را معين مي سازد‬:Cursor

crosshair, default, pointer, move, e-resize, ne-resize, nw-resize , nresize, se-resize, sw-resize, s-resize, w-resize , text, wait , help
none, inline, block, list- ‫ مقادير مجاز عبارتند از‬،‫ نحوه نمايش يك برچسب‬:Display

o

item, run-in, compact, marker, table, inline-table , ….

left,

right,

‫ مقادير مجاز عبارتند از‬،‫ گرايش و شناوري يك برچسب به طرفي خاص‬:Float

o

none
Static, Relative, ‫ مقادير مجاز عبارتند از‬،‫ نحوه قرارگيري يك برچسب در يك سند‬:Position

o

Absolute, Fixed

‫‪o‬‬
‫‪ :Line-Heighto‬فاصله بين دو خط متن در سند‬
‫‪ :Max-Heighto‬حداكثر ارتفاعي كه يك برچسب مي تواند داشته باشد‬
‫‪ :Min-Heighto‬حداقل ارتفاع يك برچسب‬
‫‪ :Widtho‬عرض يك برچسب‬
‫‪ :Max-Widtho‬حداكثر عرض يك برچسب‬
‫‪ :Min-Widtho‬حداقل عرض يك برچسب‬
‫‪ :Height‬ارتفاع يك برچسب در سند‪ .‬مشخصه اندازه اي‬

‫‪o‬‬
‫‪ :Font-Familyo‬نام قلم‪ ،‬بهتر است ليستي از قلمها بسته به پشتيباني از سيستم ها انتخاب شود‪.‬‬
‫‪ :Font‬ميانبري براي اعمال مشخصات كامل فونت و قلم‬

‫معموال نوشته هاي فارس ي با قلم ‪ Tahoma‬خوب نمايش داده مي شوند‪.‬‬

‫‪o‬‬

‫‪ :Font-Size‬اندازه قلم‪ .‬هم مي تواند از انواع مقداري قرار داده شود هم مي تواند يكي از مقادير مجاز‬

‫باشد‬

‫‪xx-small, x-small, small, medium, large, x-large, xx-large,‬‬

‫‪smaller, larger‬‬

‫‪o‬‬

‫‪ :Font-Stretch‬كشيدگي فونت (فاصلي افقي مابين حرفهاي آن)يا مقدار عددي يا يكي از مقادير‬

‫‪normal, wider, narrower, ultra-condensed, extra-condensed, condensed,‬‬
‫‪semi-condensed, semi-expanded, expanded, extra-expanded, ultra-expanded‬‬

‫‪o‬‬
‫‪ :Font-Weighto‬يكي از مقادير ‪ normal, bold, bolder, lighter‬و يا مقدار عددي‬
‫‪ :Font-Style‬يكي از مقادير ‪Normal, Italic, Oblique‬‬

o
none , url(file) :List-Style-Imageo
inside, outside :List-style-Positiono
‫ موارد مجاز عبارتند از‬،‫ شكل موارد ليست‬:List-Style-Typeo

‫ موقعيت و تصوير ليست را مي گيرد‬، ‫ نوع‬،‫ به ترتيب‬.‫ ميانبري براي تنظيمات ليست‬:List-Style

none, disc, circle,

square, decimal, decimal-leading-zero, lower-roman, upper-roman,
lower-alpha,

upper-alpha,

lower-greek,

lower-latin,

upper-latin,

hebrew, armenian, georgian, cjk-ideographic, hiragana, katakana,
hiragana-iroha, katakana-iroha

)auto ‫ فاصله علمت از نوشتار (مقدار يا‬:Marker-Offset

o

‫‪o‬‬

‫‪ :Margin‬ميانبري براي تنظيمات كناره‪ .‬به ترتيب اندازه كناره هاي باال‪ ،‬راست‪ ،‬پايين و چپ را مي گيرد‬

‫(ساعتگرد)‬

‫‪o‬‬

‫‪ :Margin-left, Margin-right, Margin-top, Margin-bottom‬مقدار كناره‪ ،‬مقدار يا‬

‫‪auto‬‬

‫‪o‬‬
‫‪ :Padding-left, Padding-right, Padding-top, Padding-bottomo‬مقدار اليي‬
‫‪ :Padding‬ميانبري براي تنظيم مشخصات اليي گذاري‪ ،‬به ترتيب باال‪ ،‬راست‪ ،‬پايين و چپ‬

‫گذاري‪ ،‬مقدار يا ‪auto‬‬

‫‪o‬‬
‫‪ :Outline-coloro‬رنگ خط حاشيه به ‪RGB‬‬
‫‪ :Outline-styleo‬نوع خط حاشيه يك ش يء‪ ،‬انوع مجاز عبارتند از ‪none, dotted, dashed,‬‬
‫‪ :Outline‬ميانبري براي تمام تنظيمات خط حاشيه‪ ،‬به ترتيب رنگ‪ ،‬نوع و عرض‬

‫‪solid , double , groove, ridge, inset, outset‬‬

‫‪o‬‬

‫‪ :Outline-width‬قطوري خط حاشيه‪ ،‬مقدار عددي يا يكي از مقادير ‪thin, thick, medium‬‬

‫‪o‬‬

‫‪ :Overflow‬در صورتي كه محتويات يك برچسب در آن جاي نگيرند‪ ،‬اين مشخصه معين مي سازد كه‬

‫چه اتفاقي بيافتد‪ .‬مقادير مجاز عبارتند از ‪Visible, Hidden, Auto, Scroll‬‬

‫‪o‬‬

‫‪ :Position‬نحوه قرارگيري برچسب نسبت به سند‪ ،‬مقادير مجاز عبارتند از ‪Static, Relative,‬‬

‫‪Absolute, Fixed‬‬

‫‪o‬‬

‫‪ :Vertical-Align‬نحوه قرارگيري عمودي يك برچسب در داخل برچسب پدر خود را مشخص مي كند‪.‬‬

‫مقادير مجاز عبارتند از ‪baseline, sub, super, top, text-top, middle, bottom,‬‬
‫‪ text-bottom‬و يا مقدار عددي‬

‫‪o‬‬

‫‪ :Z-Index‬اولويت قرارگيري در بعد سوم در صفحه (يعني جلو پشت ديگر برچسب ها)‪ Auto .‬يا يك‬

‫عدد‬

‫‪o‬‬

‫‪ :Border-Collapse‬معين مي سازد كه حواش ي جداول جدا باشند و يا يك مجموعه خط بهم‬

‫پيوسته باشند‪ .‬مقادير مجاز ‪Separate , Collapse‬‬

‫‪o‬‬
‫‪ :Empty-Cellsٍo‬مشخص مي كند كه سلول هاي خالي در مدل ‪ Seperate‬نمايش داده شوند و يا‬
‫‪ :Border-Spacing‬فاصله ميان دو حاشيه جدول‪ ،‬تنها در صورتي كه ‪ Seperate‬باشد‪.‬‬

‫خير‪ .‬مقادير مجاز ‪Show/Hide‬‬

‫‪o‬‬

‫‪ :Table Layout‬الگوريتم نحوه نمايش سلولهاي يك جدول‪Auto/Fixed ،‬‬

‫‪o‬‬
‫‪ :Directiono‬جهت متن (و محتويات)يك برچسب را مشخص مي سازد‪ ،‬مقادير مجاز ‪LTR/RTL‬‬
‫‪ :Text-Aligno‬مقادير مجاز ‪Left, Right, Center, Justify‬‬
‫‪ :Text-Decorationo‬افزودن افكتي به متن‪ ،‬مقادير مجاز عبارتند از ‪none, underline,‬‬
‫‪ :Color‬رنگ يك متن را مشخص مي سازد‪RGB ،‬‬

‫‪overline, line-through, blink‬‬

‫‪o‬‬
‫‪ :Word-Spacingo‬فاصله ميان لغات يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Letter-Spacingo‬فاصله ميان حروف يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Text-Indent‬تو رفتگي اولين خط يك متن‪ .‬مقدار عددي‬

‫تسلط كامل بر ‪CSS‬‬

‫‪o‬‬

‫در ‪ CSS‬رنگها را به دو شیوه می توان مشخص کرد‪:‬‬

‫‪o‬‬
‫‪o‬استفاده از نام رنگ‬

‫تعیين مقدار ‪ 24‬بیتی ‪ RGB‬آنها‬

‫‪o‬‬

‫در روش اول ‪ 16‬میلیون رنگ مختلف برای انتخاب وجود دارند‪ ،‬اما در روش دوم حدود ‪ 200‬رنگ با نام‬

‫های مختلف قابل استفاده هستند‪.‬‬

‫‪o‬‬
‫‪o‬برای مشخص کردن رنگ ‪ ،RGB‬پس از قرار دادن علمت ‪ #‬به ترتیب مقدار ‪ R‬و ‪ G‬و ‪ B‬را در مبنای ‪16‬‬
‫برای مشخص کردن رنگ با نام آن‪ ،‬کافیست نام رنگ را بنویسید‪Cyan, Purple :‬‬

‫وارد می کنیم‪#FFFFFF , #00FF00 :‬‬

‫‪o‬‬

‫همچنين می توان برای مشخص کردن رنگ ‪ RGB‬به صورت روبرو عمل کرد‪RGB(100,255,10):‬‬

‫و یا)‪RGB(70%,20%,100%‬‬

‫‪o‬‬

‫تمامی مقادیر اندازه ای در ‪ CSS‬واحد های متفاوتی را می پذیرند‪ .‬پایه ای ترین واحد همان ‪ Pixel‬است‬

‫که با ‪ px‬در انتهای مقدار مشخص می گردد‪ .‬واحدهای دیگر عبارتند از‪:‬‬

‫‪o‬‬
‫‪ :Ino‬اینچ‬
‫‪ :Cmo‬سانتیمتر‬
‫‪ :Mmo‬میلیمتر‬
‫‪ :Emo‬اندازه فونت‬
‫‪ 1/72 :Pto‬اینتچ‬
‫‪pt 12 :Pco‬‬
‫‪ :Pxo‬یک نقطه‬
‫‪ :%‬درصد!‬

‫‪o‬‬

‫شفافیت )‪ (Transparency‬یک عملیات پیچیده برای سیستم هاییست که کارت گرافیکی قدرتمندی‬

‫ندارد و موتور گرافیکی کاوشگر برای پیاده کردن آن بشدت زیر بار قرار می گيرد‪.‬‬

‫‪o‬‬

‫با استفاده از شفافیت می توان جذابیت بصری را بسیار باالتر برد‪ ،‬اما باید دقت داشت که کندی پردازش‬

‫تصویری سایت برای کاربر ایجاد مزاحمت نکند‪.‬‬

‫‪o‬‬
‫‪ o‬برای ایجاد شفافیت در کاوشگرهای استادارد‪ ،‬از ‪ Opacity : .5‬استفاده می شود‪.‬‬
‫‪o‬برای ایجاد شفافیت در ‪ IE‬از )‪ filter:alpha(opacity=50‬استفاده می شود‪.‬‬
‫‪o‬برای اینکه شفافیت در تمامی کاوشگرها درست نمایش داده شود الزم است هردو دستور باال بکار روند‪.‬‬
‫متاسفانه کاوشگر ‪ IE‬برای شفافیت از دستورات خود استفاده می کند که استاندارد نیستند‪.‬‬

‫‪o‬‬

‫کاوشگرهایی مانند ‪ Firefox‬دستورات ‪ CSS‬ویژه ای دارند (البته ‪ IE‬نيز دستورات مخصوص خود را‬

‫داراست) ‪.‬‬

‫‪o‬‬

‫عبارت ‪ –moz-border-radius‬می تواند گوشه های مستطیل ها را از تيزی درآورده و آنها را نرم‬

‫کند‪-moz-border-radius: 5px; :‬‬

‫‪o‬‬

‫استفاده از این عبارت و راه حل های مشابه پیشنهاد نمی شود زیرا این نما تنها در ‪ Firefox‬قابل مشاهده‬

‫خواهد بود‪.‬‬

‫‪o‬‬

‫‪ CSS‬توانایی آنرا داراست که برای رسانه های خاص تفاوت کند! برای مثال می توانید ‪ CSS‬یک سایت‬

‫را طوری تعریف کنید که رنگ نوشته های آن قرمز باشد ولی هنگام پرینت مشکی شود‪.‬‬

‫‪o‬‬

‫برای مشخص کردن اینکه ‪ CSS‬را برای چه رسانه ای می نویسیم‪ ،‬از ‪ @media‬استفاده می کنیم‪:‬‬
‫‪@media screen‬‬
‫};‪* { color:#ff0000‬‬
‫‪@media print‬‬
‫};‪* { color:#000000‬‬

‫رسانه های معمول عبارتند از‪all, braille, handheld, print, projection, screen, tv, :‬‬
‫…‬

‫‪ CSS‬را قورت بده!‬

‫‪o‬‬

‫فایل ‪ HTML‬ای که در تمرینات ‪ HTML‬ساخته اید و تمامی برچسب ها را داراست‪ ،‬با استفاده از تمامی‬

‫برچسب های ‪ CSS‬قالب بندی کنید‪ .‬سعی کنید زیبایی کافی و قالب بندی مناسب برای سند اتفاق بیافتد! در‬

‫داخل سند تنها می توانید برچسبهای ‪ DIV‬و ‪ SPAN‬اضافه کنید و یا به برچسب های موجود ‪ID ,‬‬
‫‪ CLASS‬بیافزایید‪.‬‬

‫‪o‬‬
‫‪o‬آیا می توان با استفاده از ‪ CSS‬منو ساخت؟ اگر بله راه حل را معين کنید‪.‬‬
‫‪o‬مزایا و معایب نوشتن ‪ CSS‬در یک فایل جداگانه را برشمارید‪.‬‬
‫‪o‬با استفاده از ‪ CSS‬یک ‪ taskbar‬برای یک صفحه بسازید که همواره در قسمت پایين پنجره کاوشگر‬
‫بدون استفاده از جداول و تنها با استفاده از ‪ CSS‬یک صفحه سه ستونی (مانند ‪ )SBCE.ir‬بسازید‪.‬‬

‫(نه لزوما انتهای سند) باشد‪.‬‬


Slide 34

‫کارگاه آموزش ی توسعه وب‬
‫بخش دوم ‪CSS -‬‬

‫ارائه‪ :‬عباس نادری‬
‫انجمن علمی دانشجویی‬
‫مهندس ی کامپیوتر‬
‫نسخه ‪1‬‬

‫دانشگاه شهید بهشتی‬

‫‪ CSS‬چیست ؟‬

‫•‬
‫•معمول ترین استفاده ‪ CSS‬برای قالب بندی اسناد وب )‪ (HTML‬منظور می شود‪.‬‬
‫•با پیچیده شدن وب ها‪ ،‬تصمیم بر آن شد تا محتوا از قالب بندی تفکیک شود و توسعه وب تسهیل‬
‫‪ CSS‬یا ‪ Casacading Style Sheets‬یک استاندارد قالب بندی ظاهری اسناد است‪.‬‬

‫گردد‪.‬‬

‫•‬

‫‪ CSS‬سه نسخه اصلی دارد‪:‬‬

‫•‬
‫•‪ :CSS 2‬در سال ‪ 1998‬توسط ‪ W3C‬استاندارد شد و هنوز به عنوان استاندارد بکار می رود‪.‬‬
‫•‪ :CSS 3‬هنوز در دست توسعه توسط ‪ W3C‬است‪.‬‬
‫‪ :CSS 1‬در سال ‪ 1996‬توسط ‪ W3C‬استاندارد شد‪.‬‬

‫•‬

‫‪ CSS‬به دلیل امکان استفاده مجدد‪ ،‬به شدت توسعه وب را ساده و سریع می کند‪ .‬همچنین قالب‬

‫بندی صفحات با استفاده از آن در قالب تیمی مقدور خواهد بود‪.‬‬

‫•‬

‫‪ CSS‬از طریق انتخابگرها قالب بندی را سرعت می بخشد‪ .‬همچنین از موتور انتخابگر ‪ CSS‬در‬

‫کاربردهای دیگر بهره فراوان برده می شود‪.‬‬

‫•‬

‫‪ :Layout Engine‬برنامه ایست در کاوشگرها که سند ‪ HTML‬و فایل ‪ CSS‬را دریافت کرده‪،‬‬

‫خروجی گرافیکی بر روی صفحه تولید می نماید‪.‬‬

‫•‬

‫‪ :Selector Engine‬موتوریست بر روی کاوشگر که زیرمجموعه ای از برچسب های ‪ HTML‬را‬

‫انتخاب می کند‪.‬‬

:‫ با چند مثال آنرا بررس ی می کنیم‬،‫ گرامر بسیار ساده ای دارد‬CSS
Template:
Selection {
Property: value;
Property: value;
//Comment /*Comment */
}
Example:
div.main {
background-color:#777777;
border-width: 1px;
border-style: solid;
font-family: ‘Tahoma’;
}



‫•‬
‫•در سه جای مختلف می توان از ‪ CSS‬استفاده کرد‪:‬‬

‫‪ CSS‬جزئیات گرامری مختلفی نیز دارد که در طی این ارائه با آنها بیشتر آشنا خواهیم شد‪.‬‬

‫•‬
‫•برچسب های ‪ Style‬در داخل فایل ‪ :HTML‬می توان با افزودن برچسب ‪ Style‬در ‪Head‬یا ‪Body‬‬
‫فایل های ‪ :CSS‬می توان ‪ CSS‬را در فایلی جداگانه نوشت و آنرا در ‪ HTML‬افزود‪.‬‬

‫یک سند‪ CSS ،‬تعریف کرد‪.‬‬

‫•‬

‫صفت ‪ Style‬برای برچسب ها‪ :‬می توان در یکی از صفتهای هر برچسب‪ CSS ،‬آنرا تعریف کرد‪ .‬در این‬

‫حالت دیگر انتخابگر مطرح نیست و قالب بندی تنها برای آن برچسب اعمال می شود‪.‬‬

‫•‬
‫•استفاده از حالت سوم (‪ )Inline CSS‬توصیه نمی شود و جدابودن محتوی از قالب را زیر سوال می‬
‫سه نوع تعریف ‪ CSS‬می توانند همزمان باشند‪ .‬اولویت آنها به ترتیب افزایش می یابد‪.‬‬

‫برد‪ ،‬اما در جاهای خاص ی استفاده از آن کار را راحتتر می کند‪.‬‬

:HTML ‫ جدا و استفاده از آن در‬CSS ‫تعریف در فایل‬
//SomeFile.css
input[text] {
width:200px;
background-color:#000000;
border:solid 0px;
}







:HTML ‫ در بدنه سند‬CSS ‫تعریف‬






:‫ در صفت یک برچسب‬CSS ‫تعریف‬


This is some text with tahoma font






‫چگونگی انتخاب برچسبها‬

‫•‬

‫براي مشخص كردن اينكه يك ‪ CSS‬به كدامين اشياء يك صفحه اعمال شود‪ ،‬بايد از انتخابگرها استفاده‬

‫نمود‪ .‬هر انتخاب گر يك يا چند ش يء در يك صفحه ‪ HTML‬را انتخاب مي كند و سپس مي توان قالب هاي‬

‫مورد نظر را به آن اعمال كرد‪.‬‬

‫•‬

‫انتخابگرهاي ‪ CSS‬تنوع و قدرت به سزايي دارند بنابراين در اين بخش در حدي كه نيازهاي اوليه مرتفع‬

‫شوند آنها را بررس ي خواهيم كرد‪.‬‬

‫•‬

‫انتخابگر ها در دو نحوه اوليه تعريف ‪ CSS‬ها قابل استفاده هستند به قالب زير‪:‬‬
‫{ ‪SelectorStatement‬‬
‫;‪Css Properties & Values‬‬

‫}‬

‫انتخاب تمام برچسب ها ‪* :‬‬
‫انتخاب برچسب هاي خاص‪tagName :‬‬
‫انتخاب برچسبي از زيربرچسب هاي يك برچسب ديگر‪ParentTag DescendantTag :‬‬
‫انتخاب برچسبي از فرزندان يك برچسب ديگر ‪ParentTag > ChildTag :‬‬
‫انتخاب برچسبي بعد از يك برچسب ديگر‪Tag1 + Tag2 :‬‬
‫انتخاب برچسبي با صفتي خاص‪Tag[attrib=“value”] :‬‬
‫آنتخاب يك برچسب در وضعيت هاي خاص‪:‬‬
‫لينك ديده نشده ‪Tag:link‬‬

‫برچسبي كه ماوس رويش است ‪Tag:hover‬‬

‫لينك ديده شده ‪Tag:visited‬‬

‫برچسب درحال كليك ‪Tag:active‬‬
‫برچسب فعال صفحه ‪Tag:focus‬‬

‫•‬

‫همانطور كه قبل ذكر شد‪ ،‬هر بچسب در ‪ HTML‬مي تواند صفات خاص ي را داشته باشد‪ .‬صفاتي كه در‬

‫‪ CSS‬به ما كمك مي كنند‪ ،‬دو صفت ‪ class , id‬هستند‪ .‬با اختصاص دادن اين دو صفت به يك برچسب‬

‫در ‪ HTML‬مي توان ويژگيهاي ‪ CSS‬آنرا به سادگي كنترل كرد‪.‬‬

‫•‬

‫با تعريف يك كلس خاص براي برچسبي ‪ ،‬مي توان آنرا جزو دسته اي قرار داد كه ويژگيهاي ‪CSS‬مشترك‬

‫خاص ي بر روي همگي آنها اعمال شود‪.‬‬

‫•‬

‫با تعريف يك مشخصه منحصره (‪ )Unique Identifier‬براي يك برچسب‪ ،‬مي توان كنترل هاي‬

‫خاص ي از طريق ‪CSS‬و جاوااسكريپت بر روي آن برچسب اعمال كرد‪.‬‬

‫•‬

‫بايد توجه گردد كه ‪ id‬هيچ دو برچسبي در يك سند ‪HTML‬نبايد يكسان باشند‪ ،‬در غير اينصورت نتايج‬

‫قابل پيش بيني نخواهد بود‪.‬‬

*{
font-family: “Tahoma”, “Trebuchet”,”MS Sans Serif”
}
div.Container {
background-color:#777777;
border-width: 1px;
}
P#title {
font-weight:bold;
}
H1 + P {
font-style:italic;
}
input [type=‘button’] {
border-style:none;
}
Body Form > input[type=‘text’] {
text-align:center;
}
DIV P * [title] {
color:#ffffff;
}

‫•‬

‫براي اينكه ‪ CSS‬خاص ي را به چند انتخابگر يكجا اعمال كنيم‪ ،‬مي توانيم آنها را به صورت گروهي قرار‬

‫دهيم‪:‬‬
‫{ ]’‪div.Container , p , input[type=‘text‬‬
‫; ’‪font-family: ‘Tahoma’, ‘Comic Sans MS‬‬
‫}‬

‫•‬
‫• ‪CSS‬با استفاده از عبارات جاوااسكريپت مي تواند مقادير پويا (نسبت به شرايط ‪ )Client‬را به‬
‫در صورتي كه چند دستور يكسان ‪ CSS‬به يك برچسب خاص اعمال شوند‪ ،‬آخرين آنها باقي مي ماند‪.‬‬

‫‪ Property‬ها اعمال كند‪:‬‬
‫;‪Width: expression( document.width /2 )px‬‬

‫مشخصه هاي استاندارد ‪CSS 2‬‬

‫‪o‬‬
‫‪(scroll,fixed)o‬‬

‫‪ : Background‬خلصه اي براي تنظيم تمام مشخصات ‪Background‬‬
‫‪ : Background-Attachement‬وضعيت قرارگيري تصوير در‬

‫‪ ،Background‬در صورتي كه ‪fixed‬باشد‪ ،‬با جابجايي صفحه پشت صفحه آن حركت نخواهد كرد‪.‬‬

‫‪o‬‬
‫‪ :Background-image o‬يا مقدار ‪ none‬مي گيرد و يا با استفاده از )‪URL(adress‬يك آدرس‬
‫)‪ : Background-color (RGB Value‬رنگ پشت صفحه‬

‫فايل تصويري (آدرس وب)‬

‫‪o‬‬
‫‪ :Background-repeato‬در صورتي كه از تصوير استفاده شود‪ ،‬روش تكرار آنرا مشخص مي كند‪.‬‬
‫‪ :Background-position‬مقاديري مانند … ‪top left, center center ,‬‬

‫مقادير مجاز عبارتند از ‪no-repeat, repeat-x,repeat-y,repeat‬‬

‫‪o‬‬
‫‪ :Border-widtho‬عرض حاشيه (ضخامت آن) به عدد‪ ،‬درصد و واحد هاي ديگر اندازه‬
‫‪ :Border-coloro‬رنگ حاشيه به ‪RGB‬‬
‫‪ :Border-styleo‬نوع حاشيه از مقادير ‪none, hidden, dotted, dashed, solid,‬‬
‫‪ :Border‬خلصه اي براي تنظيم مشخصات حاشيه‪ ،‬به ترتيب عرض‪ ،‬نوع و رنگ مي گيرد‪.‬‬

‫‪double, groove, ridge, inset, outset‬‬

‫‪o‬‬

‫براي تغيير تنظيمات مربوط به حاشيه نواحي مختلف (باال‪ ،‬پايين‪ ،‬چپ‪ ،‬راست)مي توانيد از چهار ويژگي باال‬

‫به همراه نام طرف مورد نظر استفاده نماييد‪ ،‬براي مثال‪:‬‬

‫‪o‬‬
‫‪Border-top-coloro‬‬
‫‪Border-bottomo‬‬

‫‪Border-left-width‬‬

o

url(file), auto, ‫ مقادير مجاز عبارتند از‬،‫ شمايل اشاره گر ماوس را معين مي سازد‬:Cursor

crosshair, default, pointer, move, e-resize, ne-resize, nw-resize , nresize, se-resize, sw-resize, s-resize, w-resize , text, wait , help
none, inline, block, list- ‫ مقادير مجاز عبارتند از‬،‫ نحوه نمايش يك برچسب‬:Display

o

item, run-in, compact, marker, table, inline-table , ….

left,

right,

‫ مقادير مجاز عبارتند از‬،‫ گرايش و شناوري يك برچسب به طرفي خاص‬:Float

o

none
Static, Relative, ‫ مقادير مجاز عبارتند از‬،‫ نحوه قرارگيري يك برچسب در يك سند‬:Position

o

Absolute, Fixed

‫‪o‬‬
‫‪ :Line-Heighto‬فاصله بين دو خط متن در سند‬
‫‪ :Max-Heighto‬حداكثر ارتفاعي كه يك برچسب مي تواند داشته باشد‬
‫‪ :Min-Heighto‬حداقل ارتفاع يك برچسب‬
‫‪ :Widtho‬عرض يك برچسب‬
‫‪ :Max-Widtho‬حداكثر عرض يك برچسب‬
‫‪ :Min-Widtho‬حداقل عرض يك برچسب‬
‫‪ :Height‬ارتفاع يك برچسب در سند‪ .‬مشخصه اندازه اي‬

‫‪o‬‬
‫‪ :Font-Familyo‬نام قلم‪ ،‬بهتر است ليستي از قلمها بسته به پشتيباني از سيستم ها انتخاب شود‪.‬‬
‫‪ :Font‬ميانبري براي اعمال مشخصات كامل فونت و قلم‬

‫معموال نوشته هاي فارس ي با قلم ‪ Tahoma‬خوب نمايش داده مي شوند‪.‬‬

‫‪o‬‬

‫‪ :Font-Size‬اندازه قلم‪ .‬هم مي تواند از انواع مقداري قرار داده شود هم مي تواند يكي از مقادير مجاز‬

‫باشد‬

‫‪xx-small, x-small, small, medium, large, x-large, xx-large,‬‬

‫‪smaller, larger‬‬

‫‪o‬‬

‫‪ :Font-Stretch‬كشيدگي فونت (فاصلي افقي مابين حرفهاي آن)يا مقدار عددي يا يكي از مقادير‬

‫‪normal, wider, narrower, ultra-condensed, extra-condensed, condensed,‬‬
‫‪semi-condensed, semi-expanded, expanded, extra-expanded, ultra-expanded‬‬

‫‪o‬‬
‫‪ :Font-Weighto‬يكي از مقادير ‪ normal, bold, bolder, lighter‬و يا مقدار عددي‬
‫‪ :Font-Style‬يكي از مقادير ‪Normal, Italic, Oblique‬‬

o
none , url(file) :List-Style-Imageo
inside, outside :List-style-Positiono
‫ موارد مجاز عبارتند از‬،‫ شكل موارد ليست‬:List-Style-Typeo

‫ موقعيت و تصوير ليست را مي گيرد‬، ‫ نوع‬،‫ به ترتيب‬.‫ ميانبري براي تنظيمات ليست‬:List-Style

none, disc, circle,

square, decimal, decimal-leading-zero, lower-roman, upper-roman,
lower-alpha,

upper-alpha,

lower-greek,

lower-latin,

upper-latin,

hebrew, armenian, georgian, cjk-ideographic, hiragana, katakana,
hiragana-iroha, katakana-iroha

)auto ‫ فاصله علمت از نوشتار (مقدار يا‬:Marker-Offset

o

‫‪o‬‬

‫‪ :Margin‬ميانبري براي تنظيمات كناره‪ .‬به ترتيب اندازه كناره هاي باال‪ ،‬راست‪ ،‬پايين و چپ را مي گيرد‬

‫(ساعتگرد)‬

‫‪o‬‬

‫‪ :Margin-left, Margin-right, Margin-top, Margin-bottom‬مقدار كناره‪ ،‬مقدار يا‬

‫‪auto‬‬

‫‪o‬‬
‫‪ :Padding-left, Padding-right, Padding-top, Padding-bottomo‬مقدار اليي‬
‫‪ :Padding‬ميانبري براي تنظيم مشخصات اليي گذاري‪ ،‬به ترتيب باال‪ ،‬راست‪ ،‬پايين و چپ‬

‫گذاري‪ ،‬مقدار يا ‪auto‬‬

‫‪o‬‬
‫‪ :Outline-coloro‬رنگ خط حاشيه به ‪RGB‬‬
‫‪ :Outline-styleo‬نوع خط حاشيه يك ش يء‪ ،‬انوع مجاز عبارتند از ‪none, dotted, dashed,‬‬
‫‪ :Outline‬ميانبري براي تمام تنظيمات خط حاشيه‪ ،‬به ترتيب رنگ‪ ،‬نوع و عرض‬

‫‪solid , double , groove, ridge, inset, outset‬‬

‫‪o‬‬

‫‪ :Outline-width‬قطوري خط حاشيه‪ ،‬مقدار عددي يا يكي از مقادير ‪thin, thick, medium‬‬

‫‪o‬‬

‫‪ :Overflow‬در صورتي كه محتويات يك برچسب در آن جاي نگيرند‪ ،‬اين مشخصه معين مي سازد كه‬

‫چه اتفاقي بيافتد‪ .‬مقادير مجاز عبارتند از ‪Visible, Hidden, Auto, Scroll‬‬

‫‪o‬‬

‫‪ :Position‬نحوه قرارگيري برچسب نسبت به سند‪ ،‬مقادير مجاز عبارتند از ‪Static, Relative,‬‬

‫‪Absolute, Fixed‬‬

‫‪o‬‬

‫‪ :Vertical-Align‬نحوه قرارگيري عمودي يك برچسب در داخل برچسب پدر خود را مشخص مي كند‪.‬‬

‫مقادير مجاز عبارتند از ‪baseline, sub, super, top, text-top, middle, bottom,‬‬
‫‪ text-bottom‬و يا مقدار عددي‬

‫‪o‬‬

‫‪ :Z-Index‬اولويت قرارگيري در بعد سوم در صفحه (يعني جلو پشت ديگر برچسب ها)‪ Auto .‬يا يك‬

‫عدد‬

‫‪o‬‬

‫‪ :Border-Collapse‬معين مي سازد كه حواش ي جداول جدا باشند و يا يك مجموعه خط بهم‬

‫پيوسته باشند‪ .‬مقادير مجاز ‪Separate , Collapse‬‬

‫‪o‬‬
‫‪ :Empty-Cellsٍo‬مشخص مي كند كه سلول هاي خالي در مدل ‪ Seperate‬نمايش داده شوند و يا‬
‫‪ :Border-Spacing‬فاصله ميان دو حاشيه جدول‪ ،‬تنها در صورتي كه ‪ Seperate‬باشد‪.‬‬

‫خير‪ .‬مقادير مجاز ‪Show/Hide‬‬

‫‪o‬‬

‫‪ :Table Layout‬الگوريتم نحوه نمايش سلولهاي يك جدول‪Auto/Fixed ،‬‬

‫‪o‬‬
‫‪ :Directiono‬جهت متن (و محتويات)يك برچسب را مشخص مي سازد‪ ،‬مقادير مجاز ‪LTR/RTL‬‬
‫‪ :Text-Aligno‬مقادير مجاز ‪Left, Right, Center, Justify‬‬
‫‪ :Text-Decorationo‬افزودن افكتي به متن‪ ،‬مقادير مجاز عبارتند از ‪none, underline,‬‬
‫‪ :Color‬رنگ يك متن را مشخص مي سازد‪RGB ،‬‬

‫‪overline, line-through, blink‬‬

‫‪o‬‬
‫‪ :Word-Spacingo‬فاصله ميان لغات يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Letter-Spacingo‬فاصله ميان حروف يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Text-Indent‬تو رفتگي اولين خط يك متن‪ .‬مقدار عددي‬

‫تسلط كامل بر ‪CSS‬‬

‫‪o‬‬

‫در ‪ CSS‬رنگها را به دو شیوه می توان مشخص کرد‪:‬‬

‫‪o‬‬
‫‪o‬استفاده از نام رنگ‬

‫تعیين مقدار ‪ 24‬بیتی ‪ RGB‬آنها‬

‫‪o‬‬

‫در روش اول ‪ 16‬میلیون رنگ مختلف برای انتخاب وجود دارند‪ ،‬اما در روش دوم حدود ‪ 200‬رنگ با نام‬

‫های مختلف قابل استفاده هستند‪.‬‬

‫‪o‬‬
‫‪o‬برای مشخص کردن رنگ ‪ ،RGB‬پس از قرار دادن علمت ‪ #‬به ترتیب مقدار ‪ R‬و ‪ G‬و ‪ B‬را در مبنای ‪16‬‬
‫برای مشخص کردن رنگ با نام آن‪ ،‬کافیست نام رنگ را بنویسید‪Cyan, Purple :‬‬

‫وارد می کنیم‪#FFFFFF , #00FF00 :‬‬

‫‪o‬‬

‫همچنين می توان برای مشخص کردن رنگ ‪ RGB‬به صورت روبرو عمل کرد‪RGB(100,255,10):‬‬

‫و یا)‪RGB(70%,20%,100%‬‬

‫‪o‬‬

‫تمامی مقادیر اندازه ای در ‪ CSS‬واحد های متفاوتی را می پذیرند‪ .‬پایه ای ترین واحد همان ‪ Pixel‬است‬

‫که با ‪ px‬در انتهای مقدار مشخص می گردد‪ .‬واحدهای دیگر عبارتند از‪:‬‬

‫‪o‬‬
‫‪ :Ino‬اینچ‬
‫‪ :Cmo‬سانتیمتر‬
‫‪ :Mmo‬میلیمتر‬
‫‪ :Emo‬اندازه فونت‬
‫‪ 1/72 :Pto‬اینتچ‬
‫‪pt 12 :Pco‬‬
‫‪ :Pxo‬یک نقطه‬
‫‪ :%‬درصد!‬

‫‪o‬‬

‫شفافیت )‪ (Transparency‬یک عملیات پیچیده برای سیستم هاییست که کارت گرافیکی قدرتمندی‬

‫ندارد و موتور گرافیکی کاوشگر برای پیاده کردن آن بشدت زیر بار قرار می گيرد‪.‬‬

‫‪o‬‬

‫با استفاده از شفافیت می توان جذابیت بصری را بسیار باالتر برد‪ ،‬اما باید دقت داشت که کندی پردازش‬

‫تصویری سایت برای کاربر ایجاد مزاحمت نکند‪.‬‬

‫‪o‬‬
‫‪ o‬برای ایجاد شفافیت در کاوشگرهای استادارد‪ ،‬از ‪ Opacity : .5‬استفاده می شود‪.‬‬
‫‪o‬برای ایجاد شفافیت در ‪ IE‬از )‪ filter:alpha(opacity=50‬استفاده می شود‪.‬‬
‫‪o‬برای اینکه شفافیت در تمامی کاوشگرها درست نمایش داده شود الزم است هردو دستور باال بکار روند‪.‬‬
‫متاسفانه کاوشگر ‪ IE‬برای شفافیت از دستورات خود استفاده می کند که استاندارد نیستند‪.‬‬

‫‪o‬‬

‫کاوشگرهایی مانند ‪ Firefox‬دستورات ‪ CSS‬ویژه ای دارند (البته ‪ IE‬نيز دستورات مخصوص خود را‬

‫داراست) ‪.‬‬

‫‪o‬‬

‫عبارت ‪ –moz-border-radius‬می تواند گوشه های مستطیل ها را از تيزی درآورده و آنها را نرم‬

‫کند‪-moz-border-radius: 5px; :‬‬

‫‪o‬‬

‫استفاده از این عبارت و راه حل های مشابه پیشنهاد نمی شود زیرا این نما تنها در ‪ Firefox‬قابل مشاهده‬

‫خواهد بود‪.‬‬

‫‪o‬‬

‫‪ CSS‬توانایی آنرا داراست که برای رسانه های خاص تفاوت کند! برای مثال می توانید ‪ CSS‬یک سایت‬

‫را طوری تعریف کنید که رنگ نوشته های آن قرمز باشد ولی هنگام پرینت مشکی شود‪.‬‬

‫‪o‬‬

‫برای مشخص کردن اینکه ‪ CSS‬را برای چه رسانه ای می نویسیم‪ ،‬از ‪ @media‬استفاده می کنیم‪:‬‬
‫‪@media screen‬‬
‫};‪* { color:#ff0000‬‬
‫‪@media print‬‬
‫};‪* { color:#000000‬‬

‫رسانه های معمول عبارتند از‪all, braille, handheld, print, projection, screen, tv, :‬‬
‫…‬

‫‪ CSS‬را قورت بده!‬

‫‪o‬‬

‫فایل ‪ HTML‬ای که در تمرینات ‪ HTML‬ساخته اید و تمامی برچسب ها را داراست‪ ،‬با استفاده از تمامی‬

‫برچسب های ‪ CSS‬قالب بندی کنید‪ .‬سعی کنید زیبایی کافی و قالب بندی مناسب برای سند اتفاق بیافتد! در‬

‫داخل سند تنها می توانید برچسبهای ‪ DIV‬و ‪ SPAN‬اضافه کنید و یا به برچسب های موجود ‪ID ,‬‬
‫‪ CLASS‬بیافزایید‪.‬‬

‫‪o‬‬
‫‪o‬آیا می توان با استفاده از ‪ CSS‬منو ساخت؟ اگر بله راه حل را معين کنید‪.‬‬
‫‪o‬مزایا و معایب نوشتن ‪ CSS‬در یک فایل جداگانه را برشمارید‪.‬‬
‫‪o‬با استفاده از ‪ CSS‬یک ‪ taskbar‬برای یک صفحه بسازید که همواره در قسمت پایين پنجره کاوشگر‬
‫بدون استفاده از جداول و تنها با استفاده از ‪ CSS‬یک صفحه سه ستونی (مانند ‪ )SBCE.ir‬بسازید‪.‬‬

‫(نه لزوما انتهای سند) باشد‪.‬‬


Slide 35

‫کارگاه آموزش ی توسعه وب‬
‫بخش دوم ‪CSS -‬‬

‫ارائه‪ :‬عباس نادری‬
‫انجمن علمی دانشجویی‬
‫مهندس ی کامپیوتر‬
‫نسخه ‪1‬‬

‫دانشگاه شهید بهشتی‬

‫‪ CSS‬چیست ؟‬

‫•‬
‫•معمول ترین استفاده ‪ CSS‬برای قالب بندی اسناد وب )‪ (HTML‬منظور می شود‪.‬‬
‫•با پیچیده شدن وب ها‪ ،‬تصمیم بر آن شد تا محتوا از قالب بندی تفکیک شود و توسعه وب تسهیل‬
‫‪ CSS‬یا ‪ Casacading Style Sheets‬یک استاندارد قالب بندی ظاهری اسناد است‪.‬‬

‫گردد‪.‬‬

‫•‬

‫‪ CSS‬سه نسخه اصلی دارد‪:‬‬

‫•‬
‫•‪ :CSS 2‬در سال ‪ 1998‬توسط ‪ W3C‬استاندارد شد و هنوز به عنوان استاندارد بکار می رود‪.‬‬
‫•‪ :CSS 3‬هنوز در دست توسعه توسط ‪ W3C‬است‪.‬‬
‫‪ :CSS 1‬در سال ‪ 1996‬توسط ‪ W3C‬استاندارد شد‪.‬‬

‫•‬

‫‪ CSS‬به دلیل امکان استفاده مجدد‪ ،‬به شدت توسعه وب را ساده و سریع می کند‪ .‬همچنین قالب‬

‫بندی صفحات با استفاده از آن در قالب تیمی مقدور خواهد بود‪.‬‬

‫•‬

‫‪ CSS‬از طریق انتخابگرها قالب بندی را سرعت می بخشد‪ .‬همچنین از موتور انتخابگر ‪ CSS‬در‬

‫کاربردهای دیگر بهره فراوان برده می شود‪.‬‬

‫•‬

‫‪ :Layout Engine‬برنامه ایست در کاوشگرها که سند ‪ HTML‬و فایل ‪ CSS‬را دریافت کرده‪،‬‬

‫خروجی گرافیکی بر روی صفحه تولید می نماید‪.‬‬

‫•‬

‫‪ :Selector Engine‬موتوریست بر روی کاوشگر که زیرمجموعه ای از برچسب های ‪ HTML‬را‬

‫انتخاب می کند‪.‬‬

:‫ با چند مثال آنرا بررس ی می کنیم‬،‫ گرامر بسیار ساده ای دارد‬CSS
Template:
Selection {
Property: value;
Property: value;
//Comment /*Comment */
}
Example:
div.main {
background-color:#777777;
border-width: 1px;
border-style: solid;
font-family: ‘Tahoma’;
}



‫•‬
‫•در سه جای مختلف می توان از ‪ CSS‬استفاده کرد‪:‬‬

‫‪ CSS‬جزئیات گرامری مختلفی نیز دارد که در طی این ارائه با آنها بیشتر آشنا خواهیم شد‪.‬‬

‫•‬
‫•برچسب های ‪ Style‬در داخل فایل ‪ :HTML‬می توان با افزودن برچسب ‪ Style‬در ‪Head‬یا ‪Body‬‬
‫فایل های ‪ :CSS‬می توان ‪ CSS‬را در فایلی جداگانه نوشت و آنرا در ‪ HTML‬افزود‪.‬‬

‫یک سند‪ CSS ،‬تعریف کرد‪.‬‬

‫•‬

‫صفت ‪ Style‬برای برچسب ها‪ :‬می توان در یکی از صفتهای هر برچسب‪ CSS ،‬آنرا تعریف کرد‪ .‬در این‬

‫حالت دیگر انتخابگر مطرح نیست و قالب بندی تنها برای آن برچسب اعمال می شود‪.‬‬

‫•‬
‫•استفاده از حالت سوم (‪ )Inline CSS‬توصیه نمی شود و جدابودن محتوی از قالب را زیر سوال می‬
‫سه نوع تعریف ‪ CSS‬می توانند همزمان باشند‪ .‬اولویت آنها به ترتیب افزایش می یابد‪.‬‬

‫برد‪ ،‬اما در جاهای خاص ی استفاده از آن کار را راحتتر می کند‪.‬‬

:HTML ‫ جدا و استفاده از آن در‬CSS ‫تعریف در فایل‬
//SomeFile.css
input[text] {
width:200px;
background-color:#000000;
border:solid 0px;
}







:HTML ‫ در بدنه سند‬CSS ‫تعریف‬






:‫ در صفت یک برچسب‬CSS ‫تعریف‬


This is some text with tahoma font






‫چگونگی انتخاب برچسبها‬

‫•‬

‫براي مشخص كردن اينكه يك ‪ CSS‬به كدامين اشياء يك صفحه اعمال شود‪ ،‬بايد از انتخابگرها استفاده‬

‫نمود‪ .‬هر انتخاب گر يك يا چند ش يء در يك صفحه ‪ HTML‬را انتخاب مي كند و سپس مي توان قالب هاي‬

‫مورد نظر را به آن اعمال كرد‪.‬‬

‫•‬

‫انتخابگرهاي ‪ CSS‬تنوع و قدرت به سزايي دارند بنابراين در اين بخش در حدي كه نيازهاي اوليه مرتفع‬

‫شوند آنها را بررس ي خواهيم كرد‪.‬‬

‫•‬

‫انتخابگر ها در دو نحوه اوليه تعريف ‪ CSS‬ها قابل استفاده هستند به قالب زير‪:‬‬
‫{ ‪SelectorStatement‬‬
‫;‪Css Properties & Values‬‬

‫}‬

‫انتخاب تمام برچسب ها ‪* :‬‬
‫انتخاب برچسب هاي خاص‪tagName :‬‬
‫انتخاب برچسبي از زيربرچسب هاي يك برچسب ديگر‪ParentTag DescendantTag :‬‬
‫انتخاب برچسبي از فرزندان يك برچسب ديگر ‪ParentTag > ChildTag :‬‬
‫انتخاب برچسبي بعد از يك برچسب ديگر‪Tag1 + Tag2 :‬‬
‫انتخاب برچسبي با صفتي خاص‪Tag[attrib=“value”] :‬‬
‫آنتخاب يك برچسب در وضعيت هاي خاص‪:‬‬
‫لينك ديده نشده ‪Tag:link‬‬

‫برچسبي كه ماوس رويش است ‪Tag:hover‬‬

‫لينك ديده شده ‪Tag:visited‬‬

‫برچسب درحال كليك ‪Tag:active‬‬
‫برچسب فعال صفحه ‪Tag:focus‬‬

‫•‬

‫همانطور كه قبل ذكر شد‪ ،‬هر بچسب در ‪ HTML‬مي تواند صفات خاص ي را داشته باشد‪ .‬صفاتي كه در‬

‫‪ CSS‬به ما كمك مي كنند‪ ،‬دو صفت ‪ class , id‬هستند‪ .‬با اختصاص دادن اين دو صفت به يك برچسب‬

‫در ‪ HTML‬مي توان ويژگيهاي ‪ CSS‬آنرا به سادگي كنترل كرد‪.‬‬

‫•‬

‫با تعريف يك كلس خاص براي برچسبي ‪ ،‬مي توان آنرا جزو دسته اي قرار داد كه ويژگيهاي ‪CSS‬مشترك‬

‫خاص ي بر روي همگي آنها اعمال شود‪.‬‬

‫•‬

‫با تعريف يك مشخصه منحصره (‪ )Unique Identifier‬براي يك برچسب‪ ،‬مي توان كنترل هاي‬

‫خاص ي از طريق ‪CSS‬و جاوااسكريپت بر روي آن برچسب اعمال كرد‪.‬‬

‫•‬

‫بايد توجه گردد كه ‪ id‬هيچ دو برچسبي در يك سند ‪HTML‬نبايد يكسان باشند‪ ،‬در غير اينصورت نتايج‬

‫قابل پيش بيني نخواهد بود‪.‬‬

*{
font-family: “Tahoma”, “Trebuchet”,”MS Sans Serif”
}
div.Container {
background-color:#777777;
border-width: 1px;
}
P#title {
font-weight:bold;
}
H1 + P {
font-style:italic;
}
input [type=‘button’] {
border-style:none;
}
Body Form > input[type=‘text’] {
text-align:center;
}
DIV P * [title] {
color:#ffffff;
}

‫•‬

‫براي اينكه ‪ CSS‬خاص ي را به چند انتخابگر يكجا اعمال كنيم‪ ،‬مي توانيم آنها را به صورت گروهي قرار‬

‫دهيم‪:‬‬
‫{ ]’‪div.Container , p , input[type=‘text‬‬
‫; ’‪font-family: ‘Tahoma’, ‘Comic Sans MS‬‬
‫}‬

‫•‬
‫• ‪CSS‬با استفاده از عبارات جاوااسكريپت مي تواند مقادير پويا (نسبت به شرايط ‪ )Client‬را به‬
‫در صورتي كه چند دستور يكسان ‪ CSS‬به يك برچسب خاص اعمال شوند‪ ،‬آخرين آنها باقي مي ماند‪.‬‬

‫‪ Property‬ها اعمال كند‪:‬‬
‫;‪Width: expression( document.width /2 )px‬‬

‫مشخصه هاي استاندارد ‪CSS 2‬‬

‫‪o‬‬
‫‪(scroll,fixed)o‬‬

‫‪ : Background‬خلصه اي براي تنظيم تمام مشخصات ‪Background‬‬
‫‪ : Background-Attachement‬وضعيت قرارگيري تصوير در‬

‫‪ ،Background‬در صورتي كه ‪fixed‬باشد‪ ،‬با جابجايي صفحه پشت صفحه آن حركت نخواهد كرد‪.‬‬

‫‪o‬‬
‫‪ :Background-image o‬يا مقدار ‪ none‬مي گيرد و يا با استفاده از )‪URL(adress‬يك آدرس‬
‫)‪ : Background-color (RGB Value‬رنگ پشت صفحه‬

‫فايل تصويري (آدرس وب)‬

‫‪o‬‬
‫‪ :Background-repeato‬در صورتي كه از تصوير استفاده شود‪ ،‬روش تكرار آنرا مشخص مي كند‪.‬‬
‫‪ :Background-position‬مقاديري مانند … ‪top left, center center ,‬‬

‫مقادير مجاز عبارتند از ‪no-repeat, repeat-x,repeat-y,repeat‬‬

‫‪o‬‬
‫‪ :Border-widtho‬عرض حاشيه (ضخامت آن) به عدد‪ ،‬درصد و واحد هاي ديگر اندازه‬
‫‪ :Border-coloro‬رنگ حاشيه به ‪RGB‬‬
‫‪ :Border-styleo‬نوع حاشيه از مقادير ‪none, hidden, dotted, dashed, solid,‬‬
‫‪ :Border‬خلصه اي براي تنظيم مشخصات حاشيه‪ ،‬به ترتيب عرض‪ ،‬نوع و رنگ مي گيرد‪.‬‬

‫‪double, groove, ridge, inset, outset‬‬

‫‪o‬‬

‫براي تغيير تنظيمات مربوط به حاشيه نواحي مختلف (باال‪ ،‬پايين‪ ،‬چپ‪ ،‬راست)مي توانيد از چهار ويژگي باال‬

‫به همراه نام طرف مورد نظر استفاده نماييد‪ ،‬براي مثال‪:‬‬

‫‪o‬‬
‫‪Border-top-coloro‬‬
‫‪Border-bottomo‬‬

‫‪Border-left-width‬‬

o

url(file), auto, ‫ مقادير مجاز عبارتند از‬،‫ شمايل اشاره گر ماوس را معين مي سازد‬:Cursor

crosshair, default, pointer, move, e-resize, ne-resize, nw-resize , nresize, se-resize, sw-resize, s-resize, w-resize , text, wait , help
none, inline, block, list- ‫ مقادير مجاز عبارتند از‬،‫ نحوه نمايش يك برچسب‬:Display

o

item, run-in, compact, marker, table, inline-table , ….

left,

right,

‫ مقادير مجاز عبارتند از‬،‫ گرايش و شناوري يك برچسب به طرفي خاص‬:Float

o

none
Static, Relative, ‫ مقادير مجاز عبارتند از‬،‫ نحوه قرارگيري يك برچسب در يك سند‬:Position

o

Absolute, Fixed

‫‪o‬‬
‫‪ :Line-Heighto‬فاصله بين دو خط متن در سند‬
‫‪ :Max-Heighto‬حداكثر ارتفاعي كه يك برچسب مي تواند داشته باشد‬
‫‪ :Min-Heighto‬حداقل ارتفاع يك برچسب‬
‫‪ :Widtho‬عرض يك برچسب‬
‫‪ :Max-Widtho‬حداكثر عرض يك برچسب‬
‫‪ :Min-Widtho‬حداقل عرض يك برچسب‬
‫‪ :Height‬ارتفاع يك برچسب در سند‪ .‬مشخصه اندازه اي‬

‫‪o‬‬
‫‪ :Font-Familyo‬نام قلم‪ ،‬بهتر است ليستي از قلمها بسته به پشتيباني از سيستم ها انتخاب شود‪.‬‬
‫‪ :Font‬ميانبري براي اعمال مشخصات كامل فونت و قلم‬

‫معموال نوشته هاي فارس ي با قلم ‪ Tahoma‬خوب نمايش داده مي شوند‪.‬‬

‫‪o‬‬

‫‪ :Font-Size‬اندازه قلم‪ .‬هم مي تواند از انواع مقداري قرار داده شود هم مي تواند يكي از مقادير مجاز‬

‫باشد‬

‫‪xx-small, x-small, small, medium, large, x-large, xx-large,‬‬

‫‪smaller, larger‬‬

‫‪o‬‬

‫‪ :Font-Stretch‬كشيدگي فونت (فاصلي افقي مابين حرفهاي آن)يا مقدار عددي يا يكي از مقادير‬

‫‪normal, wider, narrower, ultra-condensed, extra-condensed, condensed,‬‬
‫‪semi-condensed, semi-expanded, expanded, extra-expanded, ultra-expanded‬‬

‫‪o‬‬
‫‪ :Font-Weighto‬يكي از مقادير ‪ normal, bold, bolder, lighter‬و يا مقدار عددي‬
‫‪ :Font-Style‬يكي از مقادير ‪Normal, Italic, Oblique‬‬

o
none , url(file) :List-Style-Imageo
inside, outside :List-style-Positiono
‫ موارد مجاز عبارتند از‬،‫ شكل موارد ليست‬:List-Style-Typeo

‫ موقعيت و تصوير ليست را مي گيرد‬، ‫ نوع‬،‫ به ترتيب‬.‫ ميانبري براي تنظيمات ليست‬:List-Style

none, disc, circle,

square, decimal, decimal-leading-zero, lower-roman, upper-roman,
lower-alpha,

upper-alpha,

lower-greek,

lower-latin,

upper-latin,

hebrew, armenian, georgian, cjk-ideographic, hiragana, katakana,
hiragana-iroha, katakana-iroha

)auto ‫ فاصله علمت از نوشتار (مقدار يا‬:Marker-Offset

o

‫‪o‬‬

‫‪ :Margin‬ميانبري براي تنظيمات كناره‪ .‬به ترتيب اندازه كناره هاي باال‪ ،‬راست‪ ،‬پايين و چپ را مي گيرد‬

‫(ساعتگرد)‬

‫‪o‬‬

‫‪ :Margin-left, Margin-right, Margin-top, Margin-bottom‬مقدار كناره‪ ،‬مقدار يا‬

‫‪auto‬‬

‫‪o‬‬
‫‪ :Padding-left, Padding-right, Padding-top, Padding-bottomo‬مقدار اليي‬
‫‪ :Padding‬ميانبري براي تنظيم مشخصات اليي گذاري‪ ،‬به ترتيب باال‪ ،‬راست‪ ،‬پايين و چپ‬

‫گذاري‪ ،‬مقدار يا ‪auto‬‬

‫‪o‬‬
‫‪ :Outline-coloro‬رنگ خط حاشيه به ‪RGB‬‬
‫‪ :Outline-styleo‬نوع خط حاشيه يك ش يء‪ ،‬انوع مجاز عبارتند از ‪none, dotted, dashed,‬‬
‫‪ :Outline‬ميانبري براي تمام تنظيمات خط حاشيه‪ ،‬به ترتيب رنگ‪ ،‬نوع و عرض‬

‫‪solid , double , groove, ridge, inset, outset‬‬

‫‪o‬‬

‫‪ :Outline-width‬قطوري خط حاشيه‪ ،‬مقدار عددي يا يكي از مقادير ‪thin, thick, medium‬‬

‫‪o‬‬

‫‪ :Overflow‬در صورتي كه محتويات يك برچسب در آن جاي نگيرند‪ ،‬اين مشخصه معين مي سازد كه‬

‫چه اتفاقي بيافتد‪ .‬مقادير مجاز عبارتند از ‪Visible, Hidden, Auto, Scroll‬‬

‫‪o‬‬

‫‪ :Position‬نحوه قرارگيري برچسب نسبت به سند‪ ،‬مقادير مجاز عبارتند از ‪Static, Relative,‬‬

‫‪Absolute, Fixed‬‬

‫‪o‬‬

‫‪ :Vertical-Align‬نحوه قرارگيري عمودي يك برچسب در داخل برچسب پدر خود را مشخص مي كند‪.‬‬

‫مقادير مجاز عبارتند از ‪baseline, sub, super, top, text-top, middle, bottom,‬‬
‫‪ text-bottom‬و يا مقدار عددي‬

‫‪o‬‬

‫‪ :Z-Index‬اولويت قرارگيري در بعد سوم در صفحه (يعني جلو پشت ديگر برچسب ها)‪ Auto .‬يا يك‬

‫عدد‬

‫‪o‬‬

‫‪ :Border-Collapse‬معين مي سازد كه حواش ي جداول جدا باشند و يا يك مجموعه خط بهم‬

‫پيوسته باشند‪ .‬مقادير مجاز ‪Separate , Collapse‬‬

‫‪o‬‬
‫‪ :Empty-Cellsٍo‬مشخص مي كند كه سلول هاي خالي در مدل ‪ Seperate‬نمايش داده شوند و يا‬
‫‪ :Border-Spacing‬فاصله ميان دو حاشيه جدول‪ ،‬تنها در صورتي كه ‪ Seperate‬باشد‪.‬‬

‫خير‪ .‬مقادير مجاز ‪Show/Hide‬‬

‫‪o‬‬

‫‪ :Table Layout‬الگوريتم نحوه نمايش سلولهاي يك جدول‪Auto/Fixed ،‬‬

‫‪o‬‬
‫‪ :Directiono‬جهت متن (و محتويات)يك برچسب را مشخص مي سازد‪ ،‬مقادير مجاز ‪LTR/RTL‬‬
‫‪ :Text-Aligno‬مقادير مجاز ‪Left, Right, Center, Justify‬‬
‫‪ :Text-Decorationo‬افزودن افكتي به متن‪ ،‬مقادير مجاز عبارتند از ‪none, underline,‬‬
‫‪ :Color‬رنگ يك متن را مشخص مي سازد‪RGB ،‬‬

‫‪overline, line-through, blink‬‬

‫‪o‬‬
‫‪ :Word-Spacingo‬فاصله ميان لغات يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Letter-Spacingo‬فاصله ميان حروف يك متن‪ normal ،‬يا مقدار عددي‬
‫‪ :Text-Indent‬تو رفتگي اولين خط يك متن‪ .‬مقدار عددي‬

‫تسلط كامل بر ‪CSS‬‬

‫‪o‬‬

‫در ‪ CSS‬رنگها را به دو شیوه می توان مشخص کرد‪:‬‬

‫‪o‬‬
‫‪o‬استفاده از نام رنگ‬

‫تعیين مقدار ‪ 24‬بیتی ‪ RGB‬آنها‬

‫‪o‬‬

‫در روش اول ‪ 16‬میلیون رنگ مختلف برای انتخاب وجود دارند‪ ،‬اما در روش دوم حدود ‪ 200‬رنگ با نام‬

‫های مختلف قابل استفاده هستند‪.‬‬

‫‪o‬‬
‫‪o‬برای مشخص کردن رنگ ‪ ،RGB‬پس از قرار دادن علمت ‪ #‬به ترتیب مقدار ‪ R‬و ‪ G‬و ‪ B‬را در مبنای ‪16‬‬
‫برای مشخص کردن رنگ با نام آن‪ ،‬کافیست نام رنگ را بنویسید‪Cyan, Purple :‬‬

‫وارد می کنیم‪#FFFFFF , #00FF00 :‬‬

‫‪o‬‬

‫همچنين می توان برای مشخص کردن رنگ ‪ RGB‬به صورت روبرو عمل کرد‪RGB(100,255,10):‬‬

‫و یا)‪RGB(70%,20%,100%‬‬

‫‪o‬‬

‫تمامی مقادیر اندازه ای در ‪ CSS‬واحد های متفاوتی را می پذیرند‪ .‬پایه ای ترین واحد همان ‪ Pixel‬است‬

‫که با ‪ px‬در انتهای مقدار مشخص می گردد‪ .‬واحدهای دیگر عبارتند از‪:‬‬

‫‪o‬‬
‫‪ :Ino‬اینچ‬
‫‪ :Cmo‬سانتیمتر‬
‫‪ :Mmo‬میلیمتر‬
‫‪ :Emo‬اندازه فونت‬
‫‪ 1/72 :Pto‬اینتچ‬
‫‪pt 12 :Pco‬‬
‫‪ :Pxo‬یک نقطه‬
‫‪ :%‬درصد!‬

‫‪o‬‬

‫شفافیت )‪ (Transparency‬یک عملیات پیچیده برای سیستم هاییست که کارت گرافیکی قدرتمندی‬

‫ندارد و موتور گرافیکی کاوشگر برای پیاده کردن آن بشدت زیر بار قرار می گيرد‪.‬‬

‫‪o‬‬

‫با استفاده از شفافیت می توان جذابیت بصری را بسیار باالتر برد‪ ،‬اما باید دقت داشت که کندی پردازش‬

‫تصویری سایت برای کاربر ایجاد مزاحمت نکند‪.‬‬

‫‪o‬‬
‫‪ o‬برای ایجاد شفافیت در کاوشگرهای استادارد‪ ،‬از ‪ Opacity : .5‬استفاده می شود‪.‬‬
‫‪o‬برای ایجاد شفافیت در ‪ IE‬از )‪ filter:alpha(opacity=50‬استفاده می شود‪.‬‬
‫‪o‬برای اینکه شفافیت در تمامی کاوشگرها درست نمایش داده شود الزم است هردو دستور باال بکار روند‪.‬‬
‫متاسفانه کاوشگر ‪ IE‬برای شفافیت از دستورات خود استفاده می کند که استاندارد نیستند‪.‬‬

‫‪o‬‬

‫کاوشگرهایی مانند ‪ Firefox‬دستورات ‪ CSS‬ویژه ای دارند (البته ‪ IE‬نيز دستورات مخصوص خود را‬

‫داراست) ‪.‬‬

‫‪o‬‬

‫عبارت ‪ –moz-border-radius‬می تواند گوشه های مستطیل ها را از تيزی درآورده و آنها را نرم‬

‫کند‪-moz-border-radius: 5px; :‬‬

‫‪o‬‬

‫استفاده از این عبارت و راه حل های مشابه پیشنهاد نمی شود زیرا این نما تنها در ‪ Firefox‬قابل مشاهده‬

‫خواهد بود‪.‬‬

‫‪o‬‬

‫‪ CSS‬توانایی آنرا داراست که برای رسانه های خاص تفاوت کند! برای مثال می توانید ‪ CSS‬یک سایت‬

‫را طوری تعریف کنید که رنگ نوشته های آن قرمز باشد ولی هنگام پرینت مشکی شود‪.‬‬

‫‪o‬‬

‫برای مشخص کردن اینکه ‪ CSS‬را برای چه رسانه ای می نویسیم‪ ،‬از ‪ @media‬استفاده می کنیم‪:‬‬
‫‪@media screen‬‬
‫};‪* { color:#ff0000‬‬
‫‪@media print‬‬
‫};‪* { color:#000000‬‬

‫رسانه های معمول عبارتند از‪all, braille, handheld, print, projection, screen, tv, :‬‬
‫…‬

‫‪ CSS‬را قورت بده!‬

‫‪o‬‬

‫فایل ‪ HTML‬ای که در تمرینات ‪ HTML‬ساخته اید و تمامی برچسب ها را داراست‪ ،‬با استفاده از تمامی‬

‫برچسب های ‪ CSS‬قالب بندی کنید‪ .‬سعی کنید زیبایی کافی و قالب بندی مناسب برای سند اتفاق بیافتد! در‬

‫داخل سند تنها می توانید برچسبهای ‪ DIV‬و ‪ SPAN‬اضافه کنید و یا به برچسب های موجود ‪ID ,‬‬
‫‪ CLASS‬بیافزایید‪.‬‬

‫‪o‬‬
‫‪o‬آیا می توان با استفاده از ‪ CSS‬منو ساخت؟ اگر بله راه حل را معين کنید‪.‬‬
‫‪o‬مزایا و معایب نوشتن ‪ CSS‬در یک فایل جداگانه را برشمارید‪.‬‬
‫‪o‬با استفاده از ‪ CSS‬یک ‪ taskbar‬برای یک صفحه بسازید که همواره در قسمت پایين پنجره کاوشگر‬
‫بدون استفاده از جداول و تنها با استفاده از ‪ CSS‬یک صفحه سه ستونی (مانند ‪ )SBCE.ir‬بسازید‪.‬‬

‫(نه لزوما انتهای سند) باشد‪.‬‬