Как сделать вертикальную линию в HTML - PullRequest
314 голосов
/ 30 июня 2010

Как сделать вертикальную линию, используя HTML?

Ответы [ 21 ]

4 голосов
/ 21 января 2014

Чтобы создать вертикальную линию по центру внутри div, я думаю, вы можете использовать этот код. Полагаю, «контейнер» вполне может иметь ширину 100%.

div.container {
  width: 400px;
}

div.vertical-line {
  border-left: 1px solid #808080;
  height: 350px;
  margin-left: auto;
  margin-right: auto;
  width: 1px;
}
<div class="container">
  <div class="vertical-line">&nbsp;</div>
</div>
3 голосов
/ 27 апреля 2018

Вертикальная линия справа от div

    <div style="width:50%">
        <div style="border-right:1px solid;">
            <ul>
                <li>
                    Empty div didn't shows line
                </li>
                <li>
                    Vertical line length depends on the content in the div
                </li>
                <li>
                    Here I am using inline style. You can replace it by external style or internal style.
                </li>
            </ul>
        </div>
    </div>
  

Вертикальная линия слева от div

    <div style="width:50%">
        <div style="border-left:1px solid;">
            <ul>
                <li>
                    Empty div didn't shows line
                </li>
                <li>
                    Vertical line length depends on the content in the div
                </li>
                <li>
                    Here I am using inline style. You can replace it by external style or internal style.
                </li>
            </ul>
        </div>
    </div>
  
3 голосов
/ 30 марта 2016

Вы можете нарисовать вертикальную линию, просто используя высоту / ширину с любым элементом HTML.

#verticle-line {
  width: 1px;
  min-height: 400px;
  background: red;
}
<div id="verticle-line"></div>
3 голосов
/ 16 февраля 2016

Возможен еще один подход: использование SVG .

например:

<svg height="210" width="500">
    <line x1="0" y1="0" x2="0" y2="100" style="stroke:rgb(255,0,0);stroke-width:2" />
      Sorry, your browser does not support inline SVG.
</svg>

Плюсы:

  • Вы можете иметь строкулюбой длины и ориентации.
  • Вы можете легко указать ширину и цвет

Минусы:

  • SVG теперь поддерживаются в большинстве современных браузеров.Но некоторые старые браузеры (например, IE 8 и старше) не поддерживают его.
3 голосов
/ 02 января 2016

Если ваша цель - поместить вертикальные линии в контейнере для разделения соседних дочерних элементов (элементов столбцов), вы можете рассмотреть стилизацию контейнера следующим образом:

.container > *:not(:first-child) {
  border-left: solid gray 2px;
}

Это добавляет левуюограничить все дочерние элементы, начиная со 2-го дочернего элемента.Другими словами, вы получаете вертикальные границы между соседними дочерними элементами.

  • > является дочерним селектором.Он соответствует любому потомку элемента (ов), указанных слева.
  • * - универсальный селектор.Он соответствует элементу любого типа.
  • :not(:first-child) означает, что это не первый дочерний элемент его родителя.

Поддержка браузера: > *: first-child и : not ()

Я думаю, что это лучше, чем простое правило .child-except-first {border-left: ...}, потому что более разумно, чтобы вертикальные линии исходили из правил контейнера, а не из разныхправила дочерних элементов.

Будет ли это лучше, чем использование временного элемента вертикального правила (путем стилизации горизонтального правила и т. д.), будет зависеть от вашего варианта использования, но, по крайней мере, это альтернатива.

3 голосов
/ 29 апреля 2013

Почему бы не использовать |, который является специальным символом html для |

2 голосов
/ 31 июля 2013

Чтобы добавить вертикальную линию, вам нужно ввести час.

Теперь, когда вы делаете вертикальную линию, она появится в середине страницы:

<hr style="width:0.5px;height:500px;"/>

Теперь, чтобы разместить его там, где вы хотите, вы можете использовать этот код:

<hr style="width:0.5px;height:500px;margin-left:-500px;margin-right:500px;"/>

Это поместит его влево, вы можете перевернуть его, чтобы расположить его вправо.

1 голос
/ 23 марта 2016

В предыдущем элементе, после которого вы хотите применить вертикальный ряд, вы можете установить CSS ...

border-right-width: thin;
border-right-color: black;
border-right-style: solid;
0 голосов
/ 06 июля 2019

Поворот на <hr> 90 градусов:

<hr style="width:100px; transform:rotate(90deg);">
0 голосов
/ 25 мая 2016

Для встроенного стиля я использовал этот код:

<div style="border-left:1px black solid; position:absolute; left:50%; height:300px;" />

и это расположило его прямо в центре.

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