درود دوستان
بنده تفاوت اتریبیوت های id و class رو کامل نفهمیدم. نه تنها در آموزش های آقای حسام موسوی بلکه در چندین جا که سرچ کردم دیدم این مسئله گفته شده که آیدی باید یونیک باشه ولی کلاس رو میتونیم به چند المنت بدیم. اما وقتی گذاشتن آیدی برای چند المنت رو تست کردم دیدم مشکلی پیش نمیاد و استایل ها هم اعمال میشن. ممنون میشم اگه کسی میدونه تفاوتشونو بگه
سلام دوست عزیز
فرق دارن با هم
ایدی برای یک عنصر هستش البته اگه به چند تا هم بدی مشکل به وجود نمی اد ولی می تونه مشکلاتی به وجود بیاره
تفاوت دیگه، اینه که آیدی ها همیشه بر کلاس ها، اولویت دارن. یعنی چی؟
یعنی اگه یک عنصر، همزمان دارای آیدی و کلاس باشه، ویژگی های اختصاص یافته به آیدی، بر ویژگی های اختصاص یافته به کلاس اولویت داره.
این لینک رو مطالعه کن متوجه میشی
https://mizfa.com/blog/css-class-vs-id/
نکاه کن اید مخصوصو به یک شی هست ولی کلاس مربوط به هر چند تا شی که بخای و نکته بعد تو میتونی یک ایدی رو به یک المنت بدی ولی ممیتونی چند تا کلاس رو به یک شی بدی که اگه با فریم ورکی مثه بوت استرپ کار کرده باشی چندتا کلاس رو میتونی بدی ولی ایدی رو نه البته اینی که میگی ایدی یکسان روشون اعمال شده عجیبه چون من یبار امتحان کردم و نشد !
سلام
ای دی منحصر به فرده
مثلا وقتی به تگ پی ای دی هلو میدید،
اگه بیاید یه یه چیز دیگه هم اون ای دی رو بدید به مشکل میخورید.
کلاس رو میتونید تا دلتون بخواد برای سلکت کردن به انواع تگ ها بدید.
برای سلکت کردن توی css هم برای ای دی از #
و برای کلاس باید از دات یا . استفاده کنید.
ای دی شدیدا منحصر به فرده.
جای ابهامی هست بگید
سلام دوست عزیز
فرق دارن با هم
ایدی برای یک عنصر هستش البته اگه به چند تا هم بدی مشکل به وجود نمی اد ولی می تونه مشکلاتی به وجود بیاره
تفاوت دیگه، اینه که آیدی ها همیشه بر کلاس ها، اولویت دارن. یعنی چی؟
یعنی اگه یک عنصر، همزمان دارای آیدی و کلاس باشه، ویژگی های اختصاص یافته به آیدی، بر ویژگی های اختصاص یافته به کلاس اولویت داره.
این لینک رو مطالعه کن متوجه میشی
https://mizfa.com/blog/css-class-vs-id/
سلام
توضیح سادش رو میشه گفت کلاس مثل اسم می مونه آی دی مثل کد ملی
اسم دو نفر می تونه علی باشه ولی کد ملی دو نفر نمی تونه یکی باشه
شما وقتی برای یه چیزی از class استفاده میکنی میتونی اون class را به چند تا تگ دیگه هم بدی و یا برای یه تگ چند تا class بذاری، ولی id فقط یکیه، به هر تگی یه id میتونی بدی و یه id برای هر تگ میتونی بذاری.
ممنون از پاسخ هاتون دوستان ولی اکثرتون همون حرفی که خودم زدم رو تکرار کردید حالا بعضا با مثالهای قشنگ.
@moeinbabaei
تنها پاسخی که نکته جدیدی رو گفتن دوستمون محمد معین بودن که گفتن آیدی از کلاس اولویت بالاتری در اجرا داره😃 که اینو نمیدونستم.
سلام
ببینید به طور کلی اکثر مرورگرها مشکلی در رندر کردن داکیومنتی که المنتهای مختلف آیدی یکسانی دارن، ندارن(خصوصا مرورگرهای جدیدتر). اما مشکلاتی هم داره این کار:
۱- بست پرکتیس نیست! این کار طبق معیارهای w3 مشکل داره و کد ولید نیست. طبیعتا کسی اگه توی کدهای شما این مورد رو مشاهده کنه قضاوتهای بدی میکنه.
۲- برای جاوااسکریپت مشکلساز میشه، مخصوصا توی فریمورکهای قدیمی تر. بذارید براتون با مثال توضیح بدم:
<style>
#div1 {
width: 100px;
height: 100px;
background: red;
margin-top: 1rem;
}
</style>
<div id="div1">Div 1</div>
<div id="div1">Div 2</div>
<script>
let div1 = document.getElementById('div1');
console.log(div1.innerText)
</script>
حالا ما اینجا دوتا المنت داریم، با آیدیهای یکسان در حالی که قانونا باید آیدی یکتا باشه، چی میشه؟ جاوااسکریپت اولین المنت با این آیدی رو شناسایی میکنه که احتمال اینکه این قضیه مشکلساز بشه خیلی زیاده. بعضی از فریمورک و کتابخانههای دیگه هم هستن که به طور کلی ارور میدن در این حالت و میگن که آیدی باید یکتا باشه.
هنوز با جاوا اسکریپت آشنا نشدم اما ازت ممنونم فرزین @farzin که این نکته رو گفتی تا یادم بمونه بعدا یوقت آیدی رو به چنتا المنت ندم.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