გამოიწერე YouTube-ის არხიyoutube logoგამოწერა
CSS-ის ერთეულები rem და em

CSS-ის ერთეულები rem და em

საკმაოდ ბევრი დამწყები დეველოპერისთვის გაურკვეველია CSS-ის ამ ორი ერთეულის მნიშვნელობა, ესენია rem და em საზომი ერთეულები, დღევანდელ ბლოგში გავარკვევთ თუ რა განსხვავებაა ამ ორ ერთეულს შორის და რატომაა საჭირო მათი თვისებების ცოდნა.

მოცემული ერთეულები ძირითადად გამოიყენება font-size, margin, padding და კიდევ სხვა თვისებების ზომებისთვის.

em ერთეული

განვიხილოთ em ზომის ერთეული. ეს ერთეული გამოითვლება მისი მშობელი ელემენტის შრიფტის ზომის მიხედვით ანუ font-size-ით, ხოლო თუ მის მშობელს არ აქვს განსაზღვრული font-size თვისება, დოკუმენტის ხეში მიყვება მშობლის შემდეგ ყველა წინაპარ ელემენტს.

იმ შემთხვევაში თუ მის არცერთ წინაპარს არ ქონდა ფონტის ზომა გაწერილი, აიღებს ბრაუზერის ე.წ. საწყისი მნიშვნელობის font-size-ს, რომელიც როგორც წესი 16px-ია

თუ მშობელი ელემენტის font-size თვისების მნიშვნელობა არის 16px, მაშინ 1em = 16px-ის.

მაგალითი:

/* მშობელი ელემენტის ფონტის ზომა 16px */
.parent {
  font-size: 16px;
}

.child {
  font-size: 1.5em; /* 1.5 * 16px = 24px */
}

როგორც მაგალითშია მოყვანილი ვინაიდან .parent ელემენტის font-size არის 16px, 1em იქნება ასევე 16px-ის ზომის, ხოლო თუ .parent ელემენტი იქნებოდა 20px, 1em იქნებოდა 20px-ის ტოლი და ასე შემდეგ.


rem ერთეული

გავნიხილოთ rem საზომი ერთეული. მოცემული ერთეული მუშაობს em ერთეულის მსგავსად, უბრალოდ ის დამოკიდებულია არა მის უშუალო მშობელზე არამედ ეგრედ წოდებულ root ელემენტზე, რომელიც html-ში წარმოადგენს <html> თეგს.

მაგალითი:

html {
  font-size: 16px; /* Default browser size */
}

h1 {
  font-size: 2rem; /* 2 * 16px = 32px */
}

rem ერთეულის ზომაც მუშაობს ანალოგიურად, როგორც em განსხვავება მხოლოდ იმაშია, რომ მისი ზომა გამოითვლება აუცილებლად root ელემენტიდან.

თუ ზემოთ მოყვანილ მაგალითს გავარჩევთ, ვინადიან html ელემენტის ზომა არის 16px, 1rem იქნება 16px, ხოლო 2rem 16*2-ზე რაც 32px-ს წარმოადგენს.


რაში გვჭირდება ამ ერთეულების გამოყენება?

მოცემული ერთეულები ძირითადად გამოიყენება ადაპტირებული ვებ-გვერდებში.

იმის მაგივრად, რომ ყველა ჩვენს მიერ განსაზღვრულ ელემენტს ცაცლ-ცალკე გავუწეროთ ზომები, მარტივად მაგალითად root ელემენტის ზომების შეცვლით შეგვიძლია ვცვალოთ მთელი დიზაინი.

HTML:

<button class="btn">Click Me</button>

CSS:

html {
  font-size: 16px;
}

.btn {
  font-size: 1rem; /* 16px */
  padding: 0.5rem 1rem; /* 8px top/bottom, 16px left/right */
}

@media (max-width: 768px) {
  html {
    font-size: 14px; /* Smaller font size */
  }
}

@media (max-width: 480px) {
  html {
    font-size: 12px; /* Smallest font size */
  }
}

პროგრამირების კურსები

უახლესი ბლოგები პროგრამირებაზე

CSS-ის ერთეულებ...

CSS-ის ერთეულები rem და em

რა არის Fronten...

რა არის Frontend დეველოპმენტი?

VS Code-ის ტოპ ...

VS Code-ის ტოპ 8 ღილაკების კომბინაცია (shortcuts)

მითები პროგრამი...

მითები პროგრამირებაზე