CSS дүрэм ба заагчууд (селектор)

CSS нь хэлнүүдийн адилаар өөрийн гэсэн бичлэгийн дүрэмтэй. Түүнд элемент, параметр, тегүүд байхгүй ч дүрэм бий. Дүрэм нь заагч ба их хаалтанд байрлах хэвийг тодорхойлогч блокоос бүрдэнэ.

Хэвийг тодорхойлогч блок нь цэг таслалаар тусгаарлагдсан шинж болон түүний утгуудаас бүрдэнэ.

За одоо практикт туршаад үзье. CSS -ийг HTML -д оруулах хичээлд үүсгэсэн html болон css файлуудыг нээе. Манай хуудаст хөх дэвсгэр өгье. Хуудасны дэвсгэрт <body> тег харгалзах тул style.css файлд дараах кодыг бичин өгцгөөе.

body{
background: blue;
}

Өөрийн html хуудсыг хөтөч дээр нээн дэвсгэр хөх болсон эсэхийг шалгаарай. Одоо хуудасны текстийг цагаан өнгөтэй болгоё. Үүний тулд  

body{
background: blue;
color: white;
}

гэж өгнө. html хуудсаа (Ctrl+F5) даран дахин уншуулж бүх текстүүд цагаан өнгөтэй болсныг шалгаарай. Тэгвэл одоо h1 гарчигийг улаан өнгөтэй харин h2 гарчигийг шар өнгөтэй болгоё.

body{
background: blue;
color: white;
}
h1{
color: red;
}
h2{
color: yellow;
}

html хуудсаа дахин уншуулж бүх зүйл санасны дагуу болсон эсэхийг шалгаарай. Хэрвээ та бүгдийг зөв хийсэн бол доррх үр дүнд хүрсэн байх ёстой.

Зарчим ойлгомжтой болсон гэж бодож байна. Бид заагчийг өгөөд өөрөөр хэлбэл хэв ашиглах элементийг заагаад дараа нь их хаалтанд түүний шинж ба утгуудыг тодорхойлно. Шинж болон утгуудын талаар тусдаа хичээл байх бөгөөд одоохондоо бид хэвийн хүснэгтийг бүрдүүлэх ерөнхий зарчимтай танилцаж байгаа юм.

CSS заагчууд (селектор)  

Тодорхойлогчийн заагчид

Бид өмнөх жишээнд заагчаар body, h1, h2 гээд хуудасны элементүүдийг ашигласан. Хэрвээ манай html хуудсанд хэд хэдэн ижилхэн элементүүд (жишээ нь бүлгүүд) байгаад бид бүх бүлгийн текстүүдийг хар өнгөөр харин тэдгээрийн нэгийнх нь текстийг ягаан өнгөөр үзүүлэхийг хүсвэл яах хэрэгтэй вэ? Ийм үед бидэнд өөрөөр хэвжүүлэх элементийг давтагдахгүй утгаар тодорхойлох заагч хэрэгтэй болох бөгөөд түүнийг үүсгээд хэвийг нь бичин өгнө.   
HTML-д элементийн тодорхойлогчийг id параметрээр заан өгдөг бөгөөд утгаар нь давтагдашгүй нэрийг өгдөг. Жишээ нь

<p id="pink">(id) параметрээр тодорхойлсон бүлгийн текстүүд.</p>

Тодорхойлогчийн нэрийг HTML ба CSS -ийн элементүүдийн тег болон параметрийн нэрүүдийг ашиглахгүйгээр дурын байдлаар өгч болно. Жишээ нь тодорхойлогчид body гэсэн нэр өгч болохгүй. За html хуудастаа хэдэн хэсэг нэмээд тэдний аль нэгд нь тодорхойлогч үүсгэе.

<html>
<head>
<title>CSS заагчууд id</title>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<h1>1-р түвшингийн гарчиг</h1>
Энд энгийн текст
<h2>2-р түвшингийн гарчиг</h2>
Энд энгийн текст
<p>Энгийн хэсэг</p>
<p id="pink">Тодорхойлогчтой хэсэг(id)</p>
</body>
</html>

