Сочетание стиля с контентом не является запретным для многих. <div style = "border-left: thin solid # 0000ff"> Мне нечего сказать, и я это говорю </ div>
ctpenrose
15
@ctpenrose Это действительно не табу, но разделять их удобно, так как вы можете легко настроить их в одном месте, если это необходимо. Кроме того, размещение его в отдельном файле CSS повышает производительность, поскольку оно может кэшироваться браузером, и в конечном итоге вы передаете меньше байтов по проводам каждый раз, когда запрашиваете визуализированный HTML.
Крис ван дер Маст
235
Вы можете использовать горизонтальный тег правила для создания вертикальных линий.
Джулио, потому что он на самом деле не делит экран на две колонки. Опять же вам нужно использовать некоторые сотрудники CSS для желаемого результата, как и Div.
Исмаил Сахин
Мне это нравится больше, потому что это позволяет избежать странности наличия скрытого элемента div, у которого только одна сторона имеет видимую границу. Конечно, это не то, как вы обычно используете hr, но для меня это все еще имеет смысл.
Левининя
71
Вы можете использовать пустой <div>стиль, который будет выглядеть так, как вы хотите, чтобы появилась строка:
HTML:
<divclass="vertical-line"></div>
С точной высотой (перекрывающий стиль в строке):
div.vertical-line{width:1px;/* Line width */background-color: black;/* Line color */height:100%;/* Override in-line if you want specific height. */float: left;/* Causes the line to float to left of content.
You can instead use position:absolute or display:inline-block
if this fits better with your design */}
Отличный трюк, чтобы получить стиль линии так же, как стандарт <hr>. Возможно , также потребуется дополнительное моделирование с плавающей точкой на стороне контента (например: float:left;)
благоговение
Это «вертикальное» правило по-прежнему разделяет (текстовые) элементы по вертикали как нормальное горизонтальное правило.
Qwerty
20
Вертикального эквивалента этому <hr>элементу не существует. Однако один из подходов, которые вы можете попробовать, - это использовать простую границу слева или справа от того, что вы разделяете:
* Возможно, вам придется немного поиграться, display:inline-block|inlineпотому inlineчто не будет расширяться до высоты элемента. Используйте поле для центрирования линии внутри контейнера.
Печально об ограничениях, но это выглядит действительно очень полезным в некоторых других местах.
Смар
Это не заполнить все размер div, как исправить?
Отавио Баррето
1
@ OtávioBarreto Возможно, вам придется возиться с прокомментированным displayсвойством. Установите либо либо, inlineлибо inline-block. Смотрите примечания выше и пример URL.
Qwerty
9
Еще один вариант - использовать 1-пиксельное изображение и установить высоту - этот параметр позволит вам разместить его там, где вам нужно.
Я просто изменил значение «левого» пикселя, чтобы расположить его. (Я использовал вертикальную линию для размещения контента на своей веб-странице, а затем удалил ее.)
Чтобы создать вертикальную линию, центрированную внутри div, я думаю, вы можете использовать этот код. «Контейнер» вполне может иметь ширину 100%, я полагаю.
Если ваша цель - поместить вертикальные линии в контейнере для разделения соседних дочерних элементов (элементов столбцов), вы можете рассмотреть стилизацию контейнера следующим образом:
Это добавляет левую границу ко всем дочерним элементам, начиная со 2-го дочернего элемента. Другими словами, вы получаете вертикальные границы между соседними детьми.
Я думаю, что это лучше, чем простое .child-except-first {border-left: ...}правило, потому что более разумно, чтобы вертикальные линии исходили из правил контейнера, а не из правил различных дочерних элементов.
Будет ли это лучше, чем использование временного элемента вертикального правила (путем стилизации горизонтального правила и т. Д.), Будет зависеть от вашего варианта использования, но это по крайней мере альтернатива.
<svgheight="210"width="500"><linex1="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 и старше) не поддерживают его.
<divstyle="width:50%"><divstyle="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>
<divstyle="width:50%"><divstyle="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>
<vr>
Ответы:
Поместите
<div>
разметку там, где вы хотите, чтобы линия отображалась рядом, и используйте CSS для ее стилизации:источник
Вы можете использовать горизонтальный тег правила для создания вертикальных линий.
Используя минимальную ширину и большой размер, горизонтальное правило становится вертикальным.
источник
display:inline-block
иначе он не будет хорошо сидеть рядом с другими встроенными элементами.Вы можете использовать пустой
<div>
стиль, который будет выглядеть так, как вы хотите, чтобы появилась строка:HTML:
С точной высотой (перекрывающий стиль в строке):
Стиль границы, если вы хотите, чтобы 3D-вид:
Вы также можете поэкспериментировать с продвинутыми комбинациями:
источник
Вы также можете сделать вертикальную линию, используя горизонтальную линию HTML
<hr />
источник
<hr>
. Возможно , также потребуется дополнительное моделирование с плавающей точкой на стороне контента (например:float:left;
)Вертикального эквивалента этому
<hr>
элементу не существует. Однако один из подходов, которые вы можете попробовать, - это использовать простую границу слева или справа от того, что вы разделяете:источник
Пользовательские элементы HTML5 (или чистый CSS)
1. JavaScript
Зарегистрируйте свой элемент.
*
-
Обязательно для всех пользовательских элементов.2. CSS
* Возможно, вам придется немного поиграться,
display:inline-block|inline
потомуinline
что не будет расширяться до высоты элемента. Используйте поле для центрирования линии внутри контейнера.3. создать экземпляр
* К сожалению, вы не можете создавать собственные закрывающиеся теги.
использование
пример: http://html5.qry.me/vertical-rule
Не хотите связываться с JavaScript?
Просто примените этот класс CSS к вашему назначенному элементу.
CSS
* Смотри заметки выше.
источник
display
свойством. Установите либо либо,inline
либоinline-block
. Смотрите примечания выше и пример URL.Еще один вариант - использовать 1-пиксельное изображение и установить высоту - этот параметр позволит вам разместить его там, где вам нужно.
Не самое элегантное решение, хотя.
источник
Вы можете нарисовать вертикальную линию, просто используя высоту / ширину с любым элементом HTML.
источник
Нет тега для создания вертикальной линии в HTML.
Метод: Вы загружаете линейное изображение. Затем вы устанавливаете его стиль как
"height: 100px ; width: 2px"
Метод: вы можете использовать
<td>
теги<td style="border-left: 1px solid red; padding: 5px;"> X </td>
источник
Вы можете использовать тег hr (горизонтальная линия) и повернуть его на 90 градусов с помощью css ниже
http://jsfiddle.net/haykaghabekyan/0c969bm6/1/
источник
Я использовал предложенную комбинацию кода «hr», и вот как выглядит мой код:
Я просто изменил значение «левого» пикселя, чтобы расположить его. (Я использовал вертикальную линию для размещения контента на своей веб-странице, а затем удалил ее.)
источник
Чтобы создать вертикальную линию, центрированную внутри div, я думаю, вы можете использовать этот код. «Контейнер» вполне может иметь ширину 100%, я полагаю.
источник
Почему бы не использовать & # 124, который является специальным символом html для |
источник
Если ваша цель - поместить вертикальные линии в контейнере для разделения соседних дочерних элементов (элементов столбцов), вы можете рассмотреть стилизацию контейнера следующим образом:
Это добавляет левую границу ко всем дочерним элементам, начиная со 2-го дочернего элемента. Другими словами, вы получаете вертикальные границы между соседними детьми.
>
это дочерний селектор. Соответствует любому дочернему элементу элемента (ов), указанного слева.*
универсальный селектор Соответствует элементу любого типа.:not(:first-child)
означает, что это не первый ребенок своего родителя.Поддержка браузера: > *: first-child и : not ()
Я думаю, что это лучше, чем простое
.child-except-first {border-left: ...}
правило, потому что более разумно, чтобы вертикальные линии исходили из правил контейнера, а не из правил различных дочерних элементов.Будет ли это лучше, чем использование временного элемента вертикального правила (путем стилизации горизонтального правила и т. Д.), Будет зависеть от вашего варианта использования, но это по крайней мере альтернатива.
источник
Возможен еще один подход: использование SVG .
например:
Плюсы:
Минусы:
источник
Вертикальная линия справа от div
Вертикальная линия слева от дел
источник
Чтобы добавить вертикальную линию, вам нужно стилизовать час.
Теперь, когда вы делаете вертикальную линию, она появится в середине страницы:
Теперь, чтобы разместить его там, где вы хотите, вы можете использовать этот код:
Это позволит расположить его слева, вы можете перевернуть его, чтобы расположить его справа.
источник
Есть
<hr>
тег для горизонтальной линии. Он может быть использован с CSS, чтобы сделать горизонтальную линию также:Свойство width определяет толщину линии. Свойство height определяет длину строки. Свойство background-color определяет цвет линии.
источник
В предыдущем элементе, после которого вы хотите применить вертикальный ряд, вы можете установить CSS ...
источник
Поворот на
<hr>
90 градусов:источник
Для встроенного стиля я использовал этот код:
и это расположило его прямо в центре.
источник
Мне была нужна встроенная вертикальная линия, поэтому я обманул кнопку, чтобы стать линией.
источник
Это отлично сработало для меня
источник
Чтобы сделать вертикальную линию посередине, используйте:
источник