Полное отсутствие рамки

До сих пор мы говорили только о применении видимых стилей рамок, таких как solid или outset. Теперь посмотрим, что происходит, когда свойству border-style присваивается значение none:

p {margin: 5px; border-style: none; border-width: 20px;}

Ширина рамки равна 20px, однако для стиля задано значение none. В этом случае аннулируется не только стиль рамки, но и ее ширина. Рамка просто прекращает существование. Почему? Если помните, мы уже говорили, что рамка, имеющая стиль none, не существует. Эти слова были выбраны с большой тщательностью, потому что они помогают объяснить происходящее. Поскольку рамки не существует, она не может иметь ширины, так что ширине автоматически присваивается значение 0 (нуль) независимо от того, что вы пытаетесь задать. В конце концов, если стакан пуст, его нельзя описывать как наполовину ничем не заполненный. Можно обсуждать объем содержимого стакана, только если оно действительно в нем есть. Точно так же разговор о ширине рамки имеет смысл только в контексте существующей рамки.

Об этом важно помнить, потому что отсутствие объявления стиля рамки – очень распространенная ошибка. Это ведет к недовольству авторов, потому что на первый взгляд стили выглядят заданными правильно. Исходя из следующего правила ни один из элементов h1 вообще не будет иметь никакой рамки, не говоря уже о рамке шириной 20 пикселов:

h1 {border-width: 20px;}

По умолчанию свойство border-style имеет значение none, и отсутствие объявления стиля абсолютно аналогично объявлению border-style: none. Поэтому, если требуется, чтобы рамка появилась, надо объявить ее стиль.

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела CSS на эту тему:
Абсолютные значения и поля
Задание рамки одним свойством
Несколько стилей
Основные блоки элементов
Отрицательные и свернутые поля

Вернуться в раздел: CSS / 8. Отступы, рамки и поля