Хэрвээ бид одоо хуудсыг хөтөч дээр нээвэл манай хоёр хэсэг хоёулаа цагаан өнгөөр харагдана. style.css файлд манай хэсгүүдэд хэв нэмэн өгье.

p{
color:black;
}
p#pink{
color:pink;
}

Бид эхлээд бүх хэсгийн текстүүд хар өнгийн гэж заагаад харин id "pink" гэсэн хэсгийн текстийг ягаан болгон өгсөн. Энэ тохиолдолд манай заагч нь (p) элемент, тусгаарлагч (#) тэгээд (pink) тодорхойлгочоос бүрдэх болно.

Санамж
Хуудас дээр тодорхойлогч зөвхөн ганцхан байдаг гэдгийг санаж аваарай. Өөрөөр хэлбэл манай жишээнд id "pink" тодорхойлогчтой хоёр хэсэг байж болохгүй. Ийм id зөвхөн ганцхан байна. Харин хэсэг бүр өөрийн гэсэн тодорхойлогчтой байж болдог. жишээ нь id="green" гэсэн тодорхойлогч үүсгэн өгөөд дараа нь хэвийн хүснэгтэд энэ хэсгийн хэлбэржилтийг заан өгч болно.

Ангилалын (class) заагч

Дээрх жишээнд бид ягаан өнгийн тексттэй хэсэг үүсгээд ийм id зөвхөн ганц байхыг заан өгсөн. Тэгвэл бид 2 эсвэл 3 хэсгийн текстийг ягаан өнгөөр үзүүлэх хэрэгтэй болбол яах вэ? гэсэн асуулт гарч ирнэ. HTML -д үүнд зориулагдсан class гэсэн параметр байдаг ба утганд нь түүний нэрийг заан өгдөг.   
html хуудастаа дахин хоёр хэсэг нэмээд тэдэнд class="pink" заагчийг олгоё.
<html>
<head>
<title>CSS заагчууд class</title>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<h1>1-р түвшингийн гарчиг</h1>
Энд энгийн текст
<h2>2-р түвшингийн гарчиг</h2>
Энд энгийн текст
<p>Энгийн хэсэг</p>
<p id="pink">Тодорхойлогчтой хэсэг(id)</p>
<p class="pink">pink ангилалын хэсэг (class)</p>
<p class="pink">pink ангилалын хэсэг (class)</p>
</body>
</html>

Энэ ангилалын хэлбэржилтийг хэвийн хүснэгтэд бичихдээ дараах дүрмийг хэрэглэнэ. Заагчаар дахиад л элементийн нэр (p) -г аваад ангилал гэдгийг заах цэгээр (.) тугаарлаад ангилалын нэрийг (pink) бичин өгдөг.

body{
background: blue;
color: white;
}
h1{
color: red;
}
h2{
color: yellow;
}
p{
color:black;
}
p#pink{
color:pink;
}
p.pink{
color:pink;
}

Одоо манай style.css файл дээрх агуулгатай болсон байгаа. Хуудаст p.pink ангилалын хэсэг хэд ч байж болно.
Бүх зүйлийг зөв хийсэн бол доорх үр дүнд хүрсэн байна.

