Ні, немає. І я розповім вам невелику історію про те, чому це не так. Але спочатку
швидкі рішення:
a) Використовуйте клас CSS для основних елементів span
/ div
, наприклад <span class="vr"></span>
:
.vr{
display: inline-block;
vertical-align: middle;
/* note that height must be precise, 100% does not work in some major browsers */
height: 100px;
width: 1px;
background-color: #000;
}
Демонстрація використання => https://jsfiddle.net/fe3tasa0/
b) Скористайтеся одностороннім кордоном та, можливо, :first-child
селектором CSS , якщо ви хочете застосувати загальні роздільники серед елементів брати / близнюка.
Історія про <vr>
FITTING в оригінальній парадигмі,
але все ще не існує:
Багато відповідей тут припускають, що вертикальний роздільник не відповідає оригінальній парадигмі / підходу HTML ... це абсолютно неправильно. Також відповіді дуже суперечать самі собі.
Ці ж люди, ймовірно, називають свій чіткий клас CSS "clearfix" - плаваючий нічого не може виправити, ви просто очищаєте його ... У HTML3 був навіть елемент: <clear>
. На жаль, це та очищення від плаваючого - одна з небагатьох поширених помилок.
Все одно. "Тоді" в "початкових століттях HTML" не було думки про щось подібне inline-block
, були просто blocks
, inlines
і tables
.
Останнє насправді є причиною, чому <vr>
його не існує.
Тоді було прийнято, що:
Якщо ви хочете вертикально розділити щось і / або зробити більше блоків зліва направо =>
=> ви
створюєте / хочете робити стовпці =>
=>, що означає, що ви створюєте таблицю =>
= > таблиці мають природні межі між їх клітинками => немає причин робити<vr>
Цей підхід насправді все ще діє, але як показав час, синтаксис, створений для таблиць, не підходить для кожного випадку, як і його стилі за замовчуванням.
Ще одним, мабуть пізніше, припущенням було те, що
якщо ви не створюєте таблицю, ви, ймовірно, плаваючі елементи блоку . Це означає , що вони стирчать
разом , і знову, ви
можете встановити кордон , і в ті дні , можливо , навіть використовувати
:first-child
селектор я запропонував вище ...