View Full Version : مبتدی: تفاوت # و .
bade saba
شنبه 12 فروردین 1391, 14:49 عصر
میخاستم بدونم تفاوت
#name
{
codes;
}
و
.name
{
codes;
}
به شکل دقیق چیه و هر کدوم چه زمانی کاربرد دارن
mohsen6500
شنبه 12 فروردین 1391, 15:19 عصر
سلام
اون اولی که با # شروع شده بعنوان آی دی حساب میشود یعنی برای صدا زدنش به این صورت انجام می گیرد:
<html>
<head>
<style>
<!--
#Name1 {
color:#006;
font-family:Tahoma,arial;
font-size:12px;
}
.Name2 {
color:#900;
font-family:Tahoma,arial;
font-size:12px;
}
-->
</style>
</head>
<body>
<!-- درج اطلاعات با آی دی -->
<span id="Name1">Testing</span>
<!-- درج اطلاعات با کلاس -->
<span class="Name2">Testing</span>
</body>
</html>
khanlo.javid
شنبه 12 فروردین 1391, 15:35 عصر
با سلام
این دو تا دستور فقط تو صدا کردن با هم تفاوت دارن و نحوه ی اجرای کد هر دو هم شبیه به همه.
.body{code;} با class=body
و
#body{code;} با id=body
موفق باشی.
Saber Mogaddas
شنبه 12 فروردین 1391, 15:46 عصر
سلام
لازم بدونید گه id منحصر به فرد یک تگ هست ولی کلاس رو می تونید با نام مشابه به چندین تگ بدید..
کلاس رو به چند تگ با خصوصیات استایل یکسان میتونید اعمال کنید کارتون راحت میشه حجم کد های css میاد پایین،ولی id همانطور که گفتم منحصر بفرد یک تگ هست..
موفق باشی..
bade saba
شنبه 12 فروردین 1391, 16:48 عصر
پس حالت "#" عملا برتری خاصی یا موضوعیت خاصی برای استفاده نسبت به "." نداره پس اصلا چرا در بعضی کدهای سایتهای بزرگ از این حالت استفاده میشه و هر دو حالت توش وجود داره وقتی میشه همه رو از "." استفاده کرد که به قول دوستمون به طور کلی باعث کمتر شدن حجم هم میشه چون چند جا میشه ازش استفاده کرد؟؟؟؟؟
khanlo.javid
شنبه 12 فروردین 1391, 17:12 عصر
خوب بعضی جاها طراح لازم داره که خصوصیتی رو مخصوص واسه یه قسمتی کد نویسی کنه پس تو این حالت بکار میاد.
Saber Mogaddas
شنبه 12 فروردین 1391, 18:23 عصر
دوست عزیز تا باهاش کار نکنی نخواهی فهمید که هر کدوم کجا کاربرد داره..
cyrusthegreat
شنبه 12 فروردین 1391, 18:50 عصر
با اجازه دوستان عزیز
یک نکته ایی رولازم دونستم که توضیح بدوم و اون اینکه
آی دی رو هم میشه عمومیت داد و این کار بستگی به مشخصاتی دارد که ما برای اون تگ در نظر می گیریم
مثلا این آی دی که در اول نوشتم رو میتونید واسه همه تگ های نوشتاری مثل تکست باکس یا تکست فیلد و یا تگ های span و div که توشون می نویسند قرار بگیرد
اما معمولا آی در و برای تگهایی که مشخصات خاص تری لازم دارند تعریف می کنند
موفق باشید
دوست عزیز
بنده، منظور شمارو از عمومیت دادن به ID متوجه نشدم. تا اونجایی که من می دونم، وقتی توی یک صفحه دوتا المنت با یک ID یکسان وجود دارند، مرورگر فقط اولین ID رو که از نظر قرار گیری در کد بالاتر هست رو انتخاب می کنه و خصوصیات رو به اون اختصاص می ده و دومین المنت اصلا انگار هیچ IDای بهش اختصاص نیافته و هیچ خصوصیتی از CSS بهش داده نمی شه.
دوست عزیز
نگاه کنید، ID رو برای المنت هایی بکار می برن که در صفحه فقط و فقط یکبار تکرار می شن. بطور مثل، بخش منوی بالای سایت فقط و فقط یکبار در صفحه بکار برده می شه، برای همین بهتر هست که به اون ID اختصاص بدیم. اختصاص دادن ID در درک و فهم کد و خوانایی اون بسیار کمک می کنه. اما وقتی یه سری خصوصیات داری و می خوای حداقل دو عنصر یکسان (مثلا دوتا دایو) اون خصوصیات رو بپذیرند، استفاده از Class اهمیت پیدا می کنه. اینکه گفتم دوتا المنت یکسان، دلیل داره. دلیلش هم این هست که چپ ترین بخش سلکتور های CSS مهمترین بخششون هستن و به مرورگر کمک بسیاری می کنه در افزایش سرعت و بهینگی. چون مثلا اگر یه دایو داشته باشیم با کلاس sample و اونوقت در هنگام نوشتن بخش سلکتور در CSS دوتا راه زیر رو بکار ببریم:
div.sample
یا
.sample
مرورگر با سلکتور اولی که درش قید شده که عنصر ما از نوع div هست، سریعتر عنصر رو پیدا می کنه در صورتیکه در دومی دیرتر. پس بهتر هست که در اول سلکتور ها نوع تگ رو مشخص کنیم.
clover
شنبه 12 فروردین 1391, 19:21 عصر
و مشکلی هم نداره!
به نظرتون با کفش میشه نماز خوند؟
اگر جوابتون خیر هست بدونید که من خوندم و شد!! :لبخندساده:
توجه کنید که ما تعیین نمی کنیم که میشه یا نه، استانداردها و مفاهیم تعیین می کنند
موفق باشید
cyrusthegreat
شنبه 12 فروردین 1391, 19:35 عصر
دوست عزیز
بله در ظاهر مشکلی وجود نداره. البته من یادم هست که یکبار همین مشکل دوتایی برای بوجود اومده بود. ولی خب حضور ذهن ندارم بگم دقیقا چرا.
ولی خب شما این کد زیر رو در W3C Validator (http://validator.w3.org/#validate_by_input) کپی کنید.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>ID Not Valid</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<style type="text/css">
#li { font-family:Tahoma,arial; font-size:50px;color: #CEB642;}
</style>
</head>
<body>
<div id="li"><a>تعداد آنلاين :</a></div>
<div id="li"><a>بازديد امروز :</a></div>
<div id="li"><a>بازديد ديروز :</a></div>
<div id="li"><a>بازديد هفته :</a></div>
<div id="li"><a>بازدید ماه :</a></div>
<div id="li"><a>بازدید سال :</a></div>
<div id="li"><a>بازديد کل: </a></div>
<div id="li"><a>کل مطالب :</a></div>
<div id="li"><a>نظرات :</a></div>
</body>
</html>
ببینید که می گه که ID "li" already defined و ارجاء می ده به اولین خطی که ID li رو بهش اختصاص دادیم یعنی همونی که مقدار تعداد آنلاين رو بهش اختصاص دادیم. یعنی اینکه فقط و فقط یکبار باید از ID استفاده کرد و همون بار اول مقدارش استفاده می شه و در بقیه موارد، یک خطا(Error) بوجود میاد نه یک warning که بشه از کنارش گذشت. همنچین در این آدرس (http://www.w3.org/TR/CSS2/selector.html#id-selectors) که مربوط به داکیومنت های خود W3C هست در انتهای خط اول و خط دوم می بینید که نوشته: What makes attributes of type ID special is that no two such attributes can have the same value; whatever the document language, an ID attribute can be used to uniquely identify its element.
یعنی چیزی که مقدار ID رو متماییز می کنه این هست که فقط و فقط یک المنت می تونه در صفحه با مقدار IDای مشخصی، مشخص بشه و دو المینت در attr ID خود نمی تونن یک مقدار یکسان داشته باشن. و در ادامه می گه که هر زبانی که سند داشته باشه، یعنی HTML, XHtml, XML این قانون صدق می کنه.
کدی که شما قرار دادید خطا داره. باید تصحیح بشه.
یه نکته دیگه هم اینکه، شما بجای نوشتن <br> باید <br /> بنویسید تا استاندارد تر باشه.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.