Дундын үр дүнгээ нэгтгэн үзвэл:

  • Хэрвээ нэг ижилхэн элементүүд жишээ нь h1 бүх гарчигууд нэг хэвийн байх ёстой бол заагчийг зөвхөн энэ элементээр бүрдүүлнэ. Жишээ нь  h1{color:black;}
  • Хэрвээ элемент (дурын хэсэг, гарчиг гэх мэт) бусдаасаа өөр байх хэрэгтэй бол түүнд тодорхойлогч (id) заан өгөөд хэвийн хүснэгтэд тусгаарлагчаар (#) чагтыг ашиглана. Жишээ нь p#pink{color:pink;}
  • Хэрвээ хуудас дээр ижилхэн хэв бүхий олон элемент байрлахаар бол тэдэнд (class) буюу ангилал үүсгээд хэвийн хүснэгтэд тусгаарлагчаар (.) цэгийг ашиглана. Жишээ нь p.pink{color:pink;}
  • Тодорхойлогч нь ангилалаас өндөр эрхтэй байдаг. Иймээс хэрвээ ямар нэгэн элементэд тодорхойлогч болон ангилалыг хоёуланг заан өгсөн (энэ нь CSS -ийн зарчимтай зөрчилдөхгүй) тохиолдолд тодорхойлогчийн хэвийг ашиглах болно.

Тодорхойлогч ба ангилалыг дурын html элементэд өгч болдог гэдгийг дурдсан. Гэхдээ хэд хэдэн өөр элементүүдэд нэг хэв олгох хэрэгцээ ихээр гардаг. жишээ нь нэг өнгөөр харуулах гэх мэт. Ийм тохиолдолд универсал заагчийг ашиглаж болдог. Ийм заагчид элементийн нэрийг заан өгөхгүйгээр цэг эсвэл чагтыг тодорхойлогч ба ангилал гэдгийг шинжээр заагаад нэрийг өгдөг. Жишээ нь

.red{
color:red;
}
#yellow{
color:yellow;
}

Ингэснээр бид ямар нэгэн элементэд (хэсэг, гарчиг, холбоос гэх мэт) class="red" гэж заан өгснөөр элементийн текстийг улаан өнгөтэй болгох бол хуудасны дурын нэг элементэд id="yellow"  гэж заан түүний текстийг шар өнгөтэй болгох боломжтой. Энэ боломжийг өөрийн жишээн дээрээ туршин үзээрэй.

Элементийн заагч

Бидэнд доорх код бүхий html хуудас байсан гэж үзье.

<html>
<head>
<title>Элементээр заагч</title>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<p>Энэ текст хэсэг дотор байрласан</p>
Энэ энгийн текст.
<i>Энэ текст налуу хэлбэртэй</i>
<p>Энэ текст хэсэг дотор байрласан харин <i>энэ хэсэг нь налуу хэлбэртэй</i></p>
</body>
</html>

Бид налуу хэлбэртэй текстийг ногоон өнгөөр үзүүлэхийг хүсвэл хэвийн хүснэгтэд элементээр заагчийг оруулан өгнө. Өөрөөр хэлбэл

i{
color:green;
}

Одоо манай хуудас хөтөч дээр дараах байдлаар харагдана.

Хэрвээ бид налуу хэлбэртэй бүх текстүүд ногооноор биш зөвхөн хэсэгт байгаа текст нь ногоон харагдахаар хийхийг хүсвэл хэвийн хүснэгтэд дараах өөрчлөлтийг оруулан өгнө.

p i{
color:green;
}

Ингэснээр бид дээрх хэвийг p элементэд байрлаж байгаа i элементэд хэрэглэхийг заан өгч байгаа юм. Энэ тохиолдолд элементүүдийн нэрүүд хоосон зайгаар тусгаарлагдана. Ийм заагчийг агуулгын гэж нэрлэдэг. Одоо манай хуудас дараах байдлаар харагдана.

Заагчийг бүлэглэх

Хэвийн тодорхойлолтын хэсэгт хэд хэдэн заагчид давхцал үүсч байвал (жишээ нь бид эхний 3 түвшингийн гарчигуудыг бүгдийг ногооноор харагдуулахаар хүсвэл) тэдгээрийн бүлэглэж болдог. Үүний тулд нэг хэв ашиглах заагчуудыг хооронд нь таслалаар тусгаарлан бичин өгнө. Жишээ нь

h1, h2, h3{
color:green;
}

Үүнээс гадна гарчигуудад өнгөнөөс гадна хэмжээг заах хэрэгтэй гэвэл бид хэвийн хүснэгтэд нэмэлт бичилтийг хийж болно.

h1, h2, h3{
color:green;
}
h1{
font-size:18px;
}
h2{
font-size:16px;
}
h3{
font-size:14px;
}

