CSS / Border ба border-radius

Border ба border-radius

border нь элементийн хайрцагны хүрээ шугамыг тодорхойлно. Box model-д padding болон margin хоорондод байрладаг — өөрөөр хэлбэл элементийн нийт хэмжээнд нөлөөлнө.

border-ийн гурван үндсэн property

css
.box {
  border-width: 2px; /* зузаан */
  border-style: solid; /* хэлбэр */
  border-color: #1e293b; /* өнгө */
}

border-style утгууд

css
.solid {
  border-style: solid;
} /* тасралтгүй шугам */
.dashed {
  border-style: dashed;
} /* зуурмаг шугам */
.dotted {
  border-style: dotted;
} /* цэгэн шугам */
.double {
  border-style: double;
} /* давхар шугам */
.none {
  border-style: none;
} /* хүрээгүй */

Shorthand бичих арга

css
/* border: width style color */
.card {
  border: 1px solid #1e293b;
}

.btn-outline {
  border: 2px solid #a78bfa;
}

.input {
  border: 1px dashed #475569;
}

Тал тус бүрийг тохируулах

css
.highlight {
  border-top: 3px solid #a78bfa; /* зөвхөн дээд хүрээ */
  border-right: none;
  border-bottom: 1px solid #1e293b;
  border-left: 4px solid #60a5fa; /* зөвхөн зүүн хүрээ */
}

Зүүн тал онцолсон карт — нийтлэг UI загвар:

css
.alert {
  border: 1px solid #1e293b;
  border-left: 4px solid #a78bfa; /* нил ягаан зүүн зурвас */
  padding: 16px 20px;
  border-radius: 8px;
  background-color: #0f172a;
}

border-radius — булан дугуйлах

css
/* Дөрвөн булан ижил */
.card {
  border-radius: 8px;
}

/* Тал тус бүрийг тохируулах */
.custom {
  border-top-left-radius: 16px;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 16px;
  border-bottom-left-radius: 4px;
}

/* Shorthand: top-left  top-right  bottom-right  bottom-left */
.custom {
  border-radius: 16px 4px 16px 4px;
}

/* Тойрог болгох */
.avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%; /* бүхэлдээ тойрог */
  overflow: hidden;
}

/* Pill хэлбэр */
.badge {
  border-radius: 9999px; /* маш том утга = pill */
  padding: 4px 12px;
}

border-ийн дэлгэрэнгүй тохируулга

css
.fancy {
  /* Өнгийг тусад нь тохируулж болно */
  border-color: #1e293b #a78bfa #1e293b #60a5fa;
  /* дээд  баруун  доод  зүүн */
}

/* Gradient border — background-clip ашиглан */
.gradient-border {
  border: 2px solid transparent;
  background-clip: padding-box;
  background-color: #0f172a;
  position: relative;
}

outline vs border

outline нь border-тай төстэй ч чухал ялгаатай:

css
.btn {
  border: 2px solid #a78bfa; /* box model-д нөлөөлнө, зай эзэлнэ */
  outline: none; /* анхдагч outline-г арилгах */
}

/* Accessibility: focus үед outline хэзээ ч бүрэн арилгаж болохгүй */
.btn:focus-visible {
  outline: 2px solid #a78bfa; /* box model-д нөлөөлөхгүй */
  outline-offset: 2px; /* элементээс зай авах */
}

| | border | outline | | ----------- | -------- | ------------------- | | Box model | Нөлөөлнө | Нөлөөлөхгүй | | Тал тус бүр | Тийм | Үгүй | | Анимэйшн | Тийм | Тийм | | Хэрэглээ | Дизайн | Accessibility focus |

Практик жишээ

css
/* Карт */
.card {
  background-color: #0f172a;
  border: 1px solid #1e293b;
  border-radius: 12px;
  padding: 24px;
}

.card:hover {
  border-color: #a78bfa; /* hover дээр нил ягаан болох */
}

/* Товч */
.btn-outline {
  border: 1px solid #a78bfa;
  border-radius: 6px;
  background-color: transparent;
  color: #a78bfa;
  padding: 10px 20px;
  cursor: pointer;
}

.btn-outline:hover {
  background-color: rgba(167, 139, 250, 0.1);
}

/* Оролтын талбар */
.input {
  border: 1px solid #1e293b;
  border-radius: 6px;
  background-color: #0f172a;
  color: #f1f5f9;
  padding: 10px 14px;
  width: 100%;
}

.input:focus {
  outline: none;
  border-color: #a78bfa;
}

Дараагийн хичээлд:

display property-ийн бүх утгыг судална — block, inline, inline-block, none ямар ялгаатай болох, элемент бүрийн анхдагч display утга юу болох, visibility: hidden болон display: none-ийн ялгааг практикаар авч үзнэ.