W3docs

Свойство CSS border-width

CSS border-width — сокращённое свойство для задания ширины четырёх сторон рамки элемента. Примеры и интерактивный редактор.

Свойство CSS border-width задаёт ширину (толщину) рамки элемента. Это сокращённая запись, применяющаяся сразу ко всем четырём сторонам, и она является компонентом ширины в более общем сокращённом свойстве border.

Каждую сторону можно задать отдельно с помощью длинных свойств:

Информация

Рамка отображается только тогда, когда border-style отличается от значения по умолчанию none. Если задать border-width без стиля рамки, рамка останется невидимой — именно в этом чаще всего кроется причина того, что рамка «не работает».

Как сокращённая запись распределяет значения по сторонам

border-width принимает от одного до четырёх значений, и их количество определяет, к каким сторонам они применяются:

Заданные значенияВерхПравоНизЛево
border-width: aaaaa
border-width: a babab
border-width: a b cabcb
border-width: a b c dabcd

Форма с четырьмя значениями следует порядку по часовой стрелке верх → право → низ → лево, который используется во всех сокращённых свойствах блочной модели CSS (тот же порядок, что у margin и padding).

Каждое значение — это <line-width>: либо единица длины (px, em, rem и т. д.), либо одно из ключевых слов thin, medium или thick. Процентные значения не допускаются.

Начальное значениеmedium
НаследуетсяНет
АнимируетсяДа. Ширина рамки поддаётся анимации.
ВерсияCSS1
Синтаксис JavaScriptobject.style.borderWidth = "1px 5px";

Синтаксис

border-width: <line-width>{1,4} | initial | inherit;

Одно значение (все четыре стороны)

<!DOCTYPE html>
<html>
  <head>
    <style>
      p {
        border-style: solid;
        border-width: 1px;
        padding: 5px;
      }
    </style>
  </head>
  <body>
    <p>This paragraph's border width is set to 1px.</p>
  </body>
</html>

Разная ширина для каждой стороны

Здесь все три размера ключевых слов сравниваются рядом, а также показан блок с четырьмя значениями, где каждый край имеет разную толщину.

<!DOCTYPE html>
<html>
  <head>
    <style>
      p {
        color: #666;
        padding: 5px;
        border-style: solid;
      }
      .thin {
        border-width: 1px;
      }
      .medium {
        border-width: medium;
      }
      .thick {
        border-width: 10px;
      }
      .mixed {
        /* top right bottom left */
        border-width: 2px 8px 12px 24px;
      }
    </style>
  </head>
  <body>
    <p class="thin">This paragraph's border width is set to 1px.</p>
    <p class="medium">This paragraph's border width is set to medium.</p>
    <p class="thick">This paragraph's border width is set to 10px.</p>
    <p class="mixed">Each side has its own width: 2px 8px 12px 24px.</p>
  </body>
</html>

Результат

Свойство CSS border-width

Ключевые слова и единицы длины: когда что использовать

  • Используйте единицы длины (px, em, rem), когда нужна точная, предсказуемая толщина — это стандартный подход в реальных макетах.
  • Используйте ключевые слова thin, medium и thick, когда точное значение в пикселях не важно и вы готовы доверить выбор браузеру. Они соответствуют небольшим, определяемым браузером значениям в пикселях (приблизительно 1px, 3px и 5px в большинстве браузеров, однако спецификация не фиксирует их).
  • medium — это начальное значение, поэтому у элемента с border-style: solid и без border-width уже отображается рамка средней ширины.

Отрицательные значения недопустимы и приводят к тому, что всё объявление игнорируется.

Значения

ЗначениеОписаниеПопробовать
mediumЗадаёт рамку средней толщины. Это значение по умолчанию. (Относительное ключевое слово с определяемыми браузером значениями в пикселях.)Попробовать »
thinЗадаёт тонкую рамку.Попробовать »
thickЗадаёт толстую рамку.Попробовать »
lengthОпределяет толщину рамки.Попробовать »
initialУстанавливает свойство в значение по умолчанию.Попробовать »
inheritНаследует свойство от родительского элемента.

Практика

Практика
Какие из следующих значений можно использовать для задания ширины рамок CSS?
Какие из следующих значений можно использовать для задания ширины рамок CSS?
Was this page helpful?