Одоо гарчигууд заагдсан хэмжээтэй болох ч бүгдээрээ ногоон өнгөөр харагдана.
Ер нь бол бүлэглэхийн тухайд санал зөрөлдөөн байдаг. Нэг хэсэг нь гурван элементийн ижилхэн шинжүүдийг давтахгүйгээр кодыг хураангуй болгодог гэсэн утгаар дээрх кодыг зөв гэж үздэг бол зарим нь ингэж бичих нь кодын логикийг муудуулдаг гэж үздэг. Учир нь h3 гарчигийн заагчийг олсноор түүний текст ногоон өнгөтэй гэдгийг шууд ойлгох боломжгүй юм. Логикийг илүүд үздэг хэсэг зөвхөн тодорхойлолт нь бүрэн хэмжээнд давхцаж байгаа элементүүдийг бүлэглэх хэрэгтэй гэж үздэг.
Бүлэглэлийг ашиглах үгүй нь таны үзэмжийн асуудал. Гэхдээ та янз бүрийн үзэл баримтлалыг мэдэж байх хэрэгтэй. Энэ нь ялангуяа бусдын бичсэн код жишээ нь темплейтыг уншихад их хэрэгтэй болдог.

Мэдээлэл таалагдсан бол найзуудтайгаа хуваалцаарай.

  Нээгдсэн тоо: 1753 Бүртгүүлэх

CSS -ийг HTML -ийн элементүүдэд хэрэглэдэг тухай өмнө нь хэлсэн. Гэхдээ үгийн эхний үсэг, хэсгийн эхний мөр гэх мэтийн HTML -д байдаггүй мөртлөө хуудас дээр орж ирдэг элементүүд бий. Ийм элементүүдийг хуурмаг элементүүд гэж нэрлэдэг. Эдгээрт HTML -ийн элементийн адилаар хэв заан өгч болдог.

Хуурмаг элементүүд

1. first-letter - үгийн эхний үсгийн хэвийг заана. Манай html хуудаст ямар нэгэн хэсэг байсан гэж үзье.   

<html>
<head>
<title>Хуудасны толгой</title>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<p>Эхний үсгийг улаан өнгөтэй болгон тодруулах хэсэг.</p>
</body>
</html>

Мөрийн эхний үсгийг улаан өнгөөр харагдуулахын тулд хэвийн хүснэгтэд дараах мөрийг нэмнэ.

  Нээгдсэн тоо: 1223 Бүртгүүлэх

Хэвийн үндсэн хүснэгт

Бид reset.css файлыг зохиох үед түүнийг html файлд холбоос ашиглан шууд оруулахгүй сайтын хэвийн үндсэн хүснэгтээс түүнийг дуудах талаар дурдсан. Мэдээжээр та хүсвэл бүх CSS файлуудыг HTML кодоос холбоос үүсгэн оруулан ирж болно. Гэхдээ би кодын дээд хэсгийг цэвэрхэн байлгах үүднээс үүнийг хийхгүйгээр шийдсэн байгаа.
Одоо бид хэвийн үндсэн хүснэгтээ үүсгэх хэрэгтэй. Би голдуу үндсэн хүснэгтийг style.css гэж нэрлэдэг. Харин та түүнийг main.css, master.css, screen.css гэх мэтээр яаж ч нэрлэж болно. Хэвийн үндсэн хүснэгтэнд бид манай reset болон тесктийг хэлбэржүүлэх typography файлуудыг оруулан ирнэ. Үүнийг бид @import дүрмийг ашиглан оруулах юм.

  Нээгдсэн тоо: 1795 Төлбөртэй

Элементүүд блок болон мөр төрлийнх гэж байдгийг бид мэднэ. Элемент бүр нь анхдагч байдлаар өөрийн төрөлтэй байдаг. Жишээ нь div ба p элементүүд блокийн төрөлтэй байдаг бол span ба a элементүүд мөр төрлийнх байх жишээтэй. Хааяа энэ анхдагч төрлийг өөрчлөх хэрэг гардаг бөгөөд үүнийг display шинжийг ашиглан хийнэ. Шинж нь боломжит дөрвөн утгуудаас аль нэгийг авч болно. Бүх дөрвөн утгыг жишээн дээр авч үзье.  

display:block

