PDA

View Full Version : راهي براي جلوگيري از اعمال Css کلي به يک بخش خاص



bftarane
چهارشنبه 22 آذر 1391, 22:39 عصر
سلام.
مي خواستم بدونم راهي داره که کلاسهايي که به کل عناصر اعمال ميشن
مثلاً يه همچين چيزي
li {
padding-bottom: 5px;
}
به يه قسمت خاص کاري کنيم که اعمال نشه؟
مثلاً يه کنترل datePicker به فرض داريم و اون يه سري خودش خصوصيات داره. و بخواهيم استايل هاي ديگه بهش اعمال نشن.
ممنون.

کامروا
چهارشنبه 22 آذر 1391, 23:10 عصر
امیدوارم منظورتون رو درست متوجه شده باشم.
شما از طریق
nth-child(n)
میتونید مثلا از بین 5 تا li به اونهایی که میخوایی استایل بدین یا ندین...

و از طریق کد زیر هم میتونید مثلا تمام li ها استایل بگیرند بجز کلاس یا آیدی یا... که شما میخوایی...
:not(selector)

bftarane
پنج شنبه 23 آذر 1391, 07:52 صبح
نه منظورم اصلاً li نيست.
مثلاً يه DatePicker دارم که وقتي در صفحه اي که استايل شيت نداره مي ندازمش از ظاهرش راضي ام ولي وقتي در صفحه اي که استايل دهيش جوريه که بعضي استايلها به صورت کلي به همه عناصر اعمال ميشن
مثلاً a { color: red}
خوشم نمياد از ظاهرش. فکر کنم مي تونم بندازمش تو يه ديو و به اون ديو يه کلاسي بدم که مثلاً سايز فونت دلخواه، ... در اين کلاس اعمال شده باشه.
ولي مي خواستم بدونم راهي داره مثلاً اين DatePicker رو بندازم تو يه Div و به اون Div يه خاصيتي مثل اوني که شما گذاشتيد not selector (به عنوان مثال گفتم) بديم که ديگه به اون ديو استايل شيت خارجي اعمال نشه و يه جوري رفتار کنه انگار در يه صفحه بدون استايل شيت انداختيمش؟

کامروا
پنج شنبه 23 آذر 1391, 10:56 صبح
منظورم فقط li نبود،فقط مثال زدم.
خب شما میتونی از کلاس یا آیدی هم درون not(Selector) استفاده کنید.
__________________________________________________ ______
تا آنجا که بنده اطلاع دارم توی Css نمیشه استایل های یک تگ رو خنثی کرد. میشه بهش یک کلاس دیگه با خصوصیات دیگه داد اما نمیشه
گفت مثلاً تمام خصویات این تگ <a> خنثی بشه.

راه حل :
فرض کنید 10 تا تگ <a> داریم که توی Css بهشون استایل دادیم.
مثل زیر :
a { color: red}
خب توی کد فوق تمام تگ های <a> رنگ قرمز دارند.
حال فرض کنید شما میخواهید به تمام تگ های <a> رنگ قرمز بدهید، بجز آنهایی که از کلاس t1 به ارث میبرند که به صورت زیر میشه نوشت :
a:not(.t1) {
color: red;
}

ولی از طریق jQuery میشه خاصیت یک Selector(مثلا کلاس مورد نظر شما) رو خنتی کرد بشکل زیر :
$("selector").removeAttr("style");

موفق باشید