CSS నెస్టింగ్ ఫీచర్ను ఉపయోగించి శుభ్రమైన, మరింత మెయింటెయిన్ చేయగల స్టైల్షీట్లను ఎలా వ్రాయాలో తెలుసుకోండి. మెరుగైన ఆర్గనైజేషన్ మరియు స్కేలబిలిటీ కోసం దాని ప్రయోజనాలు, సింటాక్స్ మరియు ఉత్తమ పద్ధతులను కనుగొనండి.
CSS నెస్టింగ్లో నైపుణ్యం: స్కేలబుల్ ప్రాజెక్ట్ల కోసం స్టైల్స్ను ఆర్గనైజ్ చేయండి
CSS నెస్టింగ్, ఆధునిక CSSలో సాపేక్షంగా కొత్త మరియు శక్తివంతమైన ఫీచర్, ఇది మీ స్టైల్షీట్లను నిర్మించడానికి మరింత సహజమైన మరియు వ్యవస్థీకృత మార్గాన్ని అందిస్తుంది. CSS నియమాలను ఒకదానికొకటి లోపల నెస్ట్ చేయడానికి అనుమతించడం ద్వారా, మీరు HTML నిర్మాణాన్ని ప్రతిబింబించే విధంగా ఎలిమెంట్లు మరియు వాటి స్టైల్స్ మధ్య సంబంధాలను సృష్టించవచ్చు, ఇది శుభ్రమైన, మరింత మెయింటెయిన్ చేయగల కోడ్కు దారితీస్తుంది.
CSS నెస్టింగ్ అంటే ఏమిటి?
సాంప్రదాయకంగా, CSS ప్రతి ఎలిమెంట్కు వేర్వేరు నియమాలను వ్రాయమని కోరుతుంది, అవి దగ్గరి సంబంధం కలిగి ఉన్నప్పటికీ. ఉదాహరణకు, ఒక నావిగేషన్ మెనూ మరియు దాని జాబితా ఐటెమ్లను స్టైలింగ్ చేయడానికి సాధారణంగా బహుళ స్వతంత్ర నియమాలను వ్రాయడం అవసరం:
.nav {
/* నావిగేషన్ మెనూ కోసం స్టైల్స్ */
}
.nav ul {
/* క్రమరహిత జాబితా కోసం స్టైల్స్ */
}
.nav li {
/* జాబితా ఐటెమ్ల కోసం స్టైల్స్ */
}
.nav a {
/* లింక్ల కోసం స్టైల్స్ */
}
CSS నెస్టింగ్తో, మీరు ఈ నియమాలను పేరెంట్ సెలెక్టర్లో నెస్ట్ చేయవచ్చు, స్పష్టమైన క్రమానుగత శ్రేణిని సృష్టిస్తుంది:
.nav {
/* నావిగేషన్ మెనూ కోసం స్టైల్స్ */
ul {
/* క్రమరహిత జాబితా కోసం స్టైల్స్ */
li {
/* జాబితా ఐటెమ్ల కోసం స్టైల్స్ */
a {
/* లింక్ల కోసం స్టైల్స్ */
}
}
}
}
ఈ నెస్ట్ చేయబడిన నిర్మాణం ఎలిమెంట్ల మధ్య సంబంధాన్ని దృశ్యమానంగా సూచిస్తుంది, ఇది కోడ్ను చదవడం మరియు అర్థం చేసుకోవడం సులభం చేస్తుంది.
CSS నెస్టింగ్ యొక్క ప్రయోజనాలు
సాంప్రదాయ CSS కంటే CSS నెస్టింగ్ అనేక ప్రయోజనాలను అందిస్తుంది:
- మెరుగైన రీడబిలిటీ: నెస్ట్ చేయబడిన నిర్మాణం ఎలిమెంట్లు మరియు వాటి స్టైల్స్ మధ్య సంబంధాన్ని అర్థం చేసుకోవడం సులభం చేస్తుంది.
- పెరిగిన మెయింటెయినబిలిటీ: HTML నిర్మాణంలో మార్పులు CSSలో ప్రతిబింబించడం సులభం, ఎందుకంటే స్టైల్స్ ఇప్పటికే HTML క్రమానుగత శ్రేణి ప్రకారం వ్యవస్థీకరించబడ్డాయి.
- కోడ్ డూప్లికేషన్ తగ్గించడం: నెస్టింగ్ సెలెక్టర్లను పునరావృతం చేయవలసిన అవసరాన్ని తగ్గిస్తుంది, ఇది చిన్న మరియు మరింత సంక్షిప్త కోడ్కు దారితీస్తుంది.
- మెరుగైన ఆర్గనైజేషన్: సంబంధిత స్టైల్స్ను సమూహపరచడం ద్వారా, నెస్టింగ్ CSS డెవలప్మెంట్కు మరింత వ్యవస్థీకృత మరియు నిర్మాణాత్మక విధానాన్ని ప్రోత్సహిస్తుంది.
- మెరుగైన స్కేలబిలిటీ: పెద్ద మరియు సంక్లిష్టమైన ప్రాజెక్ట్లకు బాగా వ్యవస్థీకరించబడిన CSS కీలకం. ప్రాజెక్ట్ పెరిగేకొద్దీ స్పష్టమైన మరియు నిర్వహించదగిన కోడ్బేస్ను నిర్వహించడానికి నెస్టింగ్ సహాయపడుతుంది.
CSS నెస్టింగ్ సింటాక్స్
CSS నెస్టింగ్ యొక్క ప్రాథమిక సింటాక్స్ పేరెంట్ సెలెక్టర్ యొక్క కర్లీ బ్రేస్లలో CSS నియమాలను ఉంచడం. నెస్ట్ చేయబడిన నియమాలు పేరెంట్ ఎలిమెంట్ యొక్క డిసెండెంట్ ఎలిమెంట్లకు మాత్రమే వర్తిస్తాయి.
ప్రాథమిక నెస్టింగ్
మునుపటి ఉదాహరణలో ప్రదర్శించినట్లుగా, మీరు డిసెండెంట్ ఎలిమెంట్ల కోసం నియమాలను నేరుగా పేరెంట్ సెలెక్టర్లో నెస్ట్ చేయవచ్చు:
.container {
/* కంటైనర్ కోసం స్టైల్స్ */
.item {
/* కంటైనర్లోని ఐటెమ్ కోసం స్టైల్స్ */
}
}
&
(యాంపర్సండ్) సెలెక్టర్
&
సెలెక్టర్ పేరెంట్ సెలెక్టర్ను సూచిస్తుంది. ఇది పేరెంట్ ఎలిమెంట్కే స్టైల్స్ను వర్తింపజేయడానికి లేదా పేరెంట్ ఆధారంగా మరింత సంక్లిష్టమైన సెలెక్టర్లను సృష్టించడానికి మిమ్మల్ని అనుమతిస్తుంది. ఇది సూడో-క్లాస్లు మరియు సూడో-ఎలిమెంట్లకు ప్రత్యేకంగా ఉపయోగపడుతుంది.
ఉదాహరణ: హోవర్లో పేరెంట్ను స్టైలింగ్ చేయడం
.button {
/* బటన్ కోసం డిఫాల్ట్ స్టైల్స్ */
background-color: #eee;
color: #333;
padding: 10px 20px;
border: none;
cursor: pointer;
&:hover {
/* హోవర్ చేసినప్పుడు బటన్ కోసం స్టైల్స్ */
background-color: #ccc;
}
}
ఈ ఉదాహరణలో, &:hover
హోవర్ స్టైల్స్ను .button
ఎలిమెంట్కే వర్తింపజేస్తుంది.
ఉదాహరణ: ఒక సూడో-ఎలిమెంట్ను జోడించడం
.link {
/* లింక్ కోసం డిఫాల్ట్ స్టైల్స్ */
color: blue;
text-decoration: none;
position: relative;
&::after {
/* సూడో-ఎలిమెంట్ కోసం స్టైల్స్ */
content: '';
position: absolute;
bottom: -2px;
left: 0;
width: 100%;
height: 2px;
background-color: blue;
transform: scaleX(0);
transform-origin: left;
transition: transform 0.3s ease;
}
&:hover::after {
/* హోవర్లో సూడో-ఎలిమెంట్ కోసం స్టైల్స్ */
transform: scaleX(1);
}
}
ఇక్కడ, &::after
లింక్ కోసం అండర్లైన్గా పనిచేసే ఒక సూడో-ఎలిమెంట్ను సృష్టిస్తుంది, ఇది హోవర్లో యానిమేట్ అవుతుంది. &
సూడో-ఎలిమెంట్ .link
ఎలిమెంట్తో సరిగ్గా అనుబంధించబడిందని నిర్ధారిస్తుంది.
మీడియా క్వెరీలతో నెస్టింగ్
స్క్రీన్ పరిమాణం లేదా ఇతర పరికర లక్షణాల ఆధారంగా స్టైల్స్ను వర్తింపజేయడానికి మీరు CSS నియమాలలో మీడియా క్వెరీలను కూడా నెస్ట్ చేయవచ్చు:
.container {
/* కంటైనర్ కోసం డిఫాల్ట్ స్టైల్స్ */
width: 100%;
padding: 20px;
@media (min-width: 768px) {
/* పెద్ద స్క్రీన్ల కోసం స్టైల్స్ */
width: 768px;
padding: 30px;
}
@media (min-width: 1200px) {
/* ఇంకా పెద్ద స్క్రీన్ల కోసం స్టైల్స్ */
width: 1200px;
padding: 40px;
}
}
ఇది మీ రెస్పాన్సివ్ స్టైల్స్ను వ్యవస్థీకృతంగా మరియు అవి ప్రభావితం చేసే ఎలిమెంట్లకు దగ్గరగా ఉంచడానికి మిమ్మల్ని అనుమతిస్తుంది.
@supports
తో నెస్టింగ్
ఒక నిర్దిష్ట CSS ఫీచర్ బ్రౌజర్ ద్వారా సపోర్ట్ చేయబడితే మాత్రమే స్టైల్స్ను వర్తింపజేయడానికి @supports
ఎట్-రూల్ను నెస్ట్ చేయవచ్చు:
.element {
/* డిఫాల్ట్ స్టైల్స్ */
display: flex;
justify-content: center;
align-items: center;
@supports (gap: 10px) {
/* గ్యాప్ ప్రాపర్టీ సపోర్ట్ చేయబడితే స్టైల్స్ */
gap: 10px;
}
@supports not (gap: 10px) {
/* గ్యాప్ సపోర్ట్ చేయని బ్రౌజర్ల కోసం ఫాల్బ్యాక్ స్టైల్స్ */
margin: 5px;
}
}
ఇది పాత బ్రౌజర్లకు ఫాల్బ్యాక్లను అందిస్తూనే ఆధునిక CSS ఫీచర్లను ఉపయోగించడానికి మిమ్మల్ని అనుమతిస్తుంది.
CSS నెస్టింగ్ కోసం ఉత్తమ పద్ధతులు
CSS నెస్టింగ్ మీ వర్క్ఫ్లోను బాగా మెరుగుపరచగలదు, కానీ దానిని తెలివిగా ఉపయోగించడం మరియు అతిగా సంక్లిష్టమైన లేదా మెయింటెయిన్ చేయలేని స్టైల్షీట్లను సృష్టించకుండా ఉండటానికి కొన్ని ఉత్తమ పద్ధతులను పాటించడం ముఖ్యం.
- లోతైన నెస్టింగ్ను నివారించండి: చాలా లెవెల్స్ లోతుగా నెస్ట్ చేయడం మీ కోడ్ను చదవడం మరియు డీబగ్ చేయడం కష్టతరం చేస్తుంది. సాధారణంగా 3-4 లెవెల్స్ కంటే ఎక్కువ లోతుగా నెస్ట్ చేయకుండా ఉండటం ఒక మంచి నియమం.
&
సెలెక్టర్ను తెలివిగా ఉపయోగించండి:&
సెలెక్టర్ శక్తివంతమైనది, కానీ అది దుర్వినియోగం కూడా కావచ్చు. ఇది ఎలా పనిచేస్తుందో మీరు అర్థం చేసుకున్నారని నిర్ధారించుకోండి మరియు అవసరమైనప్పుడు మాత్రమే దాన్ని ఉపయోగించండి.- స్థిరమైన శైలిని పాటించండి: మీ ప్రాజెక్ట్ అంతటా స్థిరమైన కోడింగ్ శైలికి కట్టుబడి ఉండండి. ఇది మీ కోడ్ను చదవడం మరియు మెయింటెయిన్ చేయడం సులభతరం చేస్తుంది, ముఖ్యంగా ఒక బృందంలో పనిచేసేటప్పుడు.
- పనితీరును పరిగణించండి: CSS నెస్టింగ్ స్వతహాగా పనితీరును ప్రభావితం చేయనప్పటికీ, అతిగా సంక్లిష్టమైన సెలెక్టర్లు చేయగలవు. పనితీరు అడ్డంకులను నివారించడానికి మీ సెలెక్టర్లను వీలైనంత సరళంగా ఉంచండి.
- కామెంట్లను ఉపయోగించండి: సంక్లిష్టమైన నెస్టింగ్ నిర్మాణాలను లేదా అసాధారణ సెలెక్టర్ కలయికలను వివరించడానికి కామెంట్లను జోడించండి. ఇది మీకు మరియు ఇతర డెవలపర్లకు తరువాత కోడ్ను అర్థం చేసుకోవడానికి సహాయపడుతుంది.
- నెస్టింగ్ను అతిగా ఉపయోగించవద్దు: మీరు *can* నెస్ట్ చేయగలరు కాబట్టి, మీరు *should* చేయాలి అని అర్థం కాదు. కొన్నిసార్లు, ఫ్లాట్ CSS ఖచ్చితంగా సరిపోతుంది మరియు మరింత చదవదగినదిగా ఉంటుంది. స్పష్టత మరియు మెయింటెయినబిలిటీని మెరుగుపరిచే చోట నెస్టింగ్ ఉపయోగించండి, ఒక సూత్రంగా కాదు.
బ్రౌజర్ సపోర్ట్
CSS నెస్టింగ్కు Chrome, Firefox, Safari, మరియు Edgeతో సహా ఆధునిక బ్రౌజర్లలో అద్భుతమైన సపోర్ట్ ఉంది. అయినప్పటికీ, ప్రొడక్షన్లో ఉపయోగించే ముందు మీ ప్రాజెక్ట్ అవసరాలకు సరిపోతుందని నిర్ధారించుకోవడానికి తాజా బ్రౌజర్ అనుకూలత పట్టికలను (ఉదా., caniuse.comలో) తనిఖీ చేయడం ఎల్లప్పుడూ మంచిది. అవసరమైతే విస్తృత బ్రౌజర్ అనుకూలత కోసం postcss-nesting
వంటి PostCSS ప్లగిన్ను ఉపయోగించడాన్ని పరిగణించండి.
CSS నెస్టింగ్ వర్సెస్ CSS ప్రీప్రాసెసర్లు (Sass, Less)
నేటివ్ CSS నెస్టింగ్కు ముందు, Sass మరియు Less వంటి CSS ప్రీప్రాసెసర్లు ఇలాంటి నెస్టింగ్ సామర్థ్యాలను అందించాయి. ప్రీప్రాసెసర్లు వేరియబుల్స్, మిక్సిన్లు మరియు ఫంక్షన్ల వంటి ఇతర ఫీచర్లను ఇప్పటికీ అందిస్తున్నప్పటికీ, నేటివ్ CSS నెస్టింగ్ సాధారణ నెస్టింగ్ దృశ్యాల కోసం బిల్డ్ స్టెప్ అవసరాన్ని తొలగిస్తుంది. ఇక్కడ ఒక పోలిక ఉంది:
ఫీచర్ | నేటివ్ CSS నెస్టింగ్ | CSS ప్రీప్రాసెసర్లు (Sass/Less) |
---|---|---|
నెస్టింగ్ | నేటివ్ సపోర్ట్, కంపైలేషన్ అవసరం లేదు | CSSకి కంపైలేషన్ అవసరం |
వేరియబుల్స్ | CSS కస్టమ్ ప్రాపర్టీలు (వేరియబుల్స్) అవసరం | అంతర్నిర్మిత వేరియబుల్ సపోర్ట్ |
మిక్సిన్లు | నేటివ్గా అందుబాటులో లేదు | అంతర్నిర్మిత మిక్సిన్ సపోర్ట్ |
ఫంక్షన్లు | నేటివ్గా అందుబాటులో లేదు | అంతర్నిర్మిత ఫంక్షన్ సపోర్ట్ |
బ్రౌజర్ సపోర్ట్ | ఆధునిక బ్రౌజర్లలో అద్భుతమైనది; పాలిఫిల్స్ అందుబాటులో ఉన్నాయి | కంపైలేషన్ అవసరం; CSS అవుట్పుట్ విస్తృతంగా అనుకూలంగా ఉంటుంది |
కంపైలేషన్ | ఏదీ లేదు | అవసరం |
మీకు మిక్సిన్లు మరియు ఫంక్షన్ల వంటి అధునాతన ఫీచర్లు అవసరమైతే, ప్రీప్రాసెసర్లు ఇప్పటికీ విలువైనవి. అయినప్పటికీ, ప్రాథమిక నెస్టింగ్ మరియు ఆర్గనైజేషన్ కోసం, నేటివ్ CSS నెస్టింగ్ ఒక సరళమైన మరియు మరింత క్రమబద్ధమైన పరిష్కారాన్ని అందిస్తుంది.
ప్రపంచవ్యాప్తంగా ఉదాహరణలు
కింది ఉదాహరణలు CSS నెస్టింగ్ వివిధ వెబ్సైట్ సందర్భాలలో ఎలా వర్తింపజేయవచ్చో వివరిస్తాయి, దాని బహుముఖ ప్రజ్ఞను ప్రదర్శిస్తాయి:
-
ఇ-కామర్స్ ఉత్పత్తి జాబితా (గ్లోబల్ ఉదాహరణ): ఉత్పత్తి జాబితాల గ్రిడ్తో ఒక ఇ-కామర్స్ వెబ్సైట్ను ఊహించుకోండి. ప్రతి ఉత్పత్తి కార్డ్లో ఒక చిత్రం, శీర్షిక, ధర, మరియు ఒక కాల్-టు-యాక్షన్ బటన్ ఉంటాయి. CSS నెస్టింగ్ ఉత్పత్తి కార్డ్ యొక్క ప్రతి భాగం కోసం స్టైల్స్ను చక్కగా వ్యవస్థీకరించగలదు:
.product-card { /* మొత్తం ఉత్పత్తి కార్డ్ కోసం స్టైల్స్ */ border: 1px solid #ddd; padding: 10px; .product-image { /* ఉత్పత్తి చిత్రం కోసం స్టైల్స్ */ width: 100%; margin-bottom: 10px; } .product-title { /* ఉత్పత్తి శీర్షిక కోసం స్టైల్స్ */ font-size: 1.2em; margin-bottom: 5px; } .product-price { /* ఉత్పత్తి ధర కోసం స్టైల్స్ */ font-weight: bold; color: #007bff; } .add-to-cart { /* యాడ్ టు కార్ట్ బటన్ కోసం స్టైల్స్ */ background-color: #28a745; color: white; padding: 8px 12px; border: none; cursor: pointer; &:hover { /* హోవర్లో బటన్ కోసం స్టైల్స్ */ background-color: #218838; } } }
-
బ్లాగ్ పోస్ట్ లేఅవుట్ (యూరోపియన్ డిజైన్ ప్రేరణ): ప్రతి పోస్ట్కు ఒక శీర్షిక, రచయిత, తేదీ, మరియు కంటెంట్ ఉన్న ఒక బ్లాగ్ లేఅవుట్ను పరిగణించండి. నెస్టింగ్ స్టైలింగ్ను సమర్థవంతంగా నిర్మించగలదు:
.blog-post { /* మొత్తం బ్లాగ్ పోస్ట్ కోసం స్టైల్స్ */ margin-bottom: 20px; border-bottom: 1px solid #eee; padding-bottom: 20px; .post-header { /* పోస్ట్ హెడర్ కోసం స్టైల్స్ */ margin-bottom: 10px; .post-title { /* పోస్ట్ శీర్షిక కోసం స్టైల్స్ */ font-size: 2em; margin-bottom: 5px; } .post-meta { /* పోస్ట్ మెటాడేటా కోసం స్టైల్స్ */ font-size: 0.8em; color: #777; .post-author { /* రచయిత పేరు కోసం స్టైల్స్ */ font-style: italic; } .post-date { /* తేదీ కోసం స్టైల్స్ */ margin-left: 10px; } } } .post-content { /* పోస్ట్ కంటెంట్ కోసం స్టైల్స్ */ line-height: 1.6; } }
-
ఇంటరాక్టివ్ మ్యాప్ (ఉత్తర అమెరికా ఉదాహరణ): వెబ్సైట్లు తరచుగా భౌగోళిక డేటాను ప్రదర్శించే ఇంటరాక్టివ్ మ్యాప్లను ఉపయోగిస్తాయి. మ్యాప్లోని మార్కర్లు మరియు పాపప్లను స్టైల్ చేయడానికి నెస్టింగ్ ప్రయోజనకరంగా ఉంటుంది:
.map-container { /* మ్యాప్ కంటైనర్ కోసం స్టైల్స్ */ width: 100%; height: 400px; .map-marker { /* మ్యాప్ మార్కర్ల కోసం స్టైల్స్ */ width: 20px; height: 20px; border-radius: 50%; background-color: red; cursor: pointer; &:hover { /* హోవర్లో మార్కర్ కోసం స్టైల్స్ */ background-color: darkred; } } .map-popup { /* మ్యాప్ పాపప్ కోసం స్టైల్స్ */ position: absolute; background-color: white; border: 1px solid #ccc; padding: 10px; z-index: 1000; .popup-title { /* పాపప్ శీర్షిక కోసం స్టైల్స్ */ font-size: 1.1em; margin-bottom: 5px; } .popup-content { /* పాపప్ కంటెంట్ కోసం స్టైల్స్ */ font-size: 0.9em; } } }
-
మొబైల్ యాప్ UI (ఆసియా డిజైన్ ఉదాహరణ): ఒక ట్యాబ్డ్ ఇంటర్ఫేస్తో ఉన్న మొబైల్ యాప్లో, ప్రతి ట్యాబ్ మరియు దాని కంటెంట్ యొక్క స్టైలింగ్ను నియంత్రించడానికి నెస్టింగ్ సహాయపడుతుంది:
.tab-container { /* ట్యాబ్ కంటైనర్ కోసం స్టైల్స్ */ width: 100%; border-bottom: 1px solid #ddd; .tab-header { /* ట్యాబ్ హెడర్ కోసం స్టైల్స్ */ display: flex; .tab-item { /* ప్రతి ట్యాబ్ ఐటెమ్ కోసం స్టైల్స్ */ padding: 10px 15px; cursor: pointer; border: none; background-color: transparent; border-bottom: 2px solid transparent; &.active { /* యాక్టివ్ ట్యాబ్ కోసం స్టైల్స్ */ border-bottom-color: #007bff; } } } .tab-content { /* ట్యాబ్ కంటెంట్ కోసం స్టైల్స్ */ padding: 15px; display: none; &.active { /* యాక్టివ్ ట్యాబ్ కంటెంట్ కోసం స్టైల్స్ */ display: block; } } }
ముగింపు
CSS నెస్టింగ్ ఆధునిక CSSకి ఒక విలువైన జోడింపు, ఇది మీ స్టైల్షీట్లను నిర్మించడానికి మరింత వ్యవస్థీకృత మరియు మెయింటెయిన్ చేయగల మార్గాన్ని అందిస్తుంది. దాని సింటాక్స్, ప్రయోజనాలు, మరియు ఉత్తమ పద్ధతులను అర్థం చేసుకోవడం ద్వారా, మీరు మీ CSS వర్క్ఫ్లోను మెరుగుపరచడానికి మరియు మరింత స్కేలబుల్ మరియు మెయింటెయిన్ చేయగల వెబ్ ప్రాజెక్ట్లను సృష్టించడానికి ఈ ఫీచర్ను ఉపయోగించుకోవచ్చు. శుభ్రమైన, మరింత చదవదగిన కోడ్ను వ్రాయడానికి మరియు మీ CSS డెవలప్మెంట్ ప్రక్రియను సరళీకృతం చేయడానికి CSS నెస్టింగ్ను స్వీకరించండి. మీరు మీ ప్రాజెక్ట్లలో నెస్టింగ్ను ఏకీకృతం చేస్తున్నప్పుడు, సంక్లిష్టమైన స్టైల్షీట్లను నిర్వహించడానికి మరియు విభిన్న ప్రపంచ సందర్భాలలో దృశ్యమానంగా ఆకర్షణీయమైన మరియు చక్కగా నిర్మాణాత్మకమైన వెబ్ అప్లికేషన్లను సృష్టించడానికి ఇది ఒక అనివార్యమైన సాధనంగా మీరు కనుగొంటారు.