Энэ утга нь элементийг блок төрлийнх болгодог. Бидэнд босоо цэс хийх хэрэгтэй боллоо гэж үзье. Үүний тулд html хуудас дээрээ дараах кодыг бичин өгье.

<html>
<head>
<title>css display</title>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div id="menu">
<a href="index.html">Нүүр</a>
<a href="about_us.html">Бидний тухай</a>
<a href="contact.html">Холбоо барих</a>
</div>
</body>
</html>

  Нээгдсэн тоо: 7665 Нийтийн

Магадгүй та CSS-ийн тухай сонссон хэдий ч чухам юу гэдэг талаар мэдэхгүй байж болно. Тэгвэл энэ хичээлээр CSS гэж юу болох, юуг хийж чадах талаар үзэх болно. CSS гэдэг нь Cascading Style Sheets үгний товчлол. Та HTML хэлний хичээлүүдээс энэ нь веб хуудсыг хэлбэржүүлэх хэл гэдгийг мэдсэн. Хэлийг зохиогчид сайт үүсгэх ажиллагааг сайжруулахын тулд HTML хэлэнд сайтын гадаад төрхийг хэлбэржүүлэх <font>, <b>, <i>, <bgcolor> гэх мэтийн олон төрлийн элементүүд болон параметрүүдийг нэмсээр ирсэн. Гэтэл энэ нь тодорхой хугацааны дараа сайтын кодыг уншигдах болон хэмжээний талаасаа хэтэрхий нүсэр болгосон нь энэ замаар хол явахгүй гэдгийг ойлгомжтой болгосон. Ингээд хуудасны бүтцийг (HTML) түүний харагдах хэлбэрийг тодорхойлогчоос (CSS) салгах шийдэлд хүрсэн байна. HTML ба CSS -ын хослол гайхамшгийг бүтээдэг гэдэгтэй бид удахгүй танилцах болно.

Класс ба структурт ердийн талбар, арга, шинжүүдээс гадна статик талбар, арга, шинжүүд байж болдог. Статик талбар, арга, шинжүүд…

Нээгдсэн тоо : 48

 

Хичээлээр useState -тэй тун төстэй useRef хукийн талаар авч үзье. useRef хукийн онцлог ашиглалтыг компонент хэдэн удаа дахин…

Нээгдсэн тоо : 44

 

Хүүхдүүд тооны хичээлийг анхнаасаа зөв ойлгон сураагүйгээс анги ахих тусмаа математикийн хичээлийнн хоцрогдолоос болоод дургүй болох тал байдаг.…

Нээгдсэн тоо : 105

 

Нийтлэлээр графикийн хэвүүдийн /GUI pattern/ түүхийг авч үзье. Боловсруулалтын графикийн хэвүүдийг 30 гаруй жилийн туршид боловсруулж байгаа бөгөөд…

Нээгдсэн тоо : 83

 

Хааяа өөр өөр параметрүүдийн багцтай нэг аргыг үүсгэх шаардлага гардаг. Ирсэн параметрүүдээс хамааран аргын тодорхой хэрэгжүүлэлтийг хэрэглэнэ. Ийм…

Нээгдсэн тоо : 84

 

Ямарч програмын ажиллагааны чухал хэсэг бол төрөл бүрийн мэдээллийн боловсруулалт, тэдгээртэй ажиллахтай холбоотой байдаг. Иймээс энэ хичээлээс vuejs

Нээгдсэн тоо : 66

 

Хичээлээр react -ийн хукуудаас их өргөн ашиглагддаг useEffect -ийн талаар авч үзье. useEffect -ийн ажиллагааг судлах хуудасны кодийг

Нээгдсэн тоо : 62

 

Илэрхийлэл бол математикийн хэлний үндэс болсон суурь ойлголтуудын нэг. Математикийн илэрхийллийг тооцооны алгоритм, аксиом, теорем, бодлогын нөхцлүүд гээд…

Нээгдсэн тоо : 86

 

Програм зохиох бол нарийн төвөгтэй ажил. Ямар ч програмын хувьд өөрийн хийх ажлаа гүйцэтгэхийн чацуу цаашдаа хөгжих, ажлын…

Нээгдсэн тоо